From e1f20cd207fcc9a68ed3d3a44c013648ededab39 Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Thu, 3 Nov 2022 08:57:43 -0400 Subject: [PATCH 01/55] added an implementation of two dynamic prefabs usage strategies --- .../Assets/AddressableAssetsData.meta | 8 + .../AddressableAssetSettings.asset | 105 + .../AddressableAssetSettings.asset.meta | 8 + .../AssetGroupTemplates.meta | 8 + .../AssetGroupTemplates/Packed Assets.asset | 76 + .../Packed Assets.asset.meta | 8 + .../AddressableAssetsData/AssetGroups.meta | 8 + .../AssetGroups/Built In Data.asset | 32 + .../AssetGroups/Built In Data.asset.meta | 8 + .../AssetGroups/Default Local Group.asset | 29 + .../Default Local Group.asset.meta | 8 + .../AssetGroups/Schemas.meta | 8 + .../Built In Data_PlayerDataGroupSchema.asset | 17 + ...t In Data_PlayerDataGroupSchema.asset.meta | 8 + ... Local Group_BundledAssetGroupSchema.asset | 45 + ...l Group_BundledAssetGroupSchema.asset.meta | 8 + ...Local Group_ContentUpdateGroupSchema.asset | 16 + ... Group_ContentUpdateGroupSchema.asset.meta | 8 + .../AddressableAssetsData/DataBuilders.meta | 8 + .../DataBuilders/BuildScriptFastMode.asset | 20 + .../BuildScriptFastMode.asset.meta | 8 + .../DataBuilders/BuildScriptPackedMode.asset | 20 + .../BuildScriptPackedMode.asset.meta | 8 + .../BuildScriptPackedPlayMode.asset | 20 + .../BuildScriptPackedPlayMode.asset.meta | 8 + .../DataBuilders/BuildScriptVirtualMode.asset | 20 + .../BuildScriptVirtualMode.asset.meta | 8 + .../AddressableAssetsData/DefaultObject.asset | 15 + .../DefaultObject.asset.meta | 8 + Basic/DyanmicPrefabs/Assets/Prefabs.meta | 8 + Basic/DyanmicPrefabs/Assets/Prefabs/Black.mat | 80 + .../Assets/Prefabs/Black.mat.meta | 8 + .../Assets/Prefabs/DynamicPrefabTest.prefab | 176 + .../Prefabs/DynamicPrefabTest.prefab.meta | 7 + Basic/DyanmicPrefabs/Assets/Scenes.meta | 8 + .../Assets/Scenes/00_Preloading.unity | 479 + .../Assets/Scenes/00_Preloading.unity.meta | 7 + .../Scenes/01_SparseLoadingNoLatejoin.unity | 908 ++ .../01_SparseLoadingNoLatejoin.unity.meta | 3 + Basic/DyanmicPrefabs/Assets/Scripts.meta | 8 + ...l prefabs are added before connection.meta | 8 + .../PreloadingSample.cs | 40 + .../PreloadingSample.cs.meta | 11 + .../01_Sparse loading with no latejoin.meta | 3 + .../SparseLoadingNoLatejoinSample.cs | 132 + .../SparseLoadingNoLatejoinSample.cs.meta | 3 + .../Assets/Scripts/NetworkManagerHud.cs | 119 + .../Assets/Scripts/NetworkManagerHud.cs.meta | 11 + Basic/DyanmicPrefabs/Assets/TextMesh Pro.meta | 8 + .../Assets/TextMesh Pro/Documentation.meta | 8 + .../TextMesh Pro User Guide 2016.pdf | Bin 0 -> 694398 bytes .../TextMesh Pro User Guide 2016.pdf.meta | 7 + .../Assets/TextMesh Pro/Fonts.meta | 8 + .../Fonts/LiberationSans - OFL.txt | 46 + .../Fonts/LiberationSans - OFL.txt.meta | 8 + .../TextMesh Pro/Fonts/LiberationSans.ttf | Bin 0 -> 350200 bytes .../Fonts/LiberationSans.ttf.meta | 19 + .../Assets/TextMesh Pro/Resources.meta | 8 + .../Resources/Fonts & Materials.meta | 9 + .../LiberationSans SDF - Drop Shadow.mat | 106 + .../LiberationSans SDF - Drop Shadow.mat.meta | 8 + .../LiberationSans SDF - Fallback.asset | 343 + .../LiberationSans SDF - Fallback.asset.meta | 8 + .../LiberationSans SDF - Outline.mat | 104 + .../LiberationSans SDF - Outline.mat.meta | 8 + .../LiberationSans SDF.asset | 7821 +++++++++++++++++ .../LiberationSans SDF.asset.meta | 8 + .../LineBreaking Following Characters.txt | 1 + ...LineBreaking Following Characters.txt.meta | 8 + .../LineBreaking Leading Characters.txt | 1 + .../LineBreaking Leading Characters.txt.meta | 8 + .../TextMesh Pro/Resources/Sprite Assets.meta | 9 + .../Resources/Sprite Assets/EmojiOne.asset | 659 ++ .../Sprite Assets/EmojiOne.asset.meta | 8 + .../TextMesh Pro/Resources/Style Sheets.meta | 9 + .../Style Sheets/Default Style Sheet.asset | 68 + .../Default Style Sheet.asset.meta | 8 + .../TextMesh Pro/Resources/TMP Settings.asset | 46 + .../Resources/TMP Settings.asset.meta | 8 + .../Assets/TextMesh Pro/Shaders.meta | 8 + .../Shaders/TMP_Bitmap-Custom-Atlas.shader | 143 + .../TMP_Bitmap-Custom-Atlas.shader.meta | 9 + .../Shaders/TMP_Bitmap-Mobile.shader | 145 + .../Shaders/TMP_Bitmap-Mobile.shader.meta | 9 + .../TextMesh Pro/Shaders/TMP_Bitmap.shader | 143 + .../Shaders/TMP_Bitmap.shader.meta | 9 + .../Shaders/TMP_SDF Overlay.shader | 317 + .../Shaders/TMP_SDF Overlay.shader.meta | 9 + .../TextMesh Pro/Shaders/TMP_SDF SSD.shader | 310 + .../Shaders/TMP_SDF SSD.shader.meta | 9 + .../Shaders/TMP_SDF-Mobile Masking.shader | 247 + .../TMP_SDF-Mobile Masking.shader.meta | 9 + .../Shaders/TMP_SDF-Mobile Overlay.shader | 240 + .../TMP_SDF-Mobile Overlay.shader.meta | 9 + .../Shaders/TMP_SDF-Mobile SSD.shader | 106 + .../Shaders/TMP_SDF-Mobile SSD.shader.meta | 9 + .../Shaders/TMP_SDF-Mobile.shader | 240 + .../Shaders/TMP_SDF-Mobile.shader.meta | 9 + .../Shaders/TMP_SDF-Surface-Mobile.shader | 138 + .../TMP_SDF-Surface-Mobile.shader.meta | 9 + .../Shaders/TMP_SDF-Surface.shader | 158 + .../Shaders/TMP_SDF-Surface.shader.meta | 9 + .../TextMesh Pro/Shaders/TMP_SDF.shader | 317 + .../TextMesh Pro/Shaders/TMP_SDF.shader.meta | 9 + .../TextMesh Pro/Shaders/TMP_Sprite.shader | 116 + .../Shaders/TMP_Sprite.shader.meta | 9 + .../Assets/TextMesh Pro/Shaders/TMPro.cginc | 84 + .../TextMesh Pro/Shaders/TMPro.cginc.meta | 9 + .../TextMesh Pro/Shaders/TMPro_Mobile.cginc | 157 + .../Shaders/TMPro_Mobile.cginc.meta | 9 + .../Shaders/TMPro_Properties.cginc | 85 + .../Shaders/TMPro_Properties.cginc.meta | 9 + .../TextMesh Pro/Shaders/TMPro_Surface.cginc | 101 + .../Shaders/TMPro_Surface.cginc.meta | 9 + .../Assets/TextMesh Pro/Sprites.meta | 8 + .../Sprites/EmojiOne Attribution.txt | 3 + .../Sprites/EmojiOne Attribution.txt.meta | 7 + .../Assets/TextMesh Pro/Sprites/EmojiOne.json | 156 + .../TextMesh Pro/Sprites/EmojiOne.json.meta | 8 + .../Assets/TextMesh Pro/Sprites/EmojiOne.png | Bin 0 -> 112319 bytes .../TextMesh Pro/Sprites/EmojiOne.png.meta | 431 + Basic/DyanmicPrefabs/Packages/manifest.json | 49 + .../Packages/packages-lock.json | 515 ++ .../ProjectSettings/AudioManager.asset | 19 + .../ProjectSettings/ClusterInputManager.asset | 6 + .../ProjectSettings/DynamicsManager.asset | 34 + .../ProjectSettings/EditorBuildSettings.asset | 15 + .../ProjectSettings/EditorSettings.asset | 30 + .../ProjectSettings/GraphicsSettings.asset | 63 + .../ProjectSettings/InputManager.asset | 295 + .../ProjectSettings/MemorySettings.asset | 35 + .../ProjectSettings/NavMeshAreas.asset | 91 + .../PackageManagerSettings.asset | 35 + .../Settings.json | 7 + .../ProjectSettings/Physics2DSettings.asset | 56 + .../ProjectSettings/PresetManager.asset | 7 + .../ProjectSettings/ProjectSettings.asset | 711 ++ .../ProjectSettings/ProjectVersion.txt | 2 + .../ProjectSettings/QualitySettings.asset | 232 + .../SceneTemplateSettings.json | 167 + .../ProjectSettings/TagManager.asset | 43 + .../ProjectSettings/TimeManager.asset | 9 + .../UnityConnectSettings.asset | 35 + .../ProjectSettings/VFXManager.asset | 12 + .../VersionControlSettings.asset | 8 + .../ProjectSettings/XRSettings.asset | 10 + .../ProjectSettings/boot.config | 0 147 files changed, 18237 insertions(+) create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData.meta create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AddressableAssetSettings.asset create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AddressableAssetSettings.asset.meta create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroupTemplates.meta create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroupTemplates/Packed Assets.asset create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroupTemplates/Packed Assets.asset.meta create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups.meta create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Built In Data.asset create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Built In Data.asset.meta create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset.meta create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas.meta create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Built In Data_PlayerDataGroupSchema.asset create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Built In Data_PlayerDataGroupSchema.asset.meta create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_BundledAssetGroupSchema.asset create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_BundledAssetGroupSchema.asset.meta create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset.meta create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders.meta create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptFastMode.asset create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptFastMode.asset.meta create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedMode.asset create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedMode.asset.meta create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedPlayMode.asset create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedPlayMode.asset.meta create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptVirtualMode.asset create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptVirtualMode.asset.meta create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DefaultObject.asset create mode 100644 Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DefaultObject.asset.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/Black.mat create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/Black.mat.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest.prefab create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest.prefab.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scenes.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading.unity create mode 100644 Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading.unity.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity create mode 100644 Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/NetworkManagerHud.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/NetworkManagerHud.cs.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Documentation.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Fonts.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Fonts/LiberationSans.ttf create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Sprite Assets.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Style Sheets.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/TMP Settings.asset create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/TMP Settings.asset.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF.shader create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF.shader.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro.cginc create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro.cginc.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites/EmojiOne.json create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites/EmojiOne.json.meta create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites/EmojiOne.png create mode 100755 Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites/EmojiOne.png.meta create mode 100644 Basic/DyanmicPrefabs/Packages/manifest.json create mode 100644 Basic/DyanmicPrefabs/Packages/packages-lock.json create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/AudioManager.asset create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/ClusterInputManager.asset create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/DynamicsManager.asset create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/EditorSettings.asset create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/GraphicsSettings.asset create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/InputManager.asset create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/MemorySettings.asset create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/NavMeshAreas.asset create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/PackageManagerSettings.asset create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/Physics2DSettings.asset create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/PresetManager.asset create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/ProjectSettings.asset create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/ProjectVersion.txt create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/QualitySettings.asset create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/SceneTemplateSettings.json create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/TagManager.asset create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/TimeManager.asset create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/UnityConnectSettings.asset create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/VFXManager.asset create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/VersionControlSettings.asset create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/XRSettings.asset create mode 100644 Basic/DyanmicPrefabs/ProjectSettings/boot.config diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData.meta b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData.meta new file mode 100644 index 000000000..4f7fc9d9b --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 22077c3838cc042d5b0af5b1c3eb0a25 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AddressableAssetSettings.asset b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AddressableAssetSettings.asset new file mode 100644 index 000000000..dfd58117e --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AddressableAssetSettings.asset @@ -0,0 +1,105 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 468a46d0ae32c3544b7d98094e6448a9, type: 3} + m_Name: AddressableAssetSettings + m_EditorClassIdentifier: + m_DefaultGroup: ddcc0dd3c2e3149309486ece76cf498a + m_CachedHash: + serializedVersion: 2 + Hash: 00000000000000000000000000000000 + m_OptimizeCatalogSize: 0 + m_BuildRemoteCatalog: 0 + m_BundleLocalCatalog: 0 + m_CatalogRequestsTimeout: 0 + m_DisableCatalogUpdateOnStart: 0 + m_IgnoreUnsupportedFilesInBuild: 0 + m_UniqueBundleIds: 0 + m_NonRecursiveBuilding: 1 + m_CCDEnabled: 0 + m_maxConcurrentWebRequests: 500 + m_ContiguousBundles: 1 + m_StripUnityVersionFromBundleBuild: 0 + m_DisableVisibleSubAssetRepresentations: 0 + m_ShaderBundleNaming: 0 + m_ShaderBundleCustomNaming: + m_MonoScriptBundleNaming: 0 + m_MonoScriptBundleCustomNaming: + m_RemoteCatalogBuildPath: + m_Id: + m_RemoteCatalogLoadPath: + m_Id: + m_ContentStateBuildPath: + m_BuildAddressablesWithPlayerBuild: 0 + m_overridePlayerVersion: + m_GroupAssets: + - {fileID: 11400000, guid: 4bbc2ada2ba60435f91762231964eb25, type: 2} + - {fileID: 11400000, guid: 897b1409d53154034b6a05860f1e6b4f, type: 2} + m_BuildSettings: + m_CompileScriptsInVirtualMode: 0 + m_CleanupStreamingAssetsAfterBuilds: 1 + m_LogResourceManagerExceptions: 1 + m_BundleBuildPath: Temp/com.unity.addressables/AssetBundles + m_ProfileSettings: + m_Profiles: + - m_InheritedParent: + m_Id: a4b90b0a8cc424e7da02d4d3e55d4c22 + m_ProfileName: Default + m_Values: + - m_Id: 42e357a6791bc4ae1babce0c6d730d4b + m_Value: '[UnityEditor.EditorUserBuildSettings.activeBuildTarget]' + - m_Id: 33af78b843da944489448f41af32c66a + m_Value: '[UnityEngine.AddressableAssets.Addressables.BuildPath]/[BuildTarget]' + - m_Id: 15a3422a5bd3d437ea3dcecc042cfb31 + m_Value: '{UnityEngine.AddressableAssets.Addressables.RuntimePath}/[BuildTarget]' + - m_Id: fe74951be5c66486e92421ce17bda605 + m_Value: ServerData/[BuildTarget] + - m_Id: 16db9ee51233d4dcc93f75ac164266f5 + m_Value: http://[PrivateIpAddress]:[HostingServicePort] + m_ProfileEntryNames: + - m_Id: 42e357a6791bc4ae1babce0c6d730d4b + m_Name: BuildTarget + m_InlineUsage: 0 + - m_Id: 33af78b843da944489448f41af32c66a + m_Name: Local.BuildPath + m_InlineUsage: 0 + - m_Id: 15a3422a5bd3d437ea3dcecc042cfb31 + m_Name: Local.LoadPath + m_InlineUsage: 0 + - m_Id: fe74951be5c66486e92421ce17bda605 + m_Name: Remote.BuildPath + m_InlineUsage: 0 + - m_Id: 16db9ee51233d4dcc93f75ac164266f5 + m_Name: Remote.LoadPath + m_InlineUsage: 0 + m_ProfileVersion: 1 + m_LabelTable: + m_LabelNames: + - default + m_SchemaTemplates: [] + m_GroupTemplateObjects: + - {fileID: 11400000, guid: 91a93decb448d4d51b591a8c15ea2e17, type: 2} + m_InitializationObjects: [] + m_CertificateHandlerType: + m_AssemblyName: + m_ClassName: + m_ActivePlayerDataBuilderIndex: 3 + m_DataBuilders: + - {fileID: 11400000, guid: b3b595ddb85c143cb9ccd245a2bcddc1, type: 2} + - {fileID: 11400000, guid: 2bd2714d617ac48c9961fda53af2ae0f, type: 2} + - {fileID: 11400000, guid: 724d64d7e32614fe89b435597b3d69ca, type: 2} + - {fileID: 11400000, guid: 82d09a1d0170f461b94b084e30c591d3, type: 2} + m_ActiveProfileId: a4b90b0a8cc424e7da02d4d3e55d4c22 + m_HostingServicesManager: + m_HostingServiceInfos: [] + m_Settings: {fileID: 11400000} + m_NextInstanceId: 0 + m_RegisteredServiceTypeRefs: [] diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AddressableAssetSettings.asset.meta b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AddressableAssetSettings.asset.meta new file mode 100644 index 000000000..3f74437ed --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AddressableAssetSettings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eba030a8967cd41c2b351a2d35a779c2 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroupTemplates.meta b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroupTemplates.meta new file mode 100644 index 000000000..406e98ec2 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroupTemplates.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f67dd2e1c31f34f0b8df2d861b8e194d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroupTemplates/Packed Assets.asset b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroupTemplates/Packed Assets.asset new file mode 100644 index 000000000..44ae5fa72 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroupTemplates/Packed Assets.asset @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-2333981389699923654 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e5d17a21594effb4e9591490b009e7aa, type: 3} + m_Name: BundledAssetGroupSchema + m_EditorClassIdentifier: + m_Group: {fileID: 0} + m_InternalBundleIdMode: 1 + m_Compression: 1 + m_IncludeAddressInCatalog: 1 + m_IncludeGUIDInCatalog: 1 + m_IncludeLabelsInCatalog: 1 + m_InternalIdNamingMode: 0 + m_CacheClearBehavior: 0 + m_IncludeInBuild: 1 + m_BundledAssetProviderType: + m_AssemblyName: + m_ClassName: + m_ForceUniqueProvider: 0 + m_UseAssetBundleCache: 1 + m_UseAssetBundleCrc: 1 + m_UseAssetBundleCrcForCachedBundles: 1 + m_UseUWRForLocalBundles: 0 + m_Timeout: 0 + m_ChunkedTransfer: 0 + m_RedirectLimit: -1 + m_RetryCount: 0 + m_BuildPath: + m_Id: + m_LoadPath: + m_Id: + m_BundleMode: 0 + m_AssetBundleProviderType: + m_AssemblyName: + m_ClassName: + m_BundleNaming: 0 + m_AssetLoadMode: 0 +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1a3c5d64ac83548c09dd1678b9f6f1cd, type: 3} + m_Name: Packed Assets + m_EditorClassIdentifier: + m_SchemaObjects: + - {fileID: -2333981389699923654} + - {fileID: 8439535091112053196} + m_Description: Pack assets into asset bundles. + m_Settings: {fileID: 0} +--- !u!114 &8439535091112053196 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5834b5087d578d24c926ce20cd31e6d6, type: 3} + m_Name: ContentUpdateGroupSchema + m_EditorClassIdentifier: + m_Group: {fileID: 0} + m_StaticContent: 0 diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroupTemplates/Packed Assets.asset.meta b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroupTemplates/Packed Assets.asset.meta new file mode 100644 index 000000000..0bd0432ec --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroupTemplates/Packed Assets.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 91a93decb448d4d51b591a8c15ea2e17 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups.meta b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups.meta new file mode 100644 index 000000000..fb191e397 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ffdd67184ceac428b9e79d0a82621b5b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Built In Data.asset b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Built In Data.asset new file mode 100644 index 000000000..0a42ec69e --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Built In Data.asset @@ -0,0 +1,32 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bbb281ee3bf0b054c82ac2347e9e782c, type: 3} + m_Name: Built In Data + m_EditorClassIdentifier: + m_GroupName: Built In Data + m_Data: + m_SerializedData: [] + m_GUID: 78ca99454d75a4cf8ab1b4919d288a3d + m_SerializeEntries: + - m_GUID: Resources + m_Address: Resources + m_ReadOnly: 1 + m_SerializedLabels: [] + - m_GUID: EditorSceneList + m_Address: EditorSceneList + m_ReadOnly: 1 + m_SerializedLabels: [] + m_ReadOnly: 1 + m_Settings: {fileID: 11400000, guid: eba030a8967cd41c2b351a2d35a779c2, type: 2} + m_SchemaSet: + m_Schemas: + - {fileID: 11400000, guid: 65678e9ce7646493db44859d98c363ec, type: 2} diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Built In Data.asset.meta b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Built In Data.asset.meta new file mode 100644 index 000000000..0a00917da --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Built In Data.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4bbc2ada2ba60435f91762231964eb25 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset new file mode 100644 index 000000000..06c4397ee --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset @@ -0,0 +1,29 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bbb281ee3bf0b054c82ac2347e9e782c, type: 3} + m_Name: Default Local Group + m_EditorClassIdentifier: + m_GroupName: Default Local Group + m_Data: + m_SerializedData: [] + m_GUID: ddcc0dd3c2e3149309486ece76cf498a + m_SerializeEntries: + - m_GUID: 05ea0814e604c4acf8ae3b7e0a5dfb07 + m_Address: DynamicPrefabTest + m_ReadOnly: 0 + m_SerializedLabels: [] + m_ReadOnly: 0 + m_Settings: {fileID: 11400000, guid: eba030a8967cd41c2b351a2d35a779c2, type: 2} + m_SchemaSet: + m_Schemas: + - {fileID: 11400000, guid: c6e1543797fc94e248c1d3797ef45dd0, type: 2} + - {fileID: 11400000, guid: c99a9e8cb460a45128d179fca741744a, type: 2} diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset.meta b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset.meta new file mode 100644 index 000000000..0b2c9136d --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 897b1409d53154034b6a05860f1e6b4f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas.meta b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas.meta new file mode 100644 index 000000000..b2d843b0c --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e93d5d8cd2cdb4bb5a65d70190223fe3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Built In Data_PlayerDataGroupSchema.asset b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Built In Data_PlayerDataGroupSchema.asset new file mode 100644 index 000000000..2d4d4e8a7 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Built In Data_PlayerDataGroupSchema.asset @@ -0,0 +1,17 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b1487f5d688e4f94f828f879d599dbdc, type: 3} + m_Name: Built In Data_PlayerDataGroupSchema + m_EditorClassIdentifier: + m_Group: {fileID: 11400000, guid: 4bbc2ada2ba60435f91762231964eb25, type: 2} + m_IncludeResourcesFolders: 1 + m_IncludeBuildSettingsScenes: 1 diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Built In Data_PlayerDataGroupSchema.asset.meta b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Built In Data_PlayerDataGroupSchema.asset.meta new file mode 100644 index 000000000..1dcbc7acd --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Built In Data_PlayerDataGroupSchema.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 65678e9ce7646493db44859d98c363ec +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_BundledAssetGroupSchema.asset b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_BundledAssetGroupSchema.asset new file mode 100644 index 000000000..b3fe9585f --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_BundledAssetGroupSchema.asset @@ -0,0 +1,45 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e5d17a21594effb4e9591490b009e7aa, type: 3} + m_Name: Default Local Group_BundledAssetGroupSchema + m_EditorClassIdentifier: + m_Group: {fileID: 11400000, guid: 897b1409d53154034b6a05860f1e6b4f, type: 2} + m_InternalBundleIdMode: 1 + m_Compression: 1 + m_IncludeAddressInCatalog: 1 + m_IncludeGUIDInCatalog: 1 + m_IncludeLabelsInCatalog: 1 + m_InternalIdNamingMode: 0 + m_CacheClearBehavior: 0 + m_IncludeInBuild: 1 + m_BundledAssetProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider + m_ForceUniqueProvider: 0 + m_UseAssetBundleCache: 1 + m_UseAssetBundleCrc: 1 + m_UseAssetBundleCrcForCachedBundles: 1 + m_UseUWRForLocalBundles: 0 + m_Timeout: 0 + m_ChunkedTransfer: 0 + m_RedirectLimit: -1 + m_RetryCount: 0 + m_BuildPath: + m_Id: 33af78b843da944489448f41af32c66a + m_LoadPath: + m_Id: 15a3422a5bd3d437ea3dcecc042cfb31 + m_BundleMode: 0 + m_AssetBundleProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider + m_BundleNaming: 0 + m_AssetLoadMode: 0 diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_BundledAssetGroupSchema.asset.meta b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_BundledAssetGroupSchema.asset.meta new file mode 100644 index 000000000..8522ddc29 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_BundledAssetGroupSchema.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c99a9e8cb460a45128d179fca741744a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset new file mode 100644 index 000000000..edccb566e --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset @@ -0,0 +1,16 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5834b5087d578d24c926ce20cd31e6d6, type: 3} + m_Name: Default Local Group_ContentUpdateGroupSchema + m_EditorClassIdentifier: + m_Group: {fileID: 11400000, guid: 897b1409d53154034b6a05860f1e6b4f, type: 2} + m_StaticContent: 0 diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset.meta b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset.meta new file mode 100644 index 000000000..5260fc17f --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c6e1543797fc94e248c1d3797ef45dd0 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders.meta b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders.meta new file mode 100644 index 000000000..aba6242c8 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b25ac81636d0f4d4da00b12e24972a6b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptFastMode.asset b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptFastMode.asset new file mode 100644 index 000000000..50d30dc58 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptFastMode.asset @@ -0,0 +1,20 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 88d21199f5d473f4db36845f2318f180, type: 3} + m_Name: BuildScriptFastMode + m_EditorClassIdentifier: + instanceProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider + sceneProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptFastMode.asset.meta b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptFastMode.asset.meta new file mode 100644 index 000000000..1d6eb21d6 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptFastMode.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b3b595ddb85c143cb9ccd245a2bcddc1 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedMode.asset b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedMode.asset new file mode 100644 index 000000000..ec875f943 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedMode.asset @@ -0,0 +1,20 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3e2e0ffa088c91d41a086d0b8cb16bdc, type: 3} + m_Name: BuildScriptPackedMode + m_EditorClassIdentifier: + instanceProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider + sceneProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedMode.asset.meta b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedMode.asset.meta new file mode 100644 index 000000000..78f1ed39b --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedMode.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 82d09a1d0170f461b94b084e30c591d3 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedPlayMode.asset b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedPlayMode.asset new file mode 100644 index 000000000..762884519 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedPlayMode.asset @@ -0,0 +1,20 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad8c280d42ee0ed41a27db23b43dd2bf, type: 3} + m_Name: BuildScriptPackedPlayMode + m_EditorClassIdentifier: + instanceProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider + sceneProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedPlayMode.asset.meta b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedPlayMode.asset.meta new file mode 100644 index 000000000..9269bf1f9 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedPlayMode.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 724d64d7e32614fe89b435597b3d69ca +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptVirtualMode.asset b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptVirtualMode.asset new file mode 100644 index 000000000..dfb2d5825 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptVirtualMode.asset @@ -0,0 +1,20 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bb0e4994b34add1409fd8ccaf4a82de5, type: 3} + m_Name: BuildScriptVirtualMode + m_EditorClassIdentifier: + instanceProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider + sceneProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptVirtualMode.asset.meta b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptVirtualMode.asset.meta new file mode 100644 index 000000000..d253a8842 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DataBuilders/BuildScriptVirtualMode.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2bd2714d617ac48c9961fda53af2ae0f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DefaultObject.asset b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DefaultObject.asset new file mode 100644 index 000000000..0f60864bb --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DefaultObject.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3a189bb168d8d90478a09ea08c2f3d72, type: 3} + m_Name: DefaultObject + m_EditorClassIdentifier: + m_AddressableAssetSettingsGuid: eba030a8967cd41c2b351a2d35a779c2 diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DefaultObject.asset.meta b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DefaultObject.asset.meta new file mode 100644 index 000000000..0471f204e --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/DefaultObject.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b1ddf61b298f54d599a3d954101e1b69 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs.meta b/Basic/DyanmicPrefabs/Assets/Prefabs.meta new file mode 100644 index 000000000..0c29b4630 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 33b444a8328b04438947d485732011da +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/Black.mat b/Basic/DyanmicPrefabs/Assets/Prefabs/Black.mat new file mode 100644 index 000000000..471f7e5a6 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/Black.mat @@ -0,0 +1,80 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Black + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + 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} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.18867922, g: 0.18867922, b: 0.18867922, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/Black.mat.meta b/Basic/DyanmicPrefabs/Assets/Prefabs/Black.mat.meta new file mode 100644 index 000000000..b48335303 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/Black.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cbd04cf18f48f40a3adc1b755bb182fc +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest.prefab b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest.prefab new file mode 100644 index 000000000..158889856 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest.prefab @@ -0,0 +1,176 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2002272676026143831 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3105858385568892332} + - component: {fileID: 1618708695352556688} + - component: {fileID: 1618708695352556687} + m_Layer: 0 + m_Name: DynamicPrefabTest + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3105858385568892332 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002272676026143831} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6047369245460250749} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1618708695352556688 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002272676026143831} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 951099334 + AlwaysReplicateAsRoot: 1 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!114 &1618708695352556687 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002272676026143831} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e96cb6065543e43c4a752faaa1468eb1, type: 3} + m_Name: + m_EditorClassIdentifier: + SyncPositionX: 1 + SyncPositionY: 1 + SyncPositionZ: 1 + SyncRotAngleX: 1 + SyncRotAngleY: 1 + SyncRotAngleZ: 1 + SyncScaleX: 1 + SyncScaleY: 1 + SyncScaleZ: 1 + PositionThreshold: 0.001 + RotAngleThreshold: 0.01 + ScaleThreshold: 0.01 + InLocalSpace: 0 + Interpolate: 1 +--- !u!1 &6169323490332737807 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6047369245460250749} + - component: {fileID: 7951404474696023296} + - component: {fileID: 8970186281398297407} + - component: {fileID: 3543718283281868568} + m_Layer: 0 + m_Name: Capsule + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6047369245460250749 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6169323490332737807} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3105858385568892332} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7951404474696023296 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6169323490332737807} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8970186281398297407 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6169323490332737807} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: cbd04cf18f48f40a3adc1b755bb182fc, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + 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 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!136 &3543718283281868568 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6169323490332737807} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest.prefab.meta b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest.prefab.meta new file mode 100644 index 000000000..81f388d0e --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 05ea0814e604c4acf8ae3b7e0a5dfb07 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scenes.meta b/Basic/DyanmicPrefabs/Assets/Scenes.meta new file mode 100644 index 000000000..83c741b22 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6ea315d0fd7389c41b19996891e99ae3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading.unity b/Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading.unity new file mode 100644 index 000000000..50229a25a --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading.unity @@ -0,0 +1,479 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 705507994} + m_IndirectSpecularColor: {r: 0.44657874, g: 0.49641275, b: 0.5748172, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &705507993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 705507995} + - component: {fileID: 705507994} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &705507994 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.802082 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &705507995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &963194225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 963194228} + - component: {fileID: 963194227} + - component: {fileID: 963194226} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &963194226 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 +--- !u!20 &963194227 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &963194228 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &989424449 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 989424451} + - component: {fileID: 989424450} + - component: {fileID: 989424452} + m_Layer: 0 + m_Name: AppController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &989424450 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989424449} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8c82d08ffbd524a6799d466e7997b6a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_DynamicPrefabRef: + m_AssetGUID: 05ea0814e604c4acf8ae3b7e0a5dfb07 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + _networkManager: {fileID: 2054638265} +--- !u!4 &989424451 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989424449} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &989424452 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989424449} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 1200642492 + AlwaysReplicateAsRoot: 0 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!1 &2054638263 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2054638266} + - component: {fileID: 2054638265} + - component: {fileID: 2054638264} + - component: {fileID: 2054638267} + m_Layer: 0 + m_Name: NetworkManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2054638264 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054638263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6960e84d07fb87f47956e7a81d71c4e6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ProtocolType: 0 + m_MaxPacketQueueSize: 128 + m_MaxPayloadSize: 6144 + m_HeartbeatTimeoutMS: 500 + m_ConnectTimeoutMS: 1000 + m_MaxConnectAttempts: 60 + m_DisconnectTimeoutMS: 30000 + ConnectionData: + Address: 127.0.0.1 + Port: 7777 + ServerListenAddress: + DebugSimulator: + PacketDelayMS: 0 + PacketJitterMS: 0 + PacketDropRate: 0 +--- !u!114 &2054638265 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054638263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 593a2fe42fa9d37498c96f9a383b6521, type: 3} + m_Name: + m_EditorClassIdentifier: + RunInBackground: 1 + LogLevel: 1 + NetworkConfig: + ProtocolVersion: 0 + NetworkTransport: {fileID: 2054638264} + PlayerPrefab: {fileID: 0} + NetworkPrefabs: [] + TickRate: 30 + ClientConnectionBufferTimeout: 10 + ConnectionApproval: 0 + ConnectionData: + EnableTimeResync: 0 + TimeResyncInterval: 30 + EnsureNetworkVariableLengthSafety: 0 + EnableSceneManagement: 1 + ForceSamePrefabs: 1 + RecycleNetworkIds: 1 + NetworkIdRecycleDelay: 120 + RpcHashSize: 0 + LoadSceneTimeOut: 120 + SpawnTimeout: 1 + EnableNetworkLogs: 1 +--- !u!4 &2054638266 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054638263} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2054638267 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054638263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e785819555ef441ea883f409bbb77c6f, type: 3} + m_Name: + m_EditorClassIdentifier: + DrawOffset: {x: 10, y: 10} + LabelColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading.unity.meta b/Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading.unity.meta new file mode 100644 index 000000000..952bd1e9e --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9fc0d4010bbf28b4594072e72b8655ab +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity b/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity new file mode 100644 index 000000000..5a2162f34 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity @@ -0,0 +1,908 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 705507994} + m_IndirectSpecularColor: {r: 0.44657874, g: 0.49641275, b: 0.5748172, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &484367935 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 484367936} + - component: {fileID: 484367938} + - component: {fileID: 484367937} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &484367936 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 484367935} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1684107769} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &484367937 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 484367935} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Spawn dynamic prefab + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &484367938 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 484367935} + m_CullTransparentMesh: 1 +--- !u!1 &705507993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 705507995} + - component: {fileID: 705507994} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &705507994 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.802082 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &705507995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &963194225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 963194228} + - component: {fileID: 963194227} + - component: {fileID: 963194226} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &963194226 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 +--- !u!20 &963194227 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &963194228 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &989424449 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 989424451} + - component: {fileID: 989424452} + - component: {fileID: 989424453} + m_Layer: 0 + m_Name: AppController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &989424451 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989424449} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &989424452 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989424449} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 733721036 + AlwaysReplicateAsRoot: 0 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!114 &989424453 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989424449} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a5dd989004df436d9e1f8777007d25a5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_StartGameButton: {fileID: 1684107770} + m_DynamicPrefabRef: + m_AssetGUID: 05ea0814e604c4acf8ae3b7e0a5dfb07 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + _networkManager: {fileID: 2054638265} + m_SpawnTimeoutInSeconds: 5 + m_SpawnDelayInSeconds: 0 +--- !u!1 &1157890485 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1157890489} + - component: {fileID: 1157890488} + - component: {fileID: 1157890487} + - component: {fileID: 1157890486} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1157890486 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157890485} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1157890487 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157890485} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1157890488 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157890485} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1157890489 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157890485} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1684107769} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1521417880 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1521417883} + - component: {fileID: 1521417882} + - component: {fileID: 1521417881} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1521417881 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1521417880} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1521417882 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1521417880} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1521417883 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1521417880} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1684107768 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1684107769} + - component: {fileID: 1684107772} + - component: {fileID: 1684107771} + - component: {fileID: 1684107770} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1684107769 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1684107768} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 484367936} + m_Father: {fileID: 1157890489} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 18, y: -63.1} + m_SizeDelta: {x: 300, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1684107770 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1684107768} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1684107771} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1684107771 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1684107768} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1684107772 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1684107768} + m_CullTransparentMesh: 1 +--- !u!1 &2054638263 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2054638266} + - component: {fileID: 2054638265} + - component: {fileID: 2054638264} + - component: {fileID: 2054638267} + m_Layer: 0 + m_Name: NetworkManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2054638264 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054638263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6960e84d07fb87f47956e7a81d71c4e6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ProtocolType: 0 + m_MaxPacketQueueSize: 128 + m_MaxPayloadSize: 6144 + m_HeartbeatTimeoutMS: 500 + m_ConnectTimeoutMS: 1000 + m_MaxConnectAttempts: 60 + m_DisconnectTimeoutMS: 30000 + ConnectionData: + Address: 127.0.0.1 + Port: 7777 + ServerListenAddress: + DebugSimulator: + PacketDelayMS: 0 + PacketJitterMS: 0 + PacketDropRate: 0 +--- !u!114 &2054638265 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054638263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 593a2fe42fa9d37498c96f9a383b6521, type: 3} + m_Name: + m_EditorClassIdentifier: + RunInBackground: 1 + LogLevel: 1 + NetworkConfig: + ProtocolVersion: 0 + NetworkTransport: {fileID: 2054638264} + PlayerPrefab: {fileID: 0} + NetworkPrefabs: [] + TickRate: 30 + ClientConnectionBufferTimeout: 10 + ConnectionApproval: 1 + ConnectionData: + EnableTimeResync: 0 + TimeResyncInterval: 30 + EnsureNetworkVariableLengthSafety: 0 + EnableSceneManagement: 1 + ForceSamePrefabs: 1 + RecycleNetworkIds: 1 + NetworkIdRecycleDelay: 120 + RpcHashSize: 0 + LoadSceneTimeOut: 120 + SpawnTimeout: 1 + EnableNetworkLogs: 1 +--- !u!4 &2054638266 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054638263} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2054638267 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054638263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e785819555ef441ea883f409bbb77c6f, type: 3} + m_Name: + m_EditorClassIdentifier: + DrawOffset: {x: 10, y: 10} + LabelColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity.meta b/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity.meta new file mode 100644 index 000000000..a0d3b6954 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 2202c8fdc114468cbabe8305186c7cf9 +timeCreated: 1666715239 \ No newline at end of file diff --git a/Basic/DyanmicPrefabs/Assets/Scripts.meta b/Basic/DyanmicPrefabs/Assets/Scripts.meta new file mode 100644 index 000000000..08e91b8b1 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 433f39aaea1224b9aaa3a65b8f32cc43 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection.meta b/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection.meta new file mode 100644 index 000000000..0dcc46484 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0ff7f41903c874c7cafc2e967fb48930 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs b/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs new file mode 100644 index 000000000..78a051f98 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs @@ -0,0 +1,40 @@ +using System; +using Unity.Netcode; +using UnityEngine; +using UnityEngine.AddressableAssets; +using UnityEngine.Serialization; + +namespace Game +{ + public sealed class PreloadingSample : MonoBehaviour + { + [SerializeField] AssetReferenceGameObject m_DynamicPrefabRef; + [SerializeField] NetworkManager _networkManager; + + void Awake() + { + //this is the simplest case of a dynamic prefab - we just add it to the list of prefabs before we start the server + //at this point we can also easily change the PlayerPrefab + // + //what's important is that it doesn't really matter where the prefab comes from, + //it could be a simple prefab or it could be an addressable - it's all the same + // + //it's important to note that this isn't limited to PlayerPrefab, despite the method name + //you can add any prefab to the list of prefabs that will be spawned + + PreloadDynamicPlayerPrefab(); + + } + + async void PreloadDynamicPlayerPrefab() + { + var op = Addressables.LoadAssetAsync(m_DynamicPrefabRef); + var prefab = await op.Task; + Addressables.Release(op); + + _networkManager.NetworkConfig.ForceSamePrefabs = true; + _networkManager.AddNetworkPrefab(prefab); + _networkManager.NetworkConfig.PlayerPrefab = prefab; + } + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs.meta new file mode 100644 index 000000000..bf9fffe71 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8c82d08ffbd524a6799d466e7997b6a0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin.meta b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin.meta new file mode 100644 index 000000000..d7f0bb793 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 4fd4a4c5142f468f9b009e5c9cf6a2be +timeCreated: 1667392114 \ No newline at end of file diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs new file mode 100644 index 000000000..4396059a8 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs @@ -0,0 +1,132 @@ +using System; +using System.Threading.Tasks; +using Unity.Collections; +using Unity.Netcode; +using UnityEngine; +using UnityEngine.AddressableAssets; +using UnityEngine.UI; + +namespace Game +{ + /// + /// This is probably the most advanced scenario - we are spawning prefabs that aren't known to clients beforehand. + /// + /// Here we are not implementing client acknowledgement of the prefab loading completion - + /// this would allow the server to wait for all the clients to have loaded the prefab and spawn it only then, which is safer. + /// However, this is not implemented here for simplicity - there is a whole slew of potential failures that this would have to handle. + /// + /// Instead we load the prefab from an addressable, and then send an RPC to the clients, telling them to start loading the prefab. + /// Then we wait for a configured amount of time, and then spawn the prefab on the server, which replicates it to the clients. + /// Then we hope that the clients will be able to load the prefab during the (m_SpawnDelayInSeconds + m_SpawnTimeoutInSeconds) time window. + /// + /// Currently latejoin doesn't work with dynaic prefabs, because the initial sync message doesn't allow the clients any time to load prefabs. That's a bug. + /// To circumvent this issue we simply disallow latejoins (and reconnections :( ) and do not spawn dynamic things until all clients are connected and the gameplay is started by the server. + /// + /// This is not ideal, and in the future we will be able to deal with latejoiners who need to preload a bunch of + /// prefabs before they can properly replicate. + /// We will need to maintain a collection of loaded dynamic prefabs on the server, and they will need to be loaded when a new client connects. + /// + /// + public sealed class SparseLoadingNoLatejoinSample : NetworkBehaviour + { + [SerializeField] + Button m_StartGameButton; + + [SerializeField] AssetReferenceGameObject m_DynamicPrefabRef; + + [SerializeField] NetworkManager _networkManager; + + [SerializeField] + float m_SpawnTimeoutInSeconds; + [SerializeField] + float m_SpawnDelayInSeconds; + + bool m_isGameStarted = false; + + void Awake() + { + _networkManager.NetworkConfig.ForceSamePrefabs = false; + _networkManager.NetworkConfig.SpawnTimeout = m_SpawnTimeoutInSeconds; + _networkManager.ConnectionApprovalCallback = ConnectionApprovalCallback; + } + + public override void OnNetworkSpawn() + { + if (IsServer) + { + m_StartGameButton.onClick.AddListener(StartGame); + } + else + { + m_StartGameButton.gameObject.SetActive(false); + } + } + + private void StartGame() + { + if (!m_isGameStarted) + { + m_isGameStarted = true; + + SpawnDynamicPrefabWithDelay(); + + m_StartGameButton.gameObject.SetActive(false); + } + } + + void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) + { + if (m_isGameStarted) + { + response.Approved = false; + } + else + { + response.Approved = true; + } + } + + private async void SpawnDynamicPrefabWithDelay() + { + if (IsServer || IsHost) + { + LoadAddressableClientRpc(m_DynamicPrefabRef.AssetGUID); + + var prefab = await LoadDynamicAddressablePrefab(m_DynamicPrefabRef.AssetGUID); + await SpawnAfterDelay(_networkManager.LocalClientId, (int)(m_SpawnDelayInSeconds * 1000), prefab); + } + + async Task SpawnAfterDelay(ulong ownerId, int delayMS, GameObject prefab) + { + await Task.Delay(delayMS); + var obj = Instantiate(prefab).GetComponent(); + obj.SpawnWithOwnership(ownerId); + } + } + + [ClientRpc] + private void LoadAddressableClientRpc(FixedString64Bytes guid, ClientRpcParams rpcParams = default) + { + if (!IsHost) + { + LoadPrefab(guid); + } + + async void LoadPrefab(FixedString64Bytes guid) + { + await LoadDynamicAddressablePrefab(guid.ToString()); + } + } + + private async Task LoadDynamicAddressablePrefab(string guid) + { + var op = Addressables.LoadAssetAsync(guid); + var prefab = await op.Task; + Addressables.Release(op); + + _networkManager.AddNetworkPrefab(prefab); + + return prefab; + } + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs.meta new file mode 100644 index 000000000..02dc8bcb8 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: a5dd989004df436d9e1f8777007d25a5 +timeCreated: 1667392139 \ No newline at end of file diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/NetworkManagerHud.cs b/Basic/DyanmicPrefabs/Assets/Scripts/NetworkManagerHud.cs new file mode 100644 index 000000000..e34c16aac --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/NetworkManagerHud.cs @@ -0,0 +1,119 @@ +using System; +using System.Runtime.CompilerServices; +using Unity.Netcode; +using Unity.Netcode.Transports.UTP; +using UnityEngine; + +[RequireComponent(typeof(NetworkManager))] +[DisallowMultipleComponent] +public class NetworkManagerHud : MonoBehaviour +{ + NetworkManager m_NetworkManager; + + UnityTransport m_Transport; + + GUIStyle m_LabelTextStyle; + + // This is needed to make the port field more convenient. GUILayout.TextField is very limited and we want to be able to clear the field entirely so we can't cache this as ushort. + string m_PortString = "7777"; + string m_ConnectAddress = "127.0.0.1"; + + public Vector2 DrawOffset = new Vector2(10, 10); + + public Color LabelColor = Color.black; + + void Awake() + { + // Only cache networking manager but not transport here because transport could change anytime. + m_NetworkManager = GetComponent(); + m_LabelTextStyle = new GUIStyle(GUIStyle.none); + } + + void OnGUI() + { + m_LabelTextStyle.normal.textColor = LabelColor; + + m_Transport = (UnityTransport)m_NetworkManager.NetworkConfig.NetworkTransport; + + GUILayout.BeginArea(new Rect(DrawOffset, new Vector2(200, 200))); + + if (IsRunning(m_NetworkManager)) + { + DrawStatusGUI(); + } + else + { + DrawConnectGUI(); + } + + GUILayout.EndArea(); + } + + void DrawConnectGUI() + { + GUILayout.BeginHorizontal(); + GUILayout.Space(10); + GUILayout.Label("Address", m_LabelTextStyle); + GUILayout.Label("Port", m_LabelTextStyle); + + GUILayout.EndHorizontal(); + + GUILayout.BeginHorizontal(); + + m_ConnectAddress = GUILayout.TextField(m_ConnectAddress); + m_PortString = GUILayout.TextField(m_PortString); + if (ushort.TryParse(m_PortString, out ushort port)) + { + m_Transport.SetConnectionData(m_ConnectAddress, port); + } + else + { + m_Transport.SetConnectionData(m_ConnectAddress, 7777); + } + + GUILayout.EndHorizontal(); + + if (GUILayout.Button("Host (Server + Client)")) + { + m_NetworkManager.StartHost(); + } + + GUILayout.BeginHorizontal(); + + if (GUILayout.Button("Server")) + { + m_NetworkManager.StartServer(); + } + + if (GUILayout.Button("Client")) + { + m_NetworkManager.StartClient(); + } + + GUILayout.EndHorizontal(); + } + + void DrawStatusGUI() + { + if (m_NetworkManager.IsServer) + { + var mode = m_NetworkManager.IsHost ? "Host" : "Server"; + GUILayout.Label($"{mode} active on port: {m_Transport.ConnectionData.Port.ToString()}", m_LabelTextStyle); + } + else + { + if (m_NetworkManager.IsConnectedClient) + { + GUILayout.Label($"Client connected {m_Transport.ConnectionData.Address}:{m_Transport.ConnectionData.Port.ToString()}", m_LabelTextStyle); + } + } + + if (GUILayout.Button("Shutdown")) + { + m_NetworkManager.Shutdown(); + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + bool IsRunning(NetworkManager networkManager) => networkManager.IsServer || networkManager.IsClient; +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/NetworkManagerHud.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/NetworkManagerHud.cs.meta new file mode 100644 index 000000000..a79e8ce52 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/NetworkManagerHud.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e785819555ef441ea883f409bbb77c6f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro.meta new file mode 100755 index 000000000..f9da8b5e3 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f54d1bd14bd3ca042bd867b519fee8cc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Documentation.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Documentation.meta new file mode 100755 index 000000000..afa527ac5 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Documentation.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8e7e8f5a82a3a134e91c54efd2274ea9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf new file mode 100755 index 0000000000000000000000000000000000000000..c2ea2d278785aa03d590f89fabdb0f30ad0976e9 GIT binary patch literal 694398 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 E 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

Phf_!`cm)mjg@=!xv_%(czrwmNh&_ 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 fr)3ZFUV&*721m)l!jmcN8xw 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�BewIm~1i1qDi>|wQD|Q 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≦`0o(@JB0sERu3zfUsRNu(xa|rA`ieJ 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 Y&|?BN{_*!W3tm6{caJds=Lh%wJ%~ewUjP6A literal 0 HcmV?d00001 diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta new file mode 100755 index 000000000..f2fc81400 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta @@ -0,0 +1,19 @@ +fileFormatVersion: 2 +guid: e3265ab4bf004d28a9537516768c1c75 +timeCreated: 1484171297 +licenseType: Pro +TrueTypeFontImporter: + serializedVersion: 2 + fontSize: 16 + forceTextureCase: -2 + characterSpacing: 1 + characterPadding: 0 + includeFontData: 1 + use2xBehaviour: 0 + fontNames: [] + fallbackFontReferences: [] + customCharacters: + fontRenderingMode: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources.meta new file mode 100755 index 000000000..cfc142f38 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 243e06394e614e5d99fab26083b707fa +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials.meta new file mode 100755 index 000000000..8a0111247 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 731f1baa9d144a9897cb1d341c2092b8 +folderAsset: yes +timeCreated: 1442040525 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat new file mode 100755 index 000000000..5bc142c4e --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat @@ -0,0 +1,106 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: LiberationSans SDF - Drop Shadow + m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3} + m_ShaderKeywords: OUTLINE_ON UNDERLAY_ON + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Cube: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _FaceTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 28684132378477856, guid: 8f586378b4e144a9851e7b34d9b748ee, + type: 2} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OutlineTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _Ambient: 0.5 + - _Bevel: 0.5 + - _BevelClamp: 0 + - _BevelOffset: 0 + - _BevelRoundness: 0 + - _BevelWidth: 0 + - _BumpFace: 0 + - _BumpOutline: 0 + - _ColorMask: 15 + - _Diffuse: 0.5 + - _DiffusePower: 1 + - _FaceDilate: 0.1 + - _FaceUVSpeedX: 0 + - _FaceUVSpeedY: 0 + - _GlowInner: 0.05 + - _GlowOffset: 0 + - _GlowOuter: 0.05 + - _GlowPower: 0.75 + - _GradientScale: 10 + - _LightAngle: 3.1416 + - _MaskSoftnessX: 0 + - _MaskSoftnessY: 0 + - _OutlineSoftness: 0 + - _OutlineUVSpeedX: 0 + - _OutlineUVSpeedY: 0 + - _OutlineWidth: 0.1 + - _PerspectiveFilter: 0.875 + - _Reflectivity: 10 + - _ScaleRatioA: 0.9 + - _ScaleRatioB: 0.73125 + - _ScaleRatioC: 0.64125 + - _ScaleX: 1 + - _ScaleY: 1 + - _ShaderFlags: 0 + - _Sharpness: 0 + - _SpecularPower: 2 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _TextureHeight: 1024 + - _TextureWidth: 1024 + - _UnderlayDilate: 0 + - _UnderlayOffsetX: 0.5 + - _UnderlayOffsetY: -0.5 + - _UnderlaySoftness: 0.05 + - _VertexOffsetX: 0 + - _VertexOffsetY: 0 + - _WeightBold: 0.75 + - _WeightNormal: 0 + m_Colors: + - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0} + - _FaceColor: {r: 1, g: 1, b: 1, a: 1} + - _GlowColor: {r: 0, g: 1, b: 0, a: 0.5} + - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1} + - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5} diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta new file mode 100755 index 000000000..fbd2cdb60 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e73a58f6e2794ae7b1b7e50b7fb811b0 +timeCreated: 1484172806 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset new file mode 100755 index 000000000..e907cc735 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset @@ -0,0 +1,343 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2180264 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: LiberationSans SDF Material + m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Cube: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _FaceTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 28268798066460806} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OutlineTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _Ambient: 0.5 + - _Bevel: 0.5 + - _BevelClamp: 0 + - _BevelOffset: 0 + - _BevelRoundness: 0 + - _BevelWidth: 0 + - _BumpFace: 0 + - _BumpOutline: 0 + - _BumpScale: 1 + - _ColorMask: 15 + - _CullMode: 0 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _Diffuse: 0.5 + - _DstBlend: 0 + - _FaceDilate: 0 + - _FaceUVSpeedX: 0 + - _FaceUVSpeedY: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _GlowInner: 0.05 + - _GlowOffset: 0 + - _GlowOuter: 0.05 + - _GlowPower: 0.75 + - _GradientScale: 10 + - _LightAngle: 3.1416 + - _MaskSoftnessX: 0 + - _MaskSoftnessY: 0 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _OutlineSoftness: 0 + - _OutlineUVSpeedX: 0 + - _OutlineUVSpeedY: 0 + - _OutlineWidth: 0 + - _Parallax: 0.02 + - _PerspectiveFilter: 0.875 + - _Reflectivity: 10 + - _ScaleRatioA: 0.90909094 + - _ScaleRatioB: 0.73125 + - _ScaleRatioC: 0.7386364 + - _ScaleX: 1 + - _ScaleY: 1 + - _ShaderFlags: 0 + - _Sharpness: 0 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SpecularPower: 2 + - _SrcBlend: 1 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _TextureHeight: 512 + - _TextureWidth: 512 + - _UVSec: 0 + - _UnderlayDilate: 0 + - _UnderlayOffsetX: 0 + - _UnderlayOffsetY: 0 + - _UnderlaySoftness: 0 + - _VertexOffsetX: 0 + - _VertexOffsetY: 0 + - _WeightBold: 0.75 + - _WeightNormal: 0 + - _ZWrite: 1 + m_Colors: + - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0} + - _FaceColor: {r: 1, g: 1, b: 1, a: 1} + - _GlowColor: {r: 0, g: 1, b: 0, a: 0.5} + - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1} + - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5} +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 71c1514a6bd24e1e882cebbe1904ce04, type: 3} + m_Name: LiberationSans SDF - Fallback + m_EditorClassIdentifier: + hashCode: -1699145518 + material: {fileID: 2180264} + materialHashCode: 462855346 + m_Version: 1.1.0 + m_SourceFontFileGUID: e3265ab4bf004d28a9537516768c1c75 + m_SourceFontFile_EditorRef: {fileID: 12800000, guid: e3265ab4bf004d28a9537516768c1c75, + type: 3} + m_SourceFontFile: {fileID: 12800000, guid: e3265ab4bf004d28a9537516768c1c75, type: 3} + m_AtlasPopulationMode: 1 + m_FaceInfo: + m_FamilyName: Liberation Sans + m_StyleName: Regular + m_PointSize: 86 + m_Scale: 1 + m_LineHeight: 98.8916 + m_AscentLine: 77.853516 + m_CapLine: 59 + m_MeanLine: 45 + m_Baseline: 0 + m_DescentLine: -18.22461 + m_SuperscriptOffset: 77.853516 + m_SuperscriptSize: 0.5 + m_SubscriptOffset: -18.22461 + m_SubscriptSize: 0.5 + m_UnderlineOffset: -12.261719 + m_UnderlineThickness: 6.298828 + m_StrikethroughOffset: 18 + m_StrikethroughThickness: 6.298828 + m_TabWidth: 24 + m_GlyphTable: [] + m_CharacterTable: [] + m_AtlasTextures: + - {fileID: 28268798066460806} + m_AtlasTextureIndex: 0 + m_IsMultiAtlasTexturesEnabled: 0 + m_ClearDynamicDataOnBuild: 1 + m_UsedGlyphRects: [] + m_FreeGlyphRects: + - m_X: 0 + m_Y: 0 + m_Width: 511 + m_Height: 511 + m_fontInfo: + Name: Liberation Sans + PointSize: 86 + Scale: 1 + CharacterCount: 250 + LineHeight: 98.90625 + Baseline: 0 + Ascender: 77.84375 + CapHeight: 59.1875 + Descender: -18.21875 + CenterLine: 0 + SuperscriptOffset: 77.84375 + SubscriptOffset: -12.261719 + SubSize: 0.5 + Underline: -12.261719 + UnderlineThickness: 6.298828 + strikethrough: 23.675 + strikethroughThickness: 0 + TabWidth: 239.0625 + Padding: 9 + AtlasWidth: 1024 + AtlasHeight: 1024 + atlas: {fileID: 0} + m_AtlasWidth: 512 + m_AtlasHeight: 512 + m_AtlasPadding: 9 + m_AtlasRenderMode: 4169 + m_glyphInfoList: [] + m_KerningTable: + kerningPairs: [] + m_FontFeatureTable: + m_GlyphPairAdjustmentRecords: [] + fallbackFontAssets: [] + m_FallbackFontAssetTable: [] + m_CreationSettings: + sourceFontFileName: + sourceFontFileGUID: e3265ab4bf004d28a9537516768c1c75 + pointSizeSamplingMode: 0 + pointSize: 86 + padding: 9 + packingMode: 4 + atlasWidth: 512 + atlasHeight: 512 + characterSetSelectionMode: 1 + characterSequence: 32 - 126, 160 - 255, 8192 - 8303, 8364, 8482, 9633 + referencedFontAssetGUID: 8f586378b4e144a9851e7b34d9b748ee + referencedTextAssetGUID: + fontStyle: 0 + fontStyleModifier: 0 + renderMode: 4169 + includeFontFeatures: 1 + m_FontWeightTable: + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + fontWeights: + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + normalStyle: 0 + normalSpacingOffset: 0 + boldStyle: 0.75 + boldSpacing: 7 + italicStyle: 35 + tabSize: 10 +--- !u!28 &28268798066460806 +Texture2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: LiberationSans SDF Atlas + m_ImageContentsHash: + serializedVersion: 2 + Hash: 00000000000000000000000000000000 + m_ForcedFallbackFormat: 4 + m_DownscaleFallback: 0 + serializedVersion: 2 + m_Width: 0 + m_Height: 0 + m_CompleteImageSize: 0 + m_TextureFormat: 1 + m_MipCount: 1 + m_IsReadable: 1 + m_StreamingMipmaps: 0 + m_StreamingMipmapsPriority: 0 + m_AlphaIsTransparency: 0 + m_ImageCount: 1 + m_TextureDimension: 2 + m_TextureSettings: + serializedVersion: 2 + m_FilterMode: 1 + m_Aniso: 1 + m_MipBias: 0 + m_WrapU: 0 + m_WrapV: 0 + m_WrapW: 0 + m_LightmapFormat: 0 + m_ColorSpace: 0 + image data: 0 + _typelessdata: + m_StreamData: + offset: 0 + size: 0 + path: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta new file mode 100755 index 000000000..42dd6acd8 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2e498d1c8094910479dc3e1b768306a4 +timeCreated: 1484171803 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat new file mode 100755 index 000000000..cca8ce893 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat @@ -0,0 +1,104 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: LiberationSans SDF - Outline + m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3} + m_ShaderKeywords: OUTLINE_ON + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Cube: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _FaceTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 28684132378477856, guid: 8f586378b4e144a9851e7b34d9b748ee, + type: 2} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OutlineTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _Ambient: 0.5 + - _Bevel: 0.5 + - _BevelClamp: 0 + - _BevelOffset: 0 + - _BevelRoundness: 0 + - _BevelWidth: 0 + - _BumpFace: 0 + - _BumpOutline: 0 + - _ColorMask: 15 + - _Diffuse: 0.5 + - _FaceDilate: 0.1 + - _FaceUVSpeedX: 0 + - _FaceUVSpeedY: 0 + - _GlowInner: 0.05 + - _GlowOffset: 0 + - _GlowOuter: 0.05 + - _GlowPower: 0.75 + - _GradientScale: 10 + - _LightAngle: 3.1416 + - _MaskSoftnessX: 0 + - _MaskSoftnessY: 0 + - _OutlineSoftness: 0 + - _OutlineUVSpeedX: 0 + - _OutlineUVSpeedY: 0 + - _OutlineWidth: 0.1 + - _PerspectiveFilter: 0.875 + - _Reflectivity: 10 + - _ScaleRatioA: 0.9 + - _ScaleRatioB: 0.73125 + - _ScaleRatioC: 0.64125 + - _ScaleX: 1 + - _ScaleY: 1 + - _ShaderFlags: 0 + - _Sharpness: 0 + - _SpecularPower: 2 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _TextureHeight: 1024 + - _TextureWidth: 1024 + - _UnderlayDilate: 0 + - _UnderlayOffsetX: 0 + - _UnderlayOffsetY: 0 + - _UnderlaySoftness: 0 + - _VertexOffsetX: 0 + - _VertexOffsetY: 0 + - _WeightBold: 0.75 + - _WeightNormal: 0 + m_Colors: + - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} + - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0} + - _FaceColor: {r: 1, g: 1, b: 1, a: 1} + - _GlowColor: {r: 0, g: 1, b: 0, a: 0.5} + - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1} + - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5} diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta new file mode 100755 index 000000000..88d633488 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 79459efec17a4d00a321bdcc27bbc385 +timeCreated: 1484172856 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset new file mode 100755 index 000000000..c7b0771e6 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset @@ -0,0 +1,7821 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2180264 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: LiberationSans SDF Material + m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 28684132378477856} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _FaceDilate: 0 + - _GradientScale: 10 + - _MaskSoftnessX: 0 + - _MaskSoftnessY: 0 + - _OutlineSoftness: 0 + - _OutlineWidth: 0 + - _PerspectiveFilter: 0.875 + - _ScaleRatioA: 0.9 + - _ScaleRatioB: 1 + - _ScaleRatioC: 0.73125 + - _ScaleX: 1 + - _ScaleY: 1 + - _ShaderFlags: 0 + - _Sharpness: 0 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _TextureHeight: 1024 + - _TextureWidth: 1024 + - _UnderlayDilate: 0 + - _UnderlayOffsetX: 0 + - _UnderlayOffsetY: 0 + - _UnderlaySoftness: 0 + - _VertexOffsetX: 0 + - _VertexOffsetY: 0 + - _WeightBold: 0.75 + - _WeightNormal: 0 + m_Colors: + - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} + - _FaceColor: {r: 1, g: 1, b: 1, a: 1} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5} +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 71c1514a6bd24e1e882cebbe1904ce04, type: 3} + m_Name: LiberationSans SDF + m_EditorClassIdentifier: + hashCode: 231247347 + material: {fileID: 2180264} + materialHashCode: -1183942120 + m_Version: 1.1.0 + m_SourceFontFileGUID: e3265ab4bf004d28a9537516768c1c75 + m_SourceFontFile_EditorRef: {fileID: 12800000, guid: e3265ab4bf004d28a9537516768c1c75, + type: 3} + m_SourceFontFile: {fileID: 0} + m_AtlasPopulationMode: 0 + m_FaceInfo: + m_FamilyName: Liberation Sans + m_StyleName: Regular + m_PointSize: 86 + m_Scale: 1 + m_LineHeight: 98.8916 + m_AscentLine: 77.853516 + m_CapLine: 59 + m_MeanLine: 45 + m_Baseline: 0 + m_DescentLine: -18.22461 + m_SuperscriptOffset: 77.853516 + m_SuperscriptSize: 0.5 + m_SubscriptOffset: -18.22461 + m_SubscriptSize: 0.5 + m_UnderlineOffset: -12.261719 + m_UnderlineThickness: 6.298828 + m_StrikethroughOffset: 18 + m_StrikethroughThickness: 6.298828 + m_TabWidth: 24 + m_GlyphTable: + - m_Index: 3 + m_Metrics: + m_Width: 0 + m_Height: 0 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 0 + m_HorizontalAdvance: 24 + m_GlyphRect: + m_X: 0 + m_Y: 0 + m_Width: 0 + m_Height: 0 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 4 + m_Metrics: + m_Width: 9 + m_Height: 59 + m_HorizontalBearingX: 9 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 28 + m_GlyphRect: + m_X: 555 + m_Y: 816 + m_Width: 9 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 5 + m_Metrics: + m_Width: 25 + m_Height: 19 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 31 + m_GlyphRect: + m_X: 775 + m_Y: 922 + m_Width: 25 + m_Height: 19 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 6 + m_Metrics: + m_Width: 48 + m_Height: 59 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 471 + m_Y: 170 + m_Width: 48 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 7 + m_Metrics: + m_Width: 47 + m_Height: 70 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 64 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 161 + m_Y: 212 + m_Width: 47 + m_Height: 70 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 8 + m_Metrics: + m_Width: 70 + m_Height: 61 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 76 + m_GlyphRect: + m_X: 409 + m_Y: 10 + m_Width: 70 + m_Height: 61 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 9 + m_Metrics: + m_Width: 53 + m_Height: 61 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 57 + m_GlyphRect: + m_X: 437 + m_Y: 90 + m_Width: 53 + m_Height: 61 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 10 + m_Metrics: + m_Width: 8 + m_Height: 19 + m_HorizontalBearingX: 4 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 16 + m_GlyphRect: + m_X: 975 + m_Y: 961 + m_Width: 8 + m_Height: 19 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 11 + m_Metrics: + m_Width: 24 + m_Height: 80 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 29 + m_GlyphRect: + m_X: 146 + m_Y: 673 + m_Width: 24 + m_Height: 80 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 12 + m_Metrics: + m_Width: 24 + m_Height: 80 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 29 + m_GlyphRect: + m_X: 189 + m_Y: 671 + m_Width: 24 + m_Height: 80 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 13 + m_Metrics: + m_Width: 31 + m_Height: 30 + m_HorizontalBearingX: 1 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 33 + m_GlyphRect: + m_X: 495 + m_Y: 984 + m_Width: 31 + m_Height: 30 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 14 + m_Metrics: + m_Width: 42 + m_Height: 43 + m_HorizontalBearingX: 4 + m_HorizontalBearingY: 50 + m_HorizontalAdvance: 50 + m_GlyphRect: + m_X: 972 + m_Y: 330 + m_Width: 42 + m_Height: 43 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 15 + m_Metrics: + m_Width: 10 + m_Height: 20 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 9 + m_HorizontalAdvance: 24 + m_GlyphRect: + m_X: 583 + m_Y: 992 + m_Width: 10 + m_Height: 20 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 16 + m_Metrics: + m_Width: 23 + m_Height: 7 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 26 + m_HorizontalAdvance: 29 + m_GlyphRect: + m_X: 399 + m_Y: 925 + m_Width: 23 + m_Height: 7 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 17 + m_Metrics: + m_Width: 10 + m_Height: 9 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 9 + m_HorizontalAdvance: 24 + m_GlyphRect: + m_X: 657 + m_Y: 958 + m_Width: 10 + m_Height: 9 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 18 + m_Metrics: + m_Width: 24 + m_Height: 63 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 24 + m_GlyphRect: + m_X: 695 + m_Y: 409 + m_Width: 24 + m_Height: 63 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 19 + m_Metrics: + m_Width: 42 + m_Height: 61 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 532 + m_Y: 249 + m_Width: 42 + m_Height: 61 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 20 + m_Metrics: + m_Width: 38 + m_Height: 59 + m_HorizontalBearingX: 6 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 915 + m_Y: 501 + m_Width: 38 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 21 + m_Metrics: + m_Width: 40 + m_Height: 60 + m_HorizontalBearingX: 4 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 596 + m_Y: 329 + m_Width: 40 + m_Height: 60 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 22 + m_Metrics: + m_Width: 42 + m_Height: 61 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 417 + m_Y: 503 + m_Width: 42 + m_Height: 61 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 23 + m_Metrics: + m_Width: 45 + m_Height: 59 + m_HorizontalBearingX: 1 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 725 + m_Y: 252 + m_Width: 45 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 24 + m_Metrics: + m_Width: 42 + m_Height: 60 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 724 + m_Y: 330 + m_Width: 42 + m_Height: 60 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 25 + m_Metrics: + m_Width: 41 + m_Height: 61 + m_HorizontalBearingX: 4 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 912 + m_Y: 262 + m_Width: 41 + m_Height: 61 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 26 + m_Metrics: + m_Width: 40 + m_Height: 59 + m_HorizontalBearingX: 4 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 438 + m_Y: 830 + m_Width: 40 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 27 + m_Metrics: + m_Width: 42 + m_Height: 61 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 733 + m_Y: 648 + m_Width: 42 + m_Height: 61 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 28 + m_Metrics: + m_Width: 40 + m_Height: 61 + m_HorizontalBearingX: 4 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 856 + m_Y: 484 + m_Width: 40 + m_Height: 61 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 29 + m_Metrics: + m_Width: 10 + m_Height: 45 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 45 + m_HorizontalAdvance: 24 + m_GlyphRect: + m_X: 897 + m_Y: 819 + m_Width: 10 + m_Height: 45 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 30 + m_Metrics: + m_Width: 10 + m_Height: 57 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 45 + m_HorizontalAdvance: 24 + m_GlyphRect: + m_X: 429 + m_Y: 287 + m_Width: 10 + m_Height: 57 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 31 + m_Metrics: + m_Width: 42 + m_Height: 43 + m_HorizontalBearingX: 4 + m_HorizontalBearingY: 50 + m_HorizontalAdvance: 50 + m_GlyphRect: + m_X: 846 + m_Y: 341 + m_Width: 42 + m_Height: 43 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 32 + m_Metrics: + m_Width: 42 + m_Height: 29 + m_HorizontalBearingX: 4 + m_HorizontalBearingY: 42 + m_HorizontalAdvance: 50 + m_GlyphRect: + m_X: 227 + m_Y: 281 + m_Width: 42 + m_Height: 29 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 33 + m_Metrics: + m_Width: 42 + m_Height: 43 + m_HorizontalBearingX: 4 + m_HorizontalBearingY: 50 + m_HorizontalAdvance: 50 + m_GlyphRect: + m_X: 972 + m_Y: 392 + m_Width: 42 + m_Height: 43 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 34 + m_Metrics: + m_Width: 42 + m_Height: 60 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 733 + m_Y: 728 + m_Width: 42 + m_Height: 60 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 35 + m_Metrics: + m_Width: 74 + m_Height: 74 + m_HorizontalBearingX: 6 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 87 + m_GlyphRect: + m_X: 10 + m_Y: 10 + m_Width: 74 + m_Height: 74 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 36 + m_Metrics: + m_Width: 57 + m_Height: 59 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 57 + m_GlyphRect: + m_X: 828 + m_Y: 103 + m_Width: 57 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 37 + m_Metrics: + m_Width: 46 + m_Height: 59 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 57 + m_GlyphRect: + m_X: 542 + m_Y: 486 + m_Width: 46 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 38 + m_Metrics: + m_Width: 55 + m_Height: 61 + m_HorizontalBearingX: 4 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 62 + m_GlyphRect: + m_X: 509 + m_Y: 88 + m_Width: 55 + m_Height: 61 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 39 + m_Metrics: + m_Width: 51 + m_Height: 59 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 62 + m_GlyphRect: + m_X: 655 + m_Y: 252 + m_Width: 51 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 40 + m_Metrics: + m_Width: 47 + m_Height: 59 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 57 + m_GlyphRect: + m_X: 629 + m_Y: 409 + m_Width: 47 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 41 + m_Metrics: + m_Width: 43 + m_Height: 59 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 53 + m_GlyphRect: + m_X: 789 + m_Y: 259 + m_Width: 43 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 42 + m_Metrics: + m_Width: 57 + m_Height: 61 + m_HorizontalBearingX: 4 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 67 + m_GlyphRect: + m_X: 904 + m_Y: 103 + m_Width: 57 + m_Height: 61 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 43 + m_Metrics: + m_Width: 48 + m_Height: 59 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 62 + m_GlyphRect: + m_X: 495 + m_Y: 407 + m_Width: 48 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 44 + m_Metrics: + m_Width: 9 + m_Height: 59 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 24 + m_GlyphRect: + m_X: 552 + m_Y: 919 + m_Width: 9 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 45 + m_Metrics: + m_Width: 36 + m_Height: 60 + m_HorizontalBearingX: 1 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 43 + m_GlyphRect: + m_X: 797 + m_Y: 569 + m_Width: 36 + m_Height: 60 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 46 + m_Metrics: + m_Width: 50 + m_Height: 59 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 57 + m_GlyphRect: + m_X: 458 + m_Y: 326 + m_Width: 50 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 47 + m_Metrics: + m_Width: 39 + m_Height: 59 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 497 + m_Y: 816 + m_Width: 39 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 48 + m_Metrics: + m_Width: 59 + m_Height: 59 + m_HorizontalBearingX: 6 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 71 + m_GlyphRect: + m_X: 97 + m_Y: 955 + m_Width: 59 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 49 + m_Metrics: + m_Width: 48 + m_Height: 59 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 62 + m_GlyphRect: + m_X: 562 + m_Y: 408 + m_Width: 48 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 50 + m_Metrics: + m_Width: 59 + m_Height: 61 + m_HorizontalBearingX: 4 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 67 + m_GlyphRect: + m_X: 583 + m_Y: 89 + m_Width: 59 + m_Height: 61 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 51 + m_Metrics: + m_Width: 46 + m_Height: 59 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 57 + m_GlyphRect: + m_X: 669 + m_Y: 491 + m_Width: 46 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 52 + m_Metrics: + m_Width: 59 + m_Height: 76 + m_HorizontalBearingX: 4 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 67 + m_GlyphRect: + m_X: 10 + m_Y: 103 + m_Width: 59 + m_Height: 76 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 53 + m_Metrics: + m_Width: 52 + m_Height: 59 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 62 + m_GlyphRect: + m_X: 461 + m_Y: 248 + m_Width: 52 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 54 + m_Metrics: + m_Width: 51 + m_Height: 61 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 57 + m_GlyphRect: + m_X: 288 + m_Y: 273 + m_Width: 51 + m_Height: 61 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 55 + m_Metrics: + m_Width: 50 + m_Height: 59 + m_HorizontalBearingX: 1 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 52 + m_GlyphRect: + m_X: 527 + m_Y: 329 + m_Width: 50 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 56 + m_Metrics: + m_Width: 50 + m_Height: 60 + m_HorizontalBearingX: 6 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 62 + m_GlyphRect: + m_X: 655 + m_Y: 330 + m_Width: 50 + m_Height: 60 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 57 + m_Metrics: + m_Width: 57 + m_Height: 59 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 57 + m_GlyphRect: + m_X: 273 + m_Y: 195 + m_Width: 57 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 58 + m_Metrics: + m_Width: 85 + m_Height: 59 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 85 + m_GlyphRect: + m_X: 103 + m_Y: 10 + m_Width: 85 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 59 + m_Metrics: + m_Width: 56 + m_Height: 59 + m_HorizontalBearingX: 1 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 58 + m_GlyphRect: + m_X: 175 + m_Y: 955 + m_Width: 56 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 60 + m_Metrics: + m_Width: 54 + m_Height: 59 + m_HorizontalBearingX: 1 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 56 + m_GlyphRect: + m_X: 582 + m_Y: 169 + m_Width: 54 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 61 + m_Metrics: + m_Width: 49 + m_Height: 59 + m_HorizontalBearingX: 2 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 53 + m_GlyphRect: + m_X: 427 + m_Y: 404 + m_Width: 49 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 62 + m_Metrics: + m_Width: 18 + m_Height: 80 + m_HorizontalBearingX: 6 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 24 + m_GlyphRect: + m_X: 232 + m_Y: 671 + m_Width: 18 + m_Height: 80 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 63 + m_Metrics: + m_Width: 24 + m_Height: 63 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 24 + m_GlyphRect: + m_X: 375 + m_Y: 951 + m_Width: 24 + m_Height: 63 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 64 + m_Metrics: + m_Width: 18 + m_Height: 80 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 24 + m_GlyphRect: + m_X: 223 + m_Y: 393 + m_Width: 18 + m_Height: 80 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 65 + m_Metrics: + m_Width: 38 + m_Height: 31 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 38 + m_GlyphRect: + m_X: 630 + m_Y: 870 + m_Width: 38 + m_Height: 31 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 66 + m_Metrics: + m_Width: 51 + m_Height: 6 + m_HorizontalBearingX: -2 + m_HorizontalBearingY: -12 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 497 + m_Y: 894 + m_Width: 51 + m_Height: 6 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 67 + m_Metrics: + m_Width: 19 + m_Height: 13 + m_HorizontalBearingX: 4 + m_HorizontalBearingY: 63 + m_HorizontalAdvance: 29 + m_GlyphRect: + m_X: 456 + m_Y: 997 + m_Width: 19 + m_Height: 13 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 68 + m_Metrics: + m_Width: 45 + m_Height: 47 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 46 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 669 + m_Y: 648 + m_Width: 45 + m_Height: 47 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 69 + m_Metrics: + m_Width: 40 + m_Height: 63 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 738 + m_Y: 409 + m_Width: 40 + m_Height: 63 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 70 + m_Metrics: + m_Width: 38 + m_Height: 47 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 46 + m_HorizontalAdvance: 43 + m_GlyphRect: + m_X: 908 + m_Y: 579 + m_Width: 38 + m_Height: 47 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 71 + m_Metrics: + m_Width: 40 + m_Height: 63 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 797 + m_Y: 403 + m_Width: 40 + m_Height: 63 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 72 + m_Metrics: + m_Width: 42 + m_Height: 47 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 46 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 785 + m_Y: 337 + m_Width: 42 + m_Height: 47 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 73 + m_Metrics: + m_Width: 25 + m_Height: 62 + m_HorizontalBearingX: 1 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 25 + m_GlyphRect: + m_X: 538 + m_Y: 168 + m_Width: 25 + m_Height: 62 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 74 + m_Metrics: + m_Width: 40 + m_Height: 64 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 46 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 86 + m_Y: 872 + m_Width: 40 + m_Height: 64 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 75 + m_Metrics: + m_Width: 38 + m_Height: 62 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 430 + m_Y: 666 + m_Width: 38 + m_Height: 62 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 76 + m_Metrics: + m_Width: 9 + m_Height: 62 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 19 + m_GlyphRect: + m_X: 852 + m_Y: 567 + m_Width: 9 + m_Height: 62 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 77 + m_Metrics: + m_Width: 17 + m_Height: 80 + m_HorizontalBearingX: -3 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 20 + m_GlyphRect: + m_X: 145 + m_Y: 773 + m_Width: 17 + m_Height: 80 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 78 + m_Metrics: + m_Width: 40 + m_Height: 62 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 44 + m_GlyphRect: + m_X: 856 + m_Y: 403 + m_Width: 40 + m_Height: 62 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 79 + m_Metrics: + m_Width: 9 + m_Height: 62 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 19 + m_GlyphRect: + m_X: 880 + m_Y: 564 + m_Width: 9 + m_Height: 62 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 80 + m_Metrics: + m_Width: 64 + m_Height: 46 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 46 + m_HorizontalAdvance: 74 + m_GlyphRect: + m_X: 378 + m_Y: 222 + m_Width: 64 + m_Height: 46 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 81 + m_Metrics: + m_Width: 38 + m_Height: 46 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 46 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 630 + m_Y: 805 + m_Width: 38 + m_Height: 46 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 82 + m_Metrics: + m_Width: 42 + m_Height: 47 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 46 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 972 + m_Y: 264 + m_Width: 42 + m_Height: 47 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 83 + m_Metrics: + m_Width: 40 + m_Height: 64 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 46 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 145 + m_Y: 872 + m_Width: 40 + m_Height: 64 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 84 + m_Metrics: + m_Width: 40 + m_Height: 64 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 46 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 329 + m_Y: 666 + m_Width: 40 + m_Height: 64 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 85 + m_Metrics: + m_Width: 23 + m_Height: 46 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 46 + m_HorizontalAdvance: 29 + m_GlyphRect: + m_X: 926 + m_Y: 816 + m_Width: 23 + m_Height: 46 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 86 + m_Metrics: + m_Width: 38 + m_Height: 47 + m_HorizontalBearingX: 2 + m_HorizontalBearingY: 46 + m_HorizontalAdvance: 43 + m_GlyphRect: + m_X: 956 + m_Y: 740 + m_Width: 38 + m_Height: 47 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 87 + m_Metrics: + m_Width: 23 + m_Height: 56 + m_HorizontalBearingX: 1 + m_HorizontalBearingY: 55 + m_HorizontalAdvance: 24 + m_GlyphRect: + m_X: 388 + m_Y: 672 + m_Width: 23 + m_Height: 56 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 88 + m_Metrics: + m_Width: 38 + m_Height: 46 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 45 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 495 + m_Y: 919 + m_Width: 38 + m_Height: 46 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 89 + m_Metrics: + m_Width: 43 + m_Height: 45 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 45 + m_HorizontalAdvance: 43 + m_GlyphRect: + m_X: 226 + m_Y: 329 + m_Width: 43 + m_Height: 45 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 90 + m_Metrics: + m_Width: 63 + m_Height: 45 + m_HorizontalBearingX: -1 + m_HorizontalBearingY: 45 + m_HorizontalAdvance: 61 + m_GlyphRect: + m_X: 655 + m_Y: 188 + m_Width: 63 + m_Height: 45 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 91 + m_Metrics: + m_Width: 43 + m_Height: 45 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 45 + m_HorizontalAdvance: 43 + m_GlyphRect: + m_X: 737 + m_Y: 188 + m_Width: 43 + m_Height: 45 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 92 + m_Metrics: + m_Width: 41 + m_Height: 63 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 45 + m_HorizontalAdvance: 41 + m_GlyphRect: + m_X: 609 + m_Y: 640 + m_Width: 41 + m_Height: 63 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 93 + m_Metrics: + m_Width: 35 + m_Height: 45 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 45 + m_HorizontalAdvance: 42 + m_GlyphRect: + m_X: 968 + m_Y: 806 + m_Width: 35 + m_Height: 45 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 94 + m_Metrics: + m_Width: 27 + m_Height: 80 + m_HorizontalBearingX: 1 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 29 + m_GlyphRect: + m_X: 164 + m_Y: 113 + m_Width: 27 + m_Height: 80 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 95 + m_Metrics: + m_Width: 8 + m_Height: 80 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 22 + m_GlyphRect: + m_X: 181 + m_Y: 772 + m_Width: 8 + m_Height: 80 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 96 + m_Metrics: + m_Width: 27 + m_Height: 80 + m_HorizontalBearingX: 1 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 29 + m_GlyphRect: + m_X: 227 + m_Y: 182 + m_Width: 27 + m_Height: 80 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 97 + m_Metrics: + m_Width: 44 + m_Height: 11 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 34 + m_HorizontalAdvance: 50 + m_GlyphRect: + m_X: 333 + m_Y: 832 + m_Width: 44 + m_Height: 11 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 98 + m_Metrics: + m_Width: 0 + m_Height: 0 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 0 + m_HorizontalAdvance: 24 + m_GlyphRect: + m_X: 0 + m_Y: 0 + m_Width: 0 + m_Height: 0 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 99 + m_Metrics: + m_Width: 10 + m_Height: 59 + m_HorizontalBearingX: 9 + m_HorizontalBearingY: 45 + m_HorizontalAdvance: 28 + m_GlyphRect: + m_X: 349 + m_Y: 195 + m_Width: 10 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 100 + m_Metrics: + m_Width: 38 + m_Height: 60 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 915 + m_Y: 422 + m_Width: 38 + m_Height: 60 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 101 + m_Metrics: + m_Width: 45 + m_Height: 60 + m_HorizontalBearingX: 2 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 669 + m_Y: 569 + m_Width: 45 + m_Height: 60 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 102 + m_Metrics: + m_Width: 40 + m_Height: 40 + m_HorizontalBearingX: 4 + m_HorizontalBearingY: 48 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 733 + m_Y: 807 + m_Width: 40 + m_Height: 40 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 103 + m_Metrics: + m_Width: 50 + m_Height: 59 + m_HorizontalBearingX: -1 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 358 + m_Y: 357 + m_Width: 50 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 104 + m_Metrics: + m_Width: 8 + m_Height: 80 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 22 + m_GlyphRect: + m_X: 306 + m_Y: 766 + m_Width: 8 + m_Height: 80 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 105 + m_Metrics: + m_Width: 40 + m_Height: 69 + m_HorizontalBearingX: 4 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 223 + m_Y: 492 + m_Width: 40 + m_Height: 69 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 106 + m_Metrics: + m_Width: 25 + m_Height: 8 + m_HorizontalBearingX: 1 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 29 + m_GlyphRect: + m_X: 931 + m_Y: 961 + m_Width: 25 + m_Height: 8 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 107 + m_Metrics: + m_Width: 61 + m_Height: 61 + m_HorizontalBearingX: 1 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 63 + m_GlyphRect: + m_X: 277 + m_Y: 90 + m_Width: 61 + m_Height: 61 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 108 + m_Metrics: + m_Width: 32 + m_Height: 33 + m_HorizontalBearingX: 1 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 32 + m_GlyphRect: + m_X: 784 + m_Y: 870 + m_Width: 32 + m_Height: 33 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 109 + m_Metrics: + m_Width: 42 + m_Height: 34 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 39 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 972 + m_Y: 454 + m_Width: 42 + m_Height: 34 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 110 + m_Metrics: + m_Width: 42 + m_Height: 24 + m_HorizontalBearingX: 4 + m_HorizontalBearingY: 32 + m_HorizontalAdvance: 50 + m_GlyphRect: + m_X: 972 + m_Y: 560 + m_Width: 42 + m_Height: 24 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 111 + m_Metrics: + m_Width: 23 + m_Height: 7 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 26 + m_HorizontalAdvance: 29 + m_GlyphRect: + m_X: 583 + m_Y: 890 + m_Width: 23 + m_Height: 7 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 112 + m_Metrics: + m_Width: 61 + m_Height: 61 + m_HorizontalBearingX: 1 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 63 + m_GlyphRect: + m_X: 357 + m_Y: 90 + m_Width: 61 + m_Height: 61 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 113 + m_Metrics: + m_Width: 50 + m_Height: 4 + m_HorizontalBearingX: -1 + m_HorizontalBearingY: 65 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 862 + m_Y: 961 + m_Width: 50 + m_Height: 4 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 114 + m_Metrics: + m_Width: 24 + m_Height: 24 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 34 + m_GlyphRect: + m_X: 687 + m_Y: 906 + m_Width: 24 + m_Height: 24 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 115 + m_Metrics: + m_Width: 43 + m_Height: 52 + m_HorizontalBearingX: 2 + m_HorizontalBearingY: 52 + m_HorizontalAdvance: 47 + m_GlyphRect: + m_X: 607 + m_Y: 487 + m_Width: 43 + m_Height: 52 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 116 + m_Metrics: + m_Width: 27 + m_Height: 36 + m_HorizontalBearingX: 1 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 29 + m_GlyphRect: + m_X: 792 + m_Y: 815 + m_Width: 27 + m_Height: 36 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 117 + m_Metrics: + m_Width: 27 + m_Height: 37 + m_HorizontalBearingX: 1 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 29 + m_GlyphRect: + m_X: 687 + m_Y: 796 + m_Width: 27 + m_Height: 37 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 118 + m_Metrics: + m_Width: 19 + m_Height: 13 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 63 + m_HorizontalAdvance: 29 + m_GlyphRect: + m_X: 545 + m_Y: 997 + m_Width: 19 + m_Height: 13 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 119 + m_Metrics: + m_Width: 43 + m_Height: 63 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 45 + m_HorizontalAdvance: 50 + m_GlyphRect: + m_X: 593 + m_Y: 247 + m_Width: 43 + m_Height: 63 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 120 + m_Metrics: + m_Width: 40 + m_Height: 70 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 46 + m_GlyphRect: + m_X: 208 + m_Y: 770 + m_Width: 40 + m_Height: 70 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 121 + m_Metrics: + m_Width: 10 + m_Height: 10 + m_HorizontalBearingX: 9 + m_HorizontalBearingY: 28 + m_HorizontalAdvance: 29 + m_GlyphRect: + m_X: 996 + m_Y: 932 + m_Width: 10 + m_Height: 10 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 122 + m_Metrics: + m_Width: 16 + m_Height: 18 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 0 + m_HorizontalAdvance: 29 + m_GlyphRect: + m_X: 622 + m_Y: 958 + m_Width: 16 + m_Height: 18 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 123 + m_Metrics: + m_Width: 24 + m_Height: 35 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 29 + m_GlyphRect: + m_X: 687 + m_Y: 852 + m_Width: 24 + m_Height: 35 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 124 + m_Metrics: + m_Width: 29 + m_Height: 33 + m_HorizontalBearingX: 1 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 31 + m_GlyphRect: + m_X: 835 + m_Y: 877 + m_Width: 29 + m_Height: 33 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 125 + m_Metrics: + m_Width: 42 + m_Height: 34 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 39 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 972 + m_Y: 507 + m_Width: 42 + m_Height: 34 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 126 + m_Metrics: + m_Width: 67 + m_Height: 59 + m_HorizontalBearingX: 2 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 72 + m_GlyphRect: + m_X: 498 + m_Y: 10 + m_Width: 67 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 127 + m_Metrics: + m_Width: 68 + m_Height: 59 + m_HorizontalBearingX: 2 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 72 + m_GlyphRect: + m_X: 10 + m_Y: 955 + m_Width: 68 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 128 + m_Metrics: + m_Width: 66 + m_Height: 60 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 72 + m_GlyphRect: + m_X: 584 + m_Y: 10 + m_Width: 66 + m_Height: 60 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 129 + m_Metrics: + m_Width: 43 + m_Height: 60 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 45 + m_HorizontalAdvance: 53 + m_GlyphRect: + m_X: 903 + m_Y: 183 + m_Width: 43 + m_Height: 60 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 130 + m_Metrics: + m_Width: 57 + m_Height: 74 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 74 + m_HorizontalAdvance: 57 + m_GlyphRect: + m_X: 829 + m_Y: 10 + m_Width: 57 + m_Height: 74 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 131 + m_Metrics: + m_Width: 57 + m_Height: 74 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 74 + m_HorizontalAdvance: 57 + m_GlyphRect: + m_X: 905 + m_Y: 10 + m_Width: 57 + m_Height: 74 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 132 + m_Metrics: + m_Width: 57 + m_Height: 75 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 75 + m_HorizontalAdvance: 57 + m_GlyphRect: + m_X: 10 + m_Y: 673 + m_Width: 57 + m_Height: 75 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 133 + m_Metrics: + m_Width: 57 + m_Height: 75 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 75 + m_HorizontalAdvance: 57 + m_GlyphRect: + m_X: 10 + m_Y: 767 + m_Width: 57 + m_Height: 75 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 134 + m_Metrics: + m_Width: 57 + m_Height: 72 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 72 + m_HorizontalAdvance: 57 + m_GlyphRect: + m_X: 88 + m_Y: 113 + m_Width: 57 + m_Height: 72 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 135 + m_Metrics: + m_Width: 57 + m_Height: 75 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 75 + m_HorizontalAdvance: 57 + m_GlyphRect: + m_X: 10 + m_Y: 861 + m_Width: 57 + m_Height: 75 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 136 + m_Metrics: + m_Width: 82 + m_Height: 59 + m_HorizontalBearingX: 1 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 86 + m_GlyphRect: + m_X: 207 + m_Y: 10 + m_Width: 82 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 137 + m_Metrics: + m_Width: 55 + m_Height: 78 + m_HorizontalBearingX: 4 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 62 + m_GlyphRect: + m_X: 10 + m_Y: 576 + m_Width: 55 + m_Height: 78 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 138 + m_Metrics: + m_Width: 47 + m_Height: 74 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 74 + m_HorizontalAdvance: 57 + m_GlyphRect: + m_X: 84 + m_Y: 580 + m_Width: 47 + m_Height: 74 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 139 + m_Metrics: + m_Width: 47 + m_Height: 74 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 74 + m_HorizontalAdvance: 57 + m_GlyphRect: + m_X: 157 + m_Y: 487 + m_Width: 47 + m_Height: 74 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 140 + m_Metrics: + m_Width: 47 + m_Height: 75 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 75 + m_HorizontalAdvance: 57 + m_GlyphRect: + m_X: 157 + m_Y: 393 + m_Width: 47 + m_Height: 75 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 141 + m_Metrics: + m_Width: 47 + m_Height: 72 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 72 + m_HorizontalAdvance: 57 + m_GlyphRect: + m_X: 150 + m_Y: 580 + m_Width: 47 + m_Height: 72 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 142 + m_Metrics: + m_Width: 19 + m_Height: 74 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 74 + m_HorizontalAdvance: 24 + m_GlyphRect: + m_X: 227 + m_Y: 859 + m_Width: 19 + m_Height: 74 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 143 + m_Metrics: + m_Width: 19 + m_Height: 74 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 74 + m_HorizontalAdvance: 24 + m_GlyphRect: + m_X: 265 + m_Y: 859 + m_Width: 19 + m_Height: 74 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 144 + m_Metrics: + m_Width: 28 + m_Height: 75 + m_HorizontalBearingX: -2 + m_HorizontalBearingY: 75 + m_HorizontalAdvance: 24 + m_GlyphRect: + m_X: 981 + m_Y: 10 + m_Width: 28 + m_Height: 75 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 145 + m_Metrics: + m_Width: 25 + m_Height: 72 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 72 + m_HorizontalAdvance: 24 + m_GlyphRect: + m_X: 216 + m_Y: 580 + m_Width: 25 + m_Height: 72 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 146 + m_Metrics: + m_Width: 58 + m_Height: 59 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 62 + m_GlyphRect: + m_X: 751 + m_Y: 102 + m_Width: 58 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 147 + m_Metrics: + m_Width: 48 + m_Height: 75 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 75 + m_HorizontalAdvance: 62 + m_GlyphRect: + m_X: 210 + m_Y: 88 + m_Width: 48 + m_Height: 75 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 148 + m_Metrics: + m_Width: 59 + m_Height: 75 + m_HorizontalBearingX: 4 + m_HorizontalBearingY: 74 + m_HorizontalAdvance: 67 + m_GlyphRect: + m_X: 10 + m_Y: 388 + m_Width: 59 + m_Height: 75 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 149 + m_Metrics: + m_Width: 59 + m_Height: 75 + m_HorizontalBearingX: 4 + m_HorizontalBearingY: 74 + m_HorizontalAdvance: 67 + m_GlyphRect: + m_X: 10 + m_Y: 482 + m_Width: 59 + m_Height: 75 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 150 + m_Metrics: + m_Width: 59 + m_Height: 76 + m_HorizontalBearingX: 4 + m_HorizontalBearingY: 75 + m_HorizontalAdvance: 67 + m_GlyphRect: + m_X: 10 + m_Y: 198 + m_Width: 59 + m_Height: 76 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 151 + m_Metrics: + m_Width: 59 + m_Height: 76 + m_HorizontalBearingX: 4 + m_HorizontalBearingY: 75 + m_HorizontalAdvance: 67 + m_GlyphRect: + m_X: 10 + m_Y: 293 + m_Width: 59 + m_Height: 76 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 152 + m_Metrics: + m_Width: 59 + m_Height: 73 + m_HorizontalBearingX: 4 + m_HorizontalBearingY: 72 + m_HorizontalAdvance: 67 + m_GlyphRect: + m_X: 751 + m_Y: 10 + m_Width: 59 + m_Height: 73 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 153 + m_Metrics: + m_Width: 40 + m_Height: 39 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 48 + m_HorizontalAdvance: 50 + m_GlyphRect: + m_X: 838 + m_Y: 819 + m_Width: 40 + m_Height: 39 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 154 + m_Metrics: + m_Width: 63 + m_Height: 65 + m_HorizontalBearingX: 2 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 67 + m_GlyphRect: + m_X: 669 + m_Y: 10 + m_Width: 63 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 155 + m_Metrics: + m_Width: 50 + m_Height: 75 + m_HorizontalBearingX: 6 + m_HorizontalBearingY: 74 + m_HorizontalAdvance: 62 + m_GlyphRect: + m_X: 88 + m_Y: 392 + m_Width: 50 + m_Height: 75 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 156 + m_Metrics: + m_Width: 50 + m_Height: 75 + m_HorizontalBearingX: 6 + m_HorizontalBearingY: 74 + m_HorizontalAdvance: 62 + m_GlyphRect: + m_X: 88 + m_Y: 486 + m_Width: 50 + m_Height: 75 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 157 + m_Metrics: + m_Width: 50 + m_Height: 76 + m_HorizontalBearingX: 6 + m_HorizontalBearingY: 75 + m_HorizontalAdvance: 62 + m_GlyphRect: + m_X: 88 + m_Y: 297 + m_Width: 50 + m_Height: 76 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 158 + m_Metrics: + m_Width: 50 + m_Height: 73 + m_HorizontalBearingX: 6 + m_HorizontalBearingY: 72 + m_HorizontalAdvance: 62 + m_GlyphRect: + m_X: 157 + m_Y: 301 + m_Width: 50 + m_Height: 73 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 159 + m_Metrics: + m_Width: 54 + m_Height: 74 + m_HorizontalBearingX: 1 + m_HorizontalBearingY: 74 + m_HorizontalAdvance: 56 + m_GlyphRect: + m_X: 88 + m_Y: 204 + m_Width: 54 + m_Height: 74 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 160 + m_Metrics: + m_Width: 46 + m_Height: 59 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 57 + m_GlyphRect: + m_X: 734 + m_Y: 491 + m_Width: 46 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 161 + m_Metrics: + m_Width: 44 + m_Height: 63 + m_HorizontalBearingX: 6 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 53 + m_GlyphRect: + m_X: 545 + m_Y: 564 + m_Width: 44 + m_Height: 63 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 162 + m_Metrics: + m_Width: 45 + m_Height: 64 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 63 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 324 + m_Y: 583 + m_Width: 45 + m_Height: 64 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 163 + m_Metrics: + m_Width: 45 + m_Height: 64 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 63 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 333 + m_Y: 749 + m_Width: 45 + m_Height: 64 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 164 + m_Metrics: + m_Width: 45 + m_Height: 63 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 478 + m_Y: 485 + m_Width: 45 + m_Height: 63 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 165 + m_Metrics: + m_Width: 45 + m_Height: 62 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 61 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 250 + m_Y: 952 + m_Width: 45 + m_Height: 62 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 166 + m_Metrics: + m_Width: 45 + m_Height: 60 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 733 + m_Y: 569 + m_Width: 45 + m_Height: 60 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 167 + m_Metrics: + m_Width: 45 + m_Height: 71 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 70 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 260 + m_Y: 580 + m_Width: 45 + m_Height: 71 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 168 + m_Metrics: + m_Width: 71 + m_Height: 47 + m_HorizontalBearingX: 2 + m_HorizontalBearingY: 46 + m_HorizontalAdvance: 76 + m_GlyphRect: + m_X: 661 + m_Y: 94 + m_Width: 71 + m_Height: 47 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 169 + m_Metrics: + m_Width: 38 + m_Height: 64 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 46 + m_HorizontalAdvance: 43 + m_GlyphRect: + m_X: 427 + m_Y: 583 + m_Width: 38 + m_Height: 64 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 170 + m_Metrics: + m_Width: 42 + m_Height: 64 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 63 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 436 + m_Y: 747 + m_Width: 42 + m_Height: 64 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 171 + m_Metrics: + m_Width: 42 + m_Height: 64 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 63 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 484 + m_Y: 567 + m_Width: 42 + m_Height: 64 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 172 + m_Metrics: + m_Width: 42 + m_Height: 63 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 608 + m_Y: 558 + m_Width: 42 + m_Height: 63 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 173 + m_Metrics: + m_Width: 42 + m_Height: 60 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 851 + m_Y: 262 + m_Width: 42 + m_Height: 60 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 174 + m_Metrics: + m_Width: 19 + m_Height: 63 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 63 + m_HorizontalAdvance: 24 + m_GlyphRect: + m_X: 838 + m_Y: 737 + m_Width: 19 + m_Height: 63 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 175 + m_Metrics: + m_Width: 19 + m_Height: 63 + m_HorizontalBearingX: 6 + m_HorizontalBearingY: 63 + m_HorizontalAdvance: 24 + m_GlyphRect: + m_X: 418 + m_Y: 951 + m_Width: 19 + m_Height: 63 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 176 + m_Metrics: + m_Width: 29 + m_Height: 62 + m_HorizontalBearingX: -2 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 24 + m_GlyphRect: + m_X: 980 + m_Y: 104 + m_Width: 29 + m_Height: 62 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 177 + m_Metrics: + m_Width: 25 + m_Height: 59 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 24 + m_GlyphRect: + m_X: 794 + m_Y: 737 + m_Width: 25 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 178 + m_Metrics: + m_Width: 42 + m_Height: 64 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 63 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 487 + m_Y: 650 + m_Width: 42 + m_Height: 64 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 179 + m_Metrics: + m_Width: 38 + m_Height: 61 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 61 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 915 + m_Y: 342 + m_Width: 38 + m_Height: 61 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 180 + m_Metrics: + m_Width: 42 + m_Height: 64 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 63 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 548 + m_Y: 646 + m_Width: 42 + m_Height: 64 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 181 + m_Metrics: + m_Width: 42 + m_Height: 64 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 63 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 497 + m_Y: 733 + m_Width: 42 + m_Height: 64 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 182 + m_Metrics: + m_Width: 42 + m_Height: 63 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 672 + m_Y: 714 + m_Width: 42 + m_Height: 63 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 183 + m_Metrics: + m_Width: 42 + m_Height: 62 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 61 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 314 + m_Y: 952 + m_Width: 42 + m_Height: 62 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 184 + m_Metrics: + m_Width: 42 + m_Height: 60 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 972 + m_Y: 185 + m_Width: 42 + m_Height: 60 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 185 + m_Metrics: + m_Width: 43 + m_Height: 39 + m_HorizontalBearingX: 2 + m_HorizontalBearingY: 48 + m_HorizontalAdvance: 47 + m_GlyphRect: + m_X: 965 + m_Y: 603 + m_Width: 43 + m_Height: 39 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 186 + m_Metrics: + m_Width: 50 + m_Height: 49 + m_HorizontalBearingX: 1 + m_HorizontalBearingY: 47 + m_HorizontalAdvance: 53 + m_GlyphRect: + m_X: 357 + m_Y: 435 + m_Width: 50 + m_Height: 49 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 187 + m_Metrics: + m_Width: 38 + m_Height: 64 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 63 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 558 + m_Y: 729 + m_Width: 38 + m_Height: 64 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 188 + m_Metrics: + m_Width: 38 + m_Height: 64 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 63 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 615 + m_Y: 722 + m_Width: 38 + m_Height: 64 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 189 + m_Metrics: + m_Width: 38 + m_Height: 63 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 799 + m_Y: 485 + m_Width: 38 + m_Height: 63 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 190 + m_Metrics: + m_Width: 38 + m_Height: 60 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 956 + m_Y: 661 + m_Width: 38 + m_Height: 60 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 191 + m_Metrics: + m_Width: 41 + m_Height: 81 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 63 + m_HorizontalAdvance: 41 + m_GlyphRect: + m_X: 86 + m_Y: 673 + m_Width: 41 + m_Height: 81 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 192 + m_Metrics: + m_Width: 40 + m_Height: 80 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 86 + m_Y: 773 + m_Width: 40 + m_Height: 80 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 193 + m_Metrics: + m_Width: 41 + m_Height: 77 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 41 + m_GlyphRect: + m_X: 269 + m_Y: 670 + m_Width: 41 + m_Height: 77 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 1997 + m_Metrics: + m_Width: 0 + m_Height: 0 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 0 + m_HorizontalAdvance: 43 + m_GlyphRect: + m_X: 0 + m_Y: 0 + m_Width: 0 + m_Height: 0 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 1998 + m_Metrics: + m_Width: 0 + m_Height: 0 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 0 + m_HorizontalAdvance: 86 + m_GlyphRect: + m_X: 0 + m_Y: 0 + m_Width: 0 + m_Height: 0 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 1999 + m_Metrics: + m_Width: 0 + m_Height: 0 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 0 + m_HorizontalAdvance: 43 + m_GlyphRect: + m_X: 0 + m_Y: 0 + m_Width: 0 + m_Height: 0 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2000 + m_Metrics: + m_Width: 0 + m_Height: 0 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 0 + m_HorizontalAdvance: 86 + m_GlyphRect: + m_X: 0 + m_Y: 0 + m_Width: 0 + m_Height: 0 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2001 + m_Metrics: + m_Width: 0 + m_Height: 0 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 0 + m_HorizontalAdvance: 29 + m_GlyphRect: + m_X: 0 + m_Y: 0 + m_Width: 0 + m_Height: 0 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2002 + m_Metrics: + m_Width: 0 + m_Height: 0 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 0 + m_HorizontalAdvance: 22 + m_GlyphRect: + m_X: 0 + m_Y: 0 + m_Width: 0 + m_Height: 0 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2003 + m_Metrics: + m_Width: 0 + m_Height: 0 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 0 + m_HorizontalAdvance: 14 + m_GlyphRect: + m_X: 0 + m_Y: 0 + m_Width: 0 + m_Height: 0 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2004 + m_Metrics: + m_Width: 0 + m_Height: 0 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 0 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 0 + m_Y: 0 + m_Width: 0 + m_Height: 0 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2005 + m_Metrics: + m_Width: 0 + m_Height: 0 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 0 + m_HorizontalAdvance: 24 + m_GlyphRect: + m_X: 0 + m_Y: 0 + m_Width: 0 + m_Height: 0 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2006 + m_Metrics: + m_Width: 0 + m_Height: 0 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 0 + m_HorizontalAdvance: 17 + m_GlyphRect: + m_X: 0 + m_Y: 0 + m_Width: 0 + m_Height: 0 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2007 + m_Metrics: + m_Width: 0 + m_Height: 0 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 0 + m_HorizontalAdvance: 7 + m_GlyphRect: + m_X: 0 + m_Y: 0 + m_Width: 0 + m_Height: 0 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2008 + m_Metrics: + m_Width: 0 + m_Height: 0 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 0 + m_HorizontalAdvance: 0 + m_GlyphRect: + m_X: 0 + m_Y: 0 + m_Width: 0 + m_Height: 0 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2009 + m_Metrics: + m_Width: 4 + m_Height: 65 + m_HorizontalBearingX: -2 + m_HorizontalBearingY: 54 + m_HorizontalAdvance: 0 + m_GlyphRect: + m_X: 204 + m_Y: 871 + m_Width: 4 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2010 + m_Metrics: + m_Width: 20 + m_Height: 70 + m_HorizontalBearingX: -10 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 0 + m_GlyphRect: + m_X: 267 + m_Y: 770 + m_Width: 20 + m_Height: 70 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2011 + m_Metrics: + m_Width: 21 + m_Height: 70 + m_HorizontalBearingX: -2 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 0 + m_GlyphRect: + m_X: 260 + m_Y: 393 + m_Width: 21 + m_Height: 70 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2012 + m_Metrics: + m_Width: 21 + m_Height: 70 + m_HorizontalBearingX: -19 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 0 + m_GlyphRect: + m_X: 282 + m_Y: 482 + m_Width: 21 + m_Height: 70 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2013 + m_Metrics: + m_Width: 48 + m_Height: 6 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 25 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 862 + m_Y: 936 + m_Width: 48 + m_Height: 6 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2014 + m_Metrics: + m_Width: 48 + m_Height: 6 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 25 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 929 + m_Y: 936 + m_Width: 48 + m_Height: 6 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2015 + m_Metrics: + m_Width: 86 + m_Height: 6 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 25 + m_HorizontalAdvance: 86 + m_GlyphRect: + m_X: 103 + m_Y: 88 + m_Width: 86 + m_Height: 6 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2016 + m_Metrics: + m_Width: 86 + m_Height: 6 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 25 + m_HorizontalAdvance: 86 + m_GlyphRect: + m_X: 277 + m_Y: 170 + m_Width: 86 + m_Height: 6 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2017 + m_Metrics: + m_Width: 22 + m_Height: 62 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 36 + m_GlyphRect: + m_X: 862 + m_Y: 181 + m_Width: 22 + m_Height: 62 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2018 + m_Metrics: + m_Width: 51 + m_Height: 15 + m_HorizontalBearingX: -2 + m_HorizontalBearingY: -4 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 288 + m_Y: 353 + m_Width: 51 + m_Height: 15 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2019 + m_Metrics: + m_Width: 9 + m_Height: 19 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 19 + m_GlyphRect: + m_X: 612 + m_Y: 995 + m_Width: 9 + m_Height: 19 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2020 + m_Metrics: + m_Width: 9 + m_Height: 19 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 19 + m_GlyphRect: + m_X: 640 + m_Y: 995 + m_Width: 9 + m_Height: 19 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2021 + m_Metrics: + m_Width: 9 + m_Height: 19 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 8 + m_HorizontalAdvance: 19 + m_GlyphRect: + m_X: 1002 + m_Y: 961 + m_Width: 9 + m_Height: 19 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2022 + m_Metrics: + m_Width: 9 + m_Height: 19 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 19 + m_GlyphRect: + m_X: 686 + m_Y: 949 + m_Width: 9 + m_Height: 19 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2023 + m_Metrics: + m_Width: 23 + m_Height: 19 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 29 + m_GlyphRect: + m_X: 967 + m_Y: 894 + m_Width: 23 + m_Height: 19 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2024 + m_Metrics: + m_Width: 23 + m_Height: 19 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 29 + m_GlyphRect: + m_X: 580 + m_Y: 916 + m_Width: 23 + m_Height: 19 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2025 + m_Metrics: + m_Width: 23 + m_Height: 19 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 8 + m_HorizontalAdvance: 29 + m_GlyphRect: + m_X: 580 + m_Y: 954 + m_Width: 23 + m_Height: 19 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2026 + m_Metrics: + m_Width: 22 + m_Height: 19 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 29 + m_GlyphRect: + m_X: 622 + m_Y: 920 + m_Width: 22 + m_Height: 19 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2027 + m_Metrics: + m_Width: 38 + m_Height: 68 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 303 + m_Y: 865 + m_Width: 38 + m_Height: 68 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2028 + m_Metrics: + m_Width: 38 + m_Height: 68 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 300 + m_Y: 387 + m_Width: 38 + m_Height: 68 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2029 + m_Metrics: + m_Width: 24 + m_Height: 23 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 40 + m_HorizontalAdvance: 30 + m_GlyphRect: + m_X: 819 + m_Y: 929 + m_Width: 24 + m_Height: 23 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2030 + m_Metrics: + m_Width: 64 + m_Height: 9 + m_HorizontalBearingX: 11 + m_HorizontalBearingY: 9 + m_HorizontalAdvance: 86 + m_GlyphRect: + m_X: 661 + m_Y: 160 + m_Width: 64 + m_Height: 9 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2031 + m_Metrics: + m_Width: 21 + m_Height: 63 + m_HorizontalBearingX: -2 + m_HorizontalBearingY: 52 + m_HorizontalAdvance: 0 + m_GlyphRect: + m_X: 876 + m_Y: 737 + m_Width: 21 + m_Height: 63 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2032 + m_Metrics: + m_Width: 21 + m_Height: 63 + m_HorizontalBearingX: -19 + m_HorizontalBearingY: 52 + m_HorizontalAdvance: 0 + m_GlyphRect: + m_X: 916 + m_Y: 734 + m_Width: 21 + m_Height: 63 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2033 + m_Metrics: + m_Width: 20 + m_Height: 70 + m_HorizontalBearingX: -10 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 0 + m_GlyphRect: + m_X: 388 + m_Y: 583 + m_Width: 20 + m_Height: 70 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2034 + m_Metrics: + m_Width: 20 + m_Height: 70 + m_HorizontalBearingX: -10 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 0 + m_GlyphRect: + m_X: 397 + m_Y: 747 + m_Width: 20 + m_Height: 70 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2035 + m_Metrics: + m_Width: 20 + m_Height: 70 + m_HorizontalBearingX: -10 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 0 + m_GlyphRect: + m_X: 360 + m_Y: 862 + m_Width: 20 + m_Height: 70 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2036 + m_Metrics: + m_Width: 0 + m_Height: 0 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 0 + m_HorizontalAdvance: 17 + m_GlyphRect: + m_X: 0 + m_Y: 0 + m_Width: 0 + m_Height: 0 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2037 + m_Metrics: + m_Width: 82 + m_Height: 61 + m_HorizontalBearingX: 2 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 86 + m_GlyphRect: + m_X: 308 + m_Y: 10 + m_Width: 82 + m_Height: 61 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2038 + m_Metrics: + m_Width: 12 + m_Height: 22 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 16 + m_GlyphRect: + m_X: 427 + m_Y: 363 + m_Width: 12 + m_Height: 22 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2039 + m_Metrics: + m_Width: 26 + m_Height: 22 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 30 + m_GlyphRect: + m_X: 730 + m_Y: 907 + m_Width: 26 + m_Height: 22 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2040 + m_Metrics: + m_Width: 35 + m_Height: 22 + m_HorizontalBearingX: -4 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 30 + m_GlyphRect: + m_X: 730 + m_Y: 866 + m_Width: 35 + m_Height: 22 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2041 + m_Metrics: + m_Width: 23 + m_Height: 34 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 39 + m_HorizontalAdvance: 29 + m_GlyphRect: + m_X: 883 + m_Y: 883 + m_Width: 23 + m_Height: 34 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2042 + m_Metrics: + m_Width: 23 + m_Height: 34 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 39 + m_HorizontalAdvance: 29 + m_GlyphRect: + m_X: 925 + m_Y: 883 + m_Width: 23 + m_Height: 34 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2043 + m_Metrics: + m_Width: 28 + m_Height: 59 + m_HorizontalBearingX: 9 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 43 + m_GlyphRect: + m_X: 583 + m_Y: 812 + m_Width: 28 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2044 + m_Metrics: + m_Width: 35 + m_Height: 5 + m_HorizontalBearingX: -3 + m_HorizontalBearingY: 68 + m_HorizontalAdvance: 29 + m_GlyphRect: + m_X: 968 + m_Y: 870 + m_Width: 35 + m_Height: 5 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2045 + m_Metrics: + m_Width: 44 + m_Height: 59 + m_HorizontalBearingX: -18 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 14 + m_GlyphRect: + m_X: 799 + m_Y: 181 + m_Width: 44 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2046 + m_Metrics: + m_Width: 10 + m_Height: 62 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 24 + m_GlyphRect: + m_X: 322 + m_Y: 474 + m_Width: 10 + m_Height: 62 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2047 + m_Metrics: + m_Width: 20 + m_Height: 70 + m_HorizontalBearingX: -10 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 0 + m_GlyphRect: + m_X: 399 + m_Y: 836 + m_Width: 20 + m_Height: 70 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2048 + m_Metrics: + m_Width: 20 + m_Height: 70 + m_HorizontalBearingX: -10 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 0 + m_GlyphRect: + m_X: 794 + m_Y: 648 + m_Width: 20 + m_Height: 70 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2049 + m_Metrics: + m_Width: 22 + m_Height: 70 + m_HorizontalBearingX: -11 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 0 + m_GlyphRect: + m_X: 833 + m_Y: 648 + m_Width: 22 + m_Height: 70 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2050 + m_Metrics: + m_Width: 22 + m_Height: 70 + m_HorizontalBearingX: -11 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 0 + m_GlyphRect: + m_X: 874 + m_Y: 648 + m_Width: 22 + m_Height: 70 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2051 + m_Metrics: + m_Width: 22 + m_Height: 70 + m_HorizontalBearingX: -11 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 0 + m_GlyphRect: + m_X: 915 + m_Y: 645 + m_Width: 22 + m_Height: 70 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2052 + m_Metrics: + m_Width: 20 + m_Height: 70 + m_HorizontalBearingX: -10 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 0 + m_GlyphRect: + m_X: 456 + m_Y: 908 + m_Width: 20 + m_Height: 70 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2075 + m_Metrics: + m_Width: 47 + m_Height: 61 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 60 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 351 + m_Y: 503 + m_Width: 47 + m_Height: 61 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2090 + m_Metrics: + m_Width: 70 + m_Height: 33 + m_HorizontalBearingX: 7 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 86 + m_GlyphRect: + m_X: 382 + m_Y: 170 + m_Width: 70 + m_Height: 33 + m_Scale: 1 + m_AtlasIndex: 0 + - m_Index: 2179 + m_Metrics: + m_Width: 52 + m_Height: 51 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 51 + m_HorizontalAdvance: 52 + m_GlyphRect: + m_X: 358 + m_Y: 287 + m_Width: 52 + m_Height: 51 + m_Scale: 1 + m_AtlasIndex: 0 + m_CharacterTable: + - m_ElementType: 1 + m_Unicode: 32 + m_GlyphIndex: 3 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 33 + m_GlyphIndex: 4 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 34 + m_GlyphIndex: 5 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 35 + m_GlyphIndex: 6 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 36 + m_GlyphIndex: 7 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 37 + m_GlyphIndex: 8 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 38 + m_GlyphIndex: 9 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 39 + m_GlyphIndex: 10 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 40 + m_GlyphIndex: 11 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 41 + m_GlyphIndex: 12 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 42 + m_GlyphIndex: 13 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 43 + m_GlyphIndex: 14 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 44 + m_GlyphIndex: 15 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 45 + m_GlyphIndex: 16 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 46 + m_GlyphIndex: 17 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 47 + m_GlyphIndex: 18 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 48 + m_GlyphIndex: 19 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 49 + m_GlyphIndex: 20 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 50 + m_GlyphIndex: 21 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 51 + m_GlyphIndex: 22 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 52 + m_GlyphIndex: 23 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 53 + m_GlyphIndex: 24 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 54 + m_GlyphIndex: 25 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 55 + m_GlyphIndex: 26 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 56 + m_GlyphIndex: 27 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 57 + m_GlyphIndex: 28 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 58 + m_GlyphIndex: 29 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 59 + m_GlyphIndex: 30 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 60 + m_GlyphIndex: 31 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 61 + m_GlyphIndex: 32 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 62 + m_GlyphIndex: 33 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 63 + m_GlyphIndex: 34 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 64 + m_GlyphIndex: 35 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 65 + m_GlyphIndex: 36 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 66 + m_GlyphIndex: 37 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 67 + m_GlyphIndex: 38 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 68 + m_GlyphIndex: 39 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 69 + m_GlyphIndex: 40 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 70 + m_GlyphIndex: 41 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 71 + m_GlyphIndex: 42 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 72 + m_GlyphIndex: 43 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 73 + m_GlyphIndex: 44 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 74 + m_GlyphIndex: 45 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 75 + m_GlyphIndex: 46 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 76 + m_GlyphIndex: 47 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 77 + m_GlyphIndex: 48 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 78 + m_GlyphIndex: 49 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 79 + m_GlyphIndex: 50 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 80 + m_GlyphIndex: 51 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 81 + m_GlyphIndex: 52 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 82 + m_GlyphIndex: 53 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 83 + m_GlyphIndex: 54 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 84 + m_GlyphIndex: 55 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 85 + m_GlyphIndex: 56 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 86 + m_GlyphIndex: 57 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 87 + m_GlyphIndex: 58 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 88 + m_GlyphIndex: 59 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 89 + m_GlyphIndex: 60 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 90 + m_GlyphIndex: 61 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 91 + m_GlyphIndex: 62 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 92 + m_GlyphIndex: 63 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 93 + m_GlyphIndex: 64 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 94 + m_GlyphIndex: 65 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 95 + m_GlyphIndex: 66 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 96 + m_GlyphIndex: 67 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 97 + m_GlyphIndex: 68 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 98 + m_GlyphIndex: 69 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 99 + m_GlyphIndex: 70 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 100 + m_GlyphIndex: 71 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 101 + m_GlyphIndex: 72 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 102 + m_GlyphIndex: 73 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 103 + m_GlyphIndex: 74 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 104 + m_GlyphIndex: 75 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 105 + m_GlyphIndex: 76 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 106 + m_GlyphIndex: 77 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 107 + m_GlyphIndex: 78 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 108 + m_GlyphIndex: 79 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 109 + m_GlyphIndex: 80 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 110 + m_GlyphIndex: 81 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 111 + m_GlyphIndex: 82 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 112 + m_GlyphIndex: 83 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 113 + m_GlyphIndex: 84 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 114 + m_GlyphIndex: 85 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 115 + m_GlyphIndex: 86 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 116 + m_GlyphIndex: 87 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 117 + m_GlyphIndex: 88 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 118 + m_GlyphIndex: 89 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 119 + m_GlyphIndex: 90 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 120 + m_GlyphIndex: 91 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 121 + m_GlyphIndex: 92 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 122 + m_GlyphIndex: 93 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 123 + m_GlyphIndex: 94 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 124 + m_GlyphIndex: 95 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 125 + m_GlyphIndex: 96 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 126 + m_GlyphIndex: 97 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 160 + m_GlyphIndex: 98 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 161 + m_GlyphIndex: 99 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 162 + m_GlyphIndex: 100 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 163 + m_GlyphIndex: 101 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 164 + m_GlyphIndex: 102 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 165 + m_GlyphIndex: 103 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 166 + m_GlyphIndex: 104 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 167 + m_GlyphIndex: 105 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 168 + m_GlyphIndex: 106 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 169 + m_GlyphIndex: 107 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 170 + m_GlyphIndex: 108 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 171 + m_GlyphIndex: 109 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 172 + m_GlyphIndex: 110 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 173 + m_GlyphIndex: 111 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 174 + m_GlyphIndex: 112 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 175 + m_GlyphIndex: 113 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 176 + m_GlyphIndex: 114 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 177 + m_GlyphIndex: 115 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 178 + m_GlyphIndex: 116 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 179 + m_GlyphIndex: 117 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 180 + m_GlyphIndex: 118 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 181 + m_GlyphIndex: 119 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 182 + m_GlyphIndex: 120 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 183 + m_GlyphIndex: 121 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 184 + m_GlyphIndex: 122 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 185 + m_GlyphIndex: 123 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 186 + m_GlyphIndex: 124 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 187 + m_GlyphIndex: 125 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 188 + m_GlyphIndex: 126 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 189 + m_GlyphIndex: 127 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 190 + m_GlyphIndex: 128 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 191 + m_GlyphIndex: 129 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 192 + m_GlyphIndex: 130 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 193 + m_GlyphIndex: 131 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 194 + m_GlyphIndex: 132 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 195 + m_GlyphIndex: 133 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 196 + m_GlyphIndex: 134 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 197 + m_GlyphIndex: 135 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 198 + m_GlyphIndex: 136 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 199 + m_GlyphIndex: 137 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 200 + m_GlyphIndex: 138 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 201 + m_GlyphIndex: 139 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 202 + m_GlyphIndex: 140 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 203 + m_GlyphIndex: 141 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 204 + m_GlyphIndex: 142 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 205 + m_GlyphIndex: 143 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 206 + m_GlyphIndex: 144 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 207 + m_GlyphIndex: 145 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 208 + m_GlyphIndex: 146 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 209 + m_GlyphIndex: 147 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 210 + m_GlyphIndex: 148 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 211 + m_GlyphIndex: 149 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 212 + m_GlyphIndex: 150 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 213 + m_GlyphIndex: 151 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 214 + m_GlyphIndex: 152 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 215 + m_GlyphIndex: 153 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 216 + m_GlyphIndex: 154 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 217 + m_GlyphIndex: 155 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 218 + m_GlyphIndex: 156 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 219 + m_GlyphIndex: 157 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 220 + m_GlyphIndex: 158 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 221 + m_GlyphIndex: 159 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 222 + m_GlyphIndex: 160 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 223 + m_GlyphIndex: 161 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 224 + m_GlyphIndex: 162 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 225 + m_GlyphIndex: 163 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 226 + m_GlyphIndex: 164 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 227 + m_GlyphIndex: 165 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 228 + m_GlyphIndex: 166 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 229 + m_GlyphIndex: 167 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 230 + m_GlyphIndex: 168 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 231 + m_GlyphIndex: 169 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 232 + m_GlyphIndex: 170 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 233 + m_GlyphIndex: 171 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 234 + m_GlyphIndex: 172 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 235 + m_GlyphIndex: 173 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 236 + m_GlyphIndex: 174 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 237 + m_GlyphIndex: 175 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 238 + m_GlyphIndex: 176 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 239 + m_GlyphIndex: 177 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 240 + m_GlyphIndex: 178 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 241 + m_GlyphIndex: 179 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 242 + m_GlyphIndex: 180 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 243 + m_GlyphIndex: 181 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 244 + m_GlyphIndex: 182 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 245 + m_GlyphIndex: 183 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 246 + m_GlyphIndex: 184 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 247 + m_GlyphIndex: 185 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 248 + m_GlyphIndex: 186 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 249 + m_GlyphIndex: 187 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 250 + m_GlyphIndex: 188 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 251 + m_GlyphIndex: 189 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 252 + m_GlyphIndex: 190 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 253 + m_GlyphIndex: 191 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 254 + m_GlyphIndex: 192 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 255 + m_GlyphIndex: 193 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8192 + m_GlyphIndex: 1997 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8193 + m_GlyphIndex: 1998 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8194 + m_GlyphIndex: 1999 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8195 + m_GlyphIndex: 2000 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8196 + m_GlyphIndex: 2001 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8197 + m_GlyphIndex: 2002 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8198 + m_GlyphIndex: 2003 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8199 + m_GlyphIndex: 2004 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8200 + m_GlyphIndex: 2005 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8201 + m_GlyphIndex: 2006 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8202 + m_GlyphIndex: 2007 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8203 + m_GlyphIndex: 2008 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8204 + m_GlyphIndex: 2009 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8205 + m_GlyphIndex: 2010 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8206 + m_GlyphIndex: 2011 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8207 + m_GlyphIndex: 2012 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8210 + m_GlyphIndex: 2013 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8211 + m_GlyphIndex: 2014 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8212 + m_GlyphIndex: 2015 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8213 + m_GlyphIndex: 2016 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8214 + m_GlyphIndex: 2017 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8215 + m_GlyphIndex: 2018 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8216 + m_GlyphIndex: 2019 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8217 + m_GlyphIndex: 2020 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8218 + m_GlyphIndex: 2021 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8219 + m_GlyphIndex: 2022 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8220 + m_GlyphIndex: 2023 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8221 + m_GlyphIndex: 2024 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8222 + m_GlyphIndex: 2025 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8223 + m_GlyphIndex: 2026 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8224 + m_GlyphIndex: 2027 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8225 + m_GlyphIndex: 2028 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8226 + m_GlyphIndex: 2029 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8230 + m_GlyphIndex: 2030 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8234 + m_GlyphIndex: 2031 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8235 + m_GlyphIndex: 2032 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8236 + m_GlyphIndex: 2033 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8237 + m_GlyphIndex: 2034 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8238 + m_GlyphIndex: 2035 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8239 + m_GlyphIndex: 2036 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8240 + m_GlyphIndex: 2037 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8242 + m_GlyphIndex: 2038 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8243 + m_GlyphIndex: 2039 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8244 + m_GlyphIndex: 2040 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8249 + m_GlyphIndex: 2041 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8250 + m_GlyphIndex: 2042 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8252 + m_GlyphIndex: 2043 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8254 + m_GlyphIndex: 2044 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8260 + m_GlyphIndex: 2045 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8286 + m_GlyphIndex: 2046 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8298 + m_GlyphIndex: 2047 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8299 + m_GlyphIndex: 2048 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8300 + m_GlyphIndex: 2049 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8301 + m_GlyphIndex: 2050 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8302 + m_GlyphIndex: 2051 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8303 + m_GlyphIndex: 2052 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8364 + m_GlyphIndex: 2075 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8482 + m_GlyphIndex: 2090 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 9633 + m_GlyphIndex: 2179 + m_Scale: 1 + m_AtlasTextures: + - {fileID: 28684132378477856} + m_AtlasTextureIndex: 0 + m_UsedGlyphRects: + - m_X: 0 + m_Y: 0 + m_Width: 93 + m_Height: 93 + - m_X: 93 + m_Y: 0 + m_Width: 104 + m_Height: 78 + - m_X: 197 + m_Y: 0 + m_Width: 101 + m_Height: 78 + - m_X: 298 + m_Y: 0 + m_Width: 101 + m_Height: 80 + - m_X: 0 + m_Y: 93 + m_Width: 78 + m_Height: 95 + - m_X: 0 + m_Y: 188 + m_Width: 78 + m_Height: 95 + - m_X: 0 + m_Y: 283 + m_Width: 78 + m_Height: 95 + - m_X: 0 + m_Y: 378 + m_Width: 78 + m_Height: 94 + - m_X: 0 + m_Y: 472 + m_Width: 78 + m_Height: 94 + - m_X: 0 + m_Y: 566 + m_Width: 74 + m_Height: 97 + - m_X: 399 + m_Y: 0 + m_Width: 89 + m_Height: 80 + - m_X: 0 + m_Y: 663 + m_Width: 76 + m_Height: 94 + - m_X: 0 + m_Y: 757 + m_Width: 76 + m_Height: 94 + - m_X: 0 + m_Y: 851 + m_Width: 76 + m_Height: 94 + - m_X: 0 + m_Y: 945 + m_Width: 87 + m_Height: 78 + - m_X: 488 + m_Y: 0 + m_Width: 86 + m_Height: 78 + - m_X: 574 + m_Y: 0 + m_Width: 85 + m_Height: 79 + - m_X: 659 + m_Y: 0 + m_Width: 82 + m_Height: 84 + - m_X: 741 + m_Y: 0 + m_Width: 78 + m_Height: 92 + - m_X: 819 + m_Y: 0 + m_Width: 76 + m_Height: 93 + - m_X: 895 + m_Y: 0 + m_Width: 76 + m_Height: 93 + - m_X: 971 + m_Y: 0 + m_Width: 47 + m_Height: 94 + - m_X: 93 + m_Y: 78 + m_Width: 105 + m_Height: 25 + - m_X: 78 + m_Y: 103 + m_Width: 76 + m_Height: 91 + - m_X: 78 + m_Y: 194 + m_Width: 73 + m_Height: 93 + - m_X: 78 + m_Y: 287 + m_Width: 69 + m_Height: 95 + - m_X: 78 + m_Y: 382 + m_Width: 69 + m_Height: 94 + - m_X: 78 + m_Y: 476 + m_Width: 69 + m_Height: 94 + - m_X: 74 + m_Y: 570 + m_Width: 66 + m_Height: 93 + - m_X: 76 + m_Y: 663 + m_Width: 60 + m_Height: 100 + - m_X: 76 + m_Y: 763 + m_Width: 59 + m_Height: 99 + - m_X: 76 + m_Y: 862 + m_Width: 59 + m_Height: 83 + - m_X: 87 + m_Y: 945 + m_Width: 78 + m_Height: 78 + - m_X: 154 + m_Y: 103 + m_Width: 46 + m_Height: 99 + - m_X: 200 + m_Y: 78 + m_Width: 67 + m_Height: 94 + - m_X: 151 + m_Y: 202 + m_Width: 66 + m_Height: 89 + - m_X: 147 + m_Y: 291 + m_Width: 69 + m_Height: 92 + - m_X: 147 + m_Y: 383 + m_Width: 66 + m_Height: 94 + - m_X: 147 + m_Y: 477 + m_Width: 66 + m_Height: 93 + - m_X: 140 + m_Y: 570 + m_Width: 66 + m_Height: 91 + - m_X: 267 + m_Y: 80 + m_Width: 80 + m_Height: 80 + - m_X: 347 + m_Y: 80 + m_Width: 80 + m_Height: 80 + - m_X: 427 + m_Y: 80 + m_Width: 72 + m_Height: 80 + - m_X: 499 + m_Y: 78 + m_Width: 74 + m_Height: 80 + - m_X: 573 + m_Y: 79 + m_Width: 78 + m_Height: 80 + - m_X: 651 + m_Y: 84 + m_Width: 90 + m_Height: 66 + - m_X: 741 + m_Y: 92 + m_Width: 77 + m_Height: 78 + - m_X: 818 + m_Y: 93 + m_Width: 76 + m_Height: 78 + - m_X: 894 + m_Y: 93 + m_Width: 76 + m_Height: 80 + - m_X: 970 + m_Y: 94 + m_Width: 48 + m_Height: 81 + - m_X: 267 + m_Y: 160 + m_Width: 105 + m_Height: 25 + - m_X: 217 + m_Y: 172 + m_Width: 46 + m_Height: 99 + - m_X: 263 + m_Y: 185 + m_Width: 76 + m_Height: 78 + - m_X: 372 + m_Y: 160 + m_Width: 89 + m_Height: 52 + - m_X: 339 + m_Y: 185 + m_Width: 29 + m_Height: 78 + - m_X: 368 + m_Y: 212 + m_Width: 83 + m_Height: 65 + - m_X: 136 + m_Y: 663 + m_Width: 43 + m_Height: 99 + - m_X: 179 + m_Y: 661 + m_Width: 43 + m_Height: 99 + - m_X: 206 + m_Y: 570 + m_Width: 44 + m_Height: 91 + - m_X: 222 + m_Y: 661 + m_Width: 37 + m_Height: 99 + - m_X: 213 + m_Y: 383 + m_Width: 37 + m_Height: 99 + - m_X: 213 + m_Y: 482 + m_Width: 59 + m_Height: 88 + - m_X: 250 + m_Y: 570 + m_Width: 64 + m_Height: 90 + - m_X: 259 + m_Y: 660 + m_Width: 60 + m_Height: 96 + - m_X: 135 + m_Y: 763 + m_Width: 36 + m_Height: 99 + - m_X: 135 + m_Y: 862 + m_Width: 59 + m_Height: 83 + - m_X: 165 + m_Y: 945 + m_Width: 75 + m_Height: 78 + - m_X: 171 + m_Y: 762 + m_Width: 27 + m_Height: 99 + - m_X: 198 + m_Y: 760 + m_Width: 59 + m_Height: 89 + - m_X: 194 + m_Y: 861 + m_Width: 23 + m_Height: 84 + - m_X: 217 + m_Y: 849 + m_Width: 38 + m_Height: 93 + - m_X: 240 + m_Y: 942 + m_Width: 64 + m_Height: 81 + - m_X: 255 + m_Y: 849 + m_Width: 38 + m_Height: 93 + - m_X: 257 + m_Y: 760 + m_Width: 39 + m_Height: 89 + - m_X: 296 + m_Y: 756 + m_Width: 27 + m_Height: 99 + - m_X: 293 + m_Y: 855 + m_Width: 57 + m_Height: 87 + - m_X: 304 + m_Y: 942 + m_Width: 61 + m_Height: 81 + - m_X: 651 + m_Y: 150 + m_Width: 83 + m_Height: 28 + - m_X: 461 + m_Y: 160 + m_Width: 67 + m_Height: 78 + - m_X: 528 + m_Y: 158 + m_Width: 44 + m_Height: 81 + - m_X: 572 + m_Y: 159 + m_Width: 73 + m_Height: 78 + - m_X: 645 + m_Y: 178 + m_Width: 82 + m_Height: 64 + - m_X: 451 + m_Y: 238 + m_Width: 71 + m_Height: 78 + - m_X: 522 + m_Y: 239 + m_Width: 61 + m_Height: 80 + - m_X: 583 + m_Y: 237 + m_Width: 62 + m_Height: 82 + - m_X: 645 + m_Y: 242 + m_Width: 70 + m_Height: 78 + - m_X: 216 + m_Y: 319 + m_Width: 62 + m_Height: 64 + - m_X: 217 + m_Y: 271 + m_Width: 61 + m_Height: 48 + - m_X: 278 + m_Y: 263 + m_Width: 70 + m_Height: 80 + - m_X: 250 + m_Y: 383 + m_Width: 40 + m_Height: 89 + - m_X: 348 + m_Y: 277 + m_Width: 71 + m_Height: 70 + - m_X: 278 + m_Y: 343 + m_Width: 70 + m_Height: 34 + - m_X: 290 + m_Y: 377 + m_Width: 57 + m_Height: 87 + - m_X: 419 + m_Y: 277 + m_Width: 29 + m_Height: 76 + - m_X: 448 + m_Y: 316 + m_Width: 69 + m_Height: 78 + - m_X: 517 + m_Y: 319 + m_Width: 69 + m_Height: 78 + - m_X: 586 + m_Y: 319 + m_Width: 59 + m_Height: 79 + - m_X: 645 + m_Y: 320 + m_Width: 69 + m_Height: 79 + - m_X: 348 + m_Y: 347 + m_Width: 69 + m_Height: 78 + - m_X: 417 + m_Y: 353 + m_Width: 31 + m_Height: 41 + - m_X: 347 + m_Y: 425 + m_Width: 69 + m_Height: 68 + - m_X: 417 + m_Y: 394 + m_Width: 68 + m_Height: 78 + - m_X: 485 + m_Y: 397 + m_Width: 67 + m_Height: 78 + - m_X: 552 + m_Y: 398 + m_Width: 67 + m_Height: 78 + - m_X: 619 + m_Y: 399 + m_Width: 66 + m_Height: 78 + - m_X: 685 + m_Y: 399 + m_Width: 43 + m_Height: 82 + - m_X: 272 + m_Y: 472 + m_Width: 40 + m_Height: 89 + - m_X: 312 + m_Y: 464 + m_Width: 29 + m_Height: 81 + - m_X: 341 + m_Y: 493 + m_Width: 66 + m_Height: 80 + - m_X: 314 + m_Y: 573 + m_Width: 64 + m_Height: 83 + - m_X: 319 + m_Y: 656 + m_Width: 59 + m_Height: 83 + - m_X: 323 + m_Y: 739 + m_Width: 64 + m_Height: 83 + - m_X: 378 + m_Y: 573 + m_Width: 39 + m_Height: 89 + - m_X: 378 + m_Y: 662 + m_Width: 42 + m_Height: 75 + - m_X: 387 + m_Y: 737 + m_Width: 39 + m_Height: 89 + - m_X: 407 + m_Y: 493 + m_Width: 61 + m_Height: 80 + - m_X: 417 + m_Y: 573 + m_Width: 57 + m_Height: 83 + - m_X: 420 + m_Y: 656 + m_Width: 57 + m_Height: 81 + - m_X: 426 + m_Y: 737 + m_Width: 61 + m_Height: 83 + - m_X: 468 + m_Y: 475 + m_Width: 64 + m_Height: 82 + - m_X: 474 + m_Y: 557 + m_Width: 61 + m_Height: 83 + - m_X: 477 + m_Y: 640 + m_Width: 61 + m_Height: 83 + - m_X: 532 + m_Y: 476 + m_Width: 65 + m_Height: 78 + - m_X: 535 + m_Y: 554 + m_Width: 63 + m_Height: 82 + - m_X: 538 + m_Y: 636 + m_Width: 61 + m_Height: 83 + - m_X: 487 + m_Y: 723 + m_Width: 61 + m_Height: 83 + - m_X: 548 + m_Y: 719 + m_Width: 57 + m_Height: 83 + - m_X: 597 + m_Y: 477 + m_Width: 62 + m_Height: 71 + - m_X: 598 + m_Y: 548 + m_Width: 61 + m_Height: 82 + - m_X: 599 + m_Y: 630 + m_Width: 60 + m_Height: 82 + - m_X: 605 + m_Y: 712 + m_Width: 57 + m_Height: 83 + - m_X: 659 + m_Y: 481 + m_Width: 65 + m_Height: 78 + - m_X: 659 + m_Y: 559 + m_Width: 64 + m_Height: 79 + - m_X: 659 + m_Y: 638 + m_Width: 64 + m_Height: 66 + - m_X: 662 + m_Y: 704 + m_Width: 61 + m_Height: 82 + - m_X: 714 + m_Y: 320 + m_Width: 61 + m_Height: 79 + - m_X: 715 + m_Y: 242 + m_Width: 64 + m_Height: 78 + - m_X: 728 + m_Y: 399 + m_Width: 59 + m_Height: 82 + - m_X: 724 + m_Y: 481 + m_Width: 65 + m_Height: 78 + - m_X: 723 + m_Y: 559 + m_Width: 64 + m_Height: 79 + - m_X: 723 + m_Y: 638 + m_Width: 61 + m_Height: 80 + - m_X: 723 + m_Y: 718 + m_Width: 61 + m_Height: 79 + - m_X: 727 + m_Y: 178 + m_Width: 62 + m_Height: 64 + - m_X: 789 + m_Y: 171 + m_Width: 63 + m_Height: 78 + - m_X: 779 + m_Y: 249 + m_Width: 62 + m_Height: 78 + - m_X: 775 + m_Y: 327 + m_Width: 61 + m_Height: 66 + - m_X: 787 + m_Y: 393 + m_Width: 59 + m_Height: 82 + - m_X: 789 + m_Y: 475 + m_Width: 57 + m_Height: 82 + - m_X: 852 + m_Y: 171 + m_Width: 41 + m_Height: 81 + - m_X: 893 + m_Y: 173 + m_Width: 62 + m_Height: 79 + - m_X: 841 + m_Y: 252 + m_Width: 61 + m_Height: 79 + - m_X: 902 + m_Y: 252 + m_Width: 60 + m_Height: 80 + - m_X: 962 + m_Y: 175 + m_Width: 61 + m_Height: 79 + - m_X: 962 + m_Y: 254 + m_Width: 61 + m_Height: 66 + - m_X: 962 + m_Y: 320 + m_Width: 61 + m_Height: 62 + - m_X: 836 + m_Y: 331 + m_Width: 61 + m_Height: 62 + - m_X: 846 + m_Y: 393 + m_Width: 59 + m_Height: 81 + - m_X: 846 + m_Y: 474 + m_Width: 59 + m_Height: 80 + - m_X: 905 + m_Y: 332 + m_Width: 57 + m_Height: 80 + - m_X: 962 + m_Y: 382 + m_Width: 61 + m_Height: 62 + - m_X: 905 + m_Y: 412 + m_Width: 57 + m_Height: 79 + - m_X: 962 + m_Y: 444 + m_Width: 61 + m_Height: 53 + - m_X: 905 + m_Y: 491 + m_Width: 57 + m_Height: 78 + - m_X: 962 + m_Y: 497 + m_Width: 61 + m_Height: 53 + - m_X: 962 + m_Y: 550 + m_Width: 61 + m_Height: 43 + - m_X: 323 + m_Y: 822 + m_Width: 63 + m_Height: 30 + - m_X: 350 + m_Y: 852 + m_Width: 39 + m_Height: 89 + - m_X: 365 + m_Y: 941 + m_Width: 43 + m_Height: 82 + - m_X: 389 + m_Y: 826 + m_Width: 39 + m_Height: 89 + - m_X: 428 + m_Y: 820 + m_Width: 59 + m_Height: 78 + - m_X: 487 + m_Y: 806 + m_Width: 58 + m_Height: 78 + - m_X: 784 + m_Y: 638 + m_Width: 39 + m_Height: 89 + - m_X: 787 + m_Y: 559 + m_Width: 55 + m_Height: 79 + - m_X: 784 + m_Y: 727 + m_Width: 44 + m_Height: 78 + - m_X: 823 + m_Y: 638 + m_Width: 41 + m_Height: 89 + - m_X: 828 + m_Y: 727 + m_Width: 38 + m_Height: 82 + - m_X: 842 + m_Y: 557 + m_Width: 28 + m_Height: 81 + - m_X: 870 + m_Y: 554 + m_Width: 28 + m_Height: 81 + - m_X: 898 + m_Y: 569 + m_Width: 57 + m_Height: 66 + - m_X: 955 + m_Y: 593 + m_Width: 62 + m_Height: 58 + - m_X: 864 + m_Y: 638 + m_Width: 41 + m_Height: 89 + - m_X: 905 + m_Y: 635 + m_Width: 41 + m_Height: 89 + - m_X: 946 + m_Y: 651 + m_Width: 57 + m_Height: 79 + - m_X: 866 + m_Y: 727 + m_Width: 40 + m_Height: 82 + - m_X: 906 + m_Y: 724 + m_Width: 40 + m_Height: 82 + - m_X: 946 + m_Y: 730 + m_Width: 57 + m_Height: 66 + - m_X: 389 + m_Y: 915 + m_Width: 42 + m_Height: 26 + - m_X: 408 + m_Y: 941 + m_Width: 38 + m_Height: 82 + - m_X: 446 + m_Y: 898 + m_Width: 39 + m_Height: 89 + - m_X: 545 + m_Y: 806 + m_Width: 28 + m_Height: 78 + - m_X: 573 + m_Y: 802 + m_Width: 47 + m_Height: 78 + - m_X: 620 + m_Y: 795 + m_Width: 57 + m_Height: 65 + - m_X: 677 + m_Y: 786 + m_Width: 46 + m_Height: 56 + - m_X: 723 + m_Y: 797 + m_Width: 59 + m_Height: 59 + - m_X: 782 + m_Y: 805 + m_Width: 46 + m_Height: 55 + - m_X: 828 + m_Y: 809 + m_Width: 59 + m_Height: 58 + - m_X: 487 + m_Y: 884 + m_Width: 70 + m_Height: 25 + - m_X: 485 + m_Y: 909 + m_Width: 57 + m_Height: 65 + - m_X: 485 + m_Y: 974 + m_Width: 50 + m_Height: 49 + - m_X: 542 + m_Y: 909 + m_Width: 28 + m_Height: 78 + - m_X: 887 + m_Y: 809 + m_Width: 29 + m_Height: 64 + - m_X: 916 + m_Y: 806 + m_Width: 42 + m_Height: 65 + - m_X: 958 + m_Y: 796 + m_Width: 54 + m_Height: 64 + - m_X: 620 + m_Y: 860 + m_Width: 57 + m_Height: 50 + - m_X: 677 + m_Y: 842 + m_Width: 43 + m_Height: 54 + - m_X: 720 + m_Y: 856 + m_Width: 54 + m_Height: 41 + - m_X: 774 + m_Y: 860 + m_Width: 51 + m_Height: 52 + - m_X: 825 + m_Y: 867 + m_Width: 48 + m_Height: 52 + - m_X: 873 + m_Y: 873 + m_Width: 42 + m_Height: 53 + - m_X: 446 + m_Y: 987 + m_Width: 38 + m_Height: 32 + - m_X: 958 + m_Y: 860 + m_Width: 54 + m_Height: 24 + - m_X: 535 + m_Y: 987 + m_Width: 38 + m_Height: 32 + - m_X: 677 + m_Y: 896 + m_Width: 43 + m_Height: 43 + - m_X: 720 + m_Y: 897 + m_Width: 45 + m_Height: 41 + - m_X: 765 + m_Y: 912 + m_Width: 44 + m_Height: 38 + - m_X: 809 + m_Y: 919 + m_Width: 43 + m_Height: 42 + - m_X: 852 + m_Y: 926 + m_Width: 67 + m_Height: 25 + - m_X: 852 + m_Y: 951 + m_Width: 69 + m_Height: 23 + - m_X: 915 + m_Y: 873 + m_Width: 42 + m_Height: 53 + - m_X: 957 + m_Y: 884 + m_Width: 42 + m_Height: 38 + - m_X: 919 + m_Y: 926 + m_Width: 67 + m_Height: 25 + - m_X: 921 + m_Y: 951 + m_Width: 44 + m_Height: 27 + - m_X: 965 + m_Y: 951 + m_Width: 27 + m_Height: 38 + - m_X: 573 + m_Y: 880 + m_Width: 42 + m_Height: 26 + - m_X: 570 + m_Y: 906 + m_Width: 42 + m_Height: 38 + - m_X: 570 + m_Y: 944 + m_Width: 42 + m_Height: 38 + - m_X: 612 + m_Y: 910 + m_Width: 41 + m_Height: 38 + - m_X: 612 + m_Y: 948 + m_Width: 35 + m_Height: 37 + - m_X: 573 + m_Y: 982 + m_Width: 29 + m_Height: 39 + - m_X: 602 + m_Y: 985 + m_Width: 28 + m_Height: 38 + - m_X: 630 + m_Y: 985 + m_Width: 28 + m_Height: 38 + - m_X: 986 + m_Y: 922 + m_Width: 29 + m_Height: 29 + - m_X: 992 + m_Y: 951 + m_Width: 28 + m_Height: 38 + - m_X: 647 + m_Y: 948 + m_Width: 29 + m_Height: 28 + - m_X: 676 + m_Y: 939 + m_Width: 28 + m_Height: 38 + m_FreeGlyphRects: + - m_X: 78 + m_Y: 93 + m_Width: 15 + m_Height: 10 + - m_X: 74 + m_Y: 566 + m_Width: 4 + m_Height: 4 + - m_X: 198 + m_Y: 78 + m_Width: 2 + m_Height: 25 + - m_X: 151 + m_Y: 194 + m_Width: 3 + m_Height: 8 + - m_X: 147 + m_Y: 287 + m_Width: 4 + m_Height: 4 + - m_X: 267 + m_Y: 78 + m_Width: 31 + m_Height: 2 + - m_X: 488 + m_Y: 78 + m_Width: 11 + m_Height: 2 + - m_X: 573 + m_Y: 78 + m_Width: 1 + m_Height: 1 + - m_X: 651 + m_Y: 79 + m_Width: 8 + m_Height: 5 + - m_X: 818 + m_Y: 92 + m_Width: 1 + m_Height: 1 + - m_X: 970 + m_Y: 93 + m_Width: 1 + m_Height: 1 + - m_X: 200 + m_Y: 172 + m_Width: 17 + m_Height: 30 + - m_X: 263 + m_Y: 172 + m_Width: 4 + m_Height: 13 + - m_X: 368 + m_Y: 185 + m_Width: 4 + m_Height: 27 + - m_X: 140 + m_Y: 661 + m_Width: 39 + m_Height: 2 + - m_X: 250 + m_Y: 660 + m_Width: 9 + m_Height: 1 + - m_X: 136 + m_Y: 762 + m_Width: 35 + m_Height: 1 + - m_X: 179 + m_Y: 760 + m_Width: 19 + m_Height: 2 + - m_X: 171 + m_Y: 861 + m_Width: 23 + m_Height: 1 + - m_X: 198 + m_Y: 849 + m_Width: 19 + m_Height: 12 + - m_X: 217 + m_Y: 942 + m_Width: 23 + m_Height: 3 + - m_X: 259 + m_Y: 756 + m_Width: 37 + m_Height: 4 + - m_X: 293 + m_Y: 849 + m_Width: 3 + m_Height: 6 + - m_X: 499 + m_Y: 158 + m_Width: 29 + m_Height: 2 + - m_X: 572 + m_Y: 158 + m_Width: 1 + m_Height: 1 + - m_X: 645 + m_Y: 159 + m_Width: 6 + m_Height: 19 + - m_X: 451 + m_Y: 212 + m_Width: 10 + m_Height: 26 + - m_X: 522 + m_Y: 238 + m_Width: 6 + m_Height: 1 + - m_X: 572 + m_Y: 237 + m_Width: 11 + m_Height: 2 + - m_X: 216 + m_Y: 291 + m_Width: 1 + m_Height: 28 + - m_X: 263 + m_Y: 263 + m_Width: 15 + m_Height: 8 + - m_X: 348 + m_Y: 263 + m_Width: 20 + m_Height: 14 + - m_X: 278 + m_Y: 377 + m_Width: 12 + m_Height: 6 + - m_X: 448 + m_Y: 277 + m_Width: 3 + m_Height: 39 + - m_X: 517 + m_Y: 316 + m_Width: 5 + m_Height: 3 + - m_X: 417 + m_Y: 347 + m_Width: 2 + m_Height: 6 + - m_X: 347 + m_Y: 377 + m_Width: 1 + m_Height: 48 + - m_X: 485 + m_Y: 394 + m_Width: 32 + m_Height: 3 + - m_X: 552 + m_Y: 397 + m_Width: 34 + m_Height: 1 + - m_X: 619 + m_Y: 398 + m_Width: 26 + m_Height: 1 + - m_X: 250 + m_Y: 472 + m_Width: 22 + m_Height: 10 + - m_X: 290 + m_Y: 464 + m_Width: 22 + m_Height: 8 + - m_X: 272 + m_Y: 561 + m_Width: 69 + m_Height: 9 + - m_X: 341 + m_Y: 464 + m_Width: 6 + m_Height: 29 + - m_X: 312 + m_Y: 545 + m_Width: 29 + m_Height: 25 + - m_X: 314 + m_Y: 545 + m_Width: 27 + m_Height: 28 + - m_X: 314 + m_Y: 656 + m_Width: 5 + m_Height: 4 + - m_X: 319 + m_Y: 739 + m_Width: 4 + m_Height: 17 + - m_X: 378 + m_Y: 737 + m_Width: 9 + m_Height: 2 + - m_X: 416 + m_Y: 425 + m_Width: 1 + m_Height: 68 + - m_X: 417 + m_Y: 656 + m_Width: 3 + m_Height: 6 + - m_X: 416 + m_Y: 472 + m_Width: 69 + m_Height: 3 + - m_X: 416 + m_Y: 472 + m_Width: 52 + m_Height: 21 + - m_X: 468 + m_Y: 557 + m_Width: 6 + m_Height: 16 + - m_X: 474 + m_Y: 640 + m_Width: 3 + m_Height: 16 + - m_X: 532 + m_Y: 475 + m_Width: 20 + m_Height: 1 + - m_X: 532 + m_Y: 554 + m_Width: 3 + m_Height: 3 + - m_X: 535 + m_Y: 636 + m_Width: 3 + m_Height: 4 + - m_X: 477 + m_Y: 723 + m_Width: 10 + m_Height: 14 + - m_X: 538 + m_Y: 719 + m_Width: 10 + m_Height: 4 + - m_X: 597 + m_Y: 476 + m_Width: 22 + m_Height: 1 + - m_X: 597 + m_Y: 548 + m_Width: 1 + m_Height: 6 + - m_X: 598 + m_Y: 630 + m_Width: 1 + m_Height: 6 + - m_X: 599 + m_Y: 712 + m_Width: 6 + m_Height: 7 + - m_X: 659 + m_Y: 477 + m_Width: 26 + m_Height: 4 + - m_X: 659 + m_Y: 704 + m_Width: 3 + m_Height: 8 + - m_X: 734 + m_Y: 150 + m_Width: 7 + m_Height: 28 + - m_X: 734 + m_Y: 170 + m_Width: 84 + m_Height: 1 + - m_X: 734 + m_Y: 170 + m_Width: 55 + m_Height: 8 + - m_X: 779 + m_Y: 242 + m_Width: 10 + m_Height: 7 + - m_X: 775 + m_Y: 320 + m_Width: 4 + m_Height: 7 + - m_X: 775 + m_Y: 393 + m_Width: 12 + m_Height: 6 + - m_X: 787 + m_Y: 475 + m_Width: 2 + m_Height: 6 + - m_X: 893 + m_Y: 171 + m_Width: 1 + m_Height: 2 + - m_X: 841 + m_Y: 249 + m_Width: 11 + m_Height: 3 + - m_X: 1018 + m_Y: 0 + m_Width: 5 + m_Height: 175 + - m_X: 955 + m_Y: 173 + m_Width: 15 + m_Height: 2 + - m_X: 955 + m_Y: 173 + m_Width: 7 + m_Height: 79 + - m_X: 836 + m_Y: 327 + m_Width: 5 + m_Height: 4 + - m_X: 897 + m_Y: 331 + m_Width: 5 + m_Height: 62 + - m_X: 897 + m_Y: 332 + m_Width: 8 + m_Height: 61 + - m_X: 386 + m_Y: 822 + m_Width: 1 + m_Height: 30 + - m_X: 323 + m_Y: 852 + m_Width: 27 + m_Height: 3 + - m_X: 350 + m_Y: 941 + m_Width: 15 + m_Height: 1 + - m_X: 386 + m_Y: 826 + m_Width: 3 + m_Height: 26 + - m_X: 426 + m_Y: 820 + m_Width: 2 + m_Height: 6 + - m_X: 789 + m_Y: 557 + m_Width: 53 + m_Height: 2 + - m_X: 846 + m_Y: 554 + m_Width: 24 + m_Height: 3 + - m_X: 898 + m_Y: 554 + m_Width: 7 + m_Height: 15 + - m_X: 955 + m_Y: 569 + m_Width: 7 + m_Height: 24 + - m_X: 870 + m_Y: 635 + m_Width: 35 + m_Height: 3 + - m_X: 946 + m_Y: 635 + m_Width: 9 + m_Height: 16 + - m_X: 905 + m_Y: 724 + m_Width: 1 + m_Height: 3 + - m_X: 428 + m_Y: 898 + m_Width: 18 + m_Height: 17 + - m_X: 431 + m_Y: 898 + m_Width: 15 + m_Height: 43 + - m_X: 548 + m_Y: 802 + m_Width: 25 + m_Height: 4 + - m_X: 605 + m_Y: 795 + m_Width: 15 + m_Height: 7 + - m_X: 662 + m_Y: 786 + m_Width: 15 + m_Height: 9 + - m_X: 782 + m_Y: 797 + m_Width: 2 + m_Height: 8 + - m_X: 485 + m_Y: 898 + m_Width: 2 + m_Height: 11 + - m_X: 906 + m_Y: 806 + m_Width: 10 + m_Height: 3 + - m_X: 1003 + m_Y: 651 + m_Width: 20 + m_Height: 145 + - m_X: 946 + m_Y: 796 + m_Width: 12 + m_Height: 10 + - m_X: 720 + m_Y: 842 + m_Width: 3 + m_Height: 14 + - m_X: 774 + m_Y: 856 + m_Width: 8 + m_Height: 4 + - m_X: 825 + m_Y: 860 + m_Width: 3 + m_Height: 7 + - m_X: 873 + m_Y: 867 + m_Width: 14 + m_Height: 6 + - m_X: 446 + m_Y: 1019 + m_Width: 39 + m_Height: 4 + - m_X: 484 + m_Y: 987 + m_Width: 1 + m_Height: 36 + - m_X: 535 + m_Y: 974 + m_Width: 7 + m_Height: 13 + - m_X: 765 + m_Y: 897 + m_Width: 9 + m_Height: 15 + - m_X: 720 + m_Y: 938 + m_Width: 45 + m_Height: 85 + - m_X: 809 + m_Y: 912 + m_Width: 16 + m_Height: 7 + - m_X: 852 + m_Y: 919 + m_Width: 21 + m_Height: 7 + - m_X: 916 + m_Y: 871 + m_Width: 42 + m_Height: 2 + - m_X: 957 + m_Y: 871 + m_Width: 1 + m_Height: 13 + - m_X: 557 + m_Y: 884 + m_Width: 16 + m_Height: 22 + - m_X: 557 + m_Y: 884 + m_Width: 13 + m_Height: 25 + - m_X: 615 + m_Y: 880 + m_Width: 5 + m_Height: 30 + - m_X: 612 + m_Y: 906 + m_Width: 8 + m_Height: 4 + - m_X: 535 + m_Y: 1019 + m_Width: 38 + m_Height: 4 + - m_X: 570 + m_Y: 982 + m_Width: 3 + m_Height: 5 + - m_X: 535 + m_Y: 1021 + m_Width: 67 + m_Height: 2 + - m_X: 602 + m_Y: 982 + m_Width: 10 + m_Height: 3 + - m_X: 647 + m_Y: 978 + m_Width: 318 + m_Height: 7 + - m_X: 658 + m_Y: 978 + m_Width: 307 + m_Height: 45 + - m_X: 658 + m_Y: 989 + m_Width: 365 + m_Height: 34 + - m_X: 1012 + m_Y: 651 + m_Width: 11 + m_Height: 271 + - m_X: 999 + m_Y: 884 + m_Width: 24 + m_Height: 38 + - m_X: 957 + m_Y: 922 + m_Width: 29 + m_Height: 4 + - m_X: 1017 + m_Y: 593 + m_Width: 6 + m_Height: 358 + - m_X: 1020 + m_Y: 593 + m_Width: 3 + m_Height: 430 + - m_X: 1015 + m_Y: 651 + m_Width: 8 + m_Height: 300 + - m_X: 653 + m_Y: 910 + m_Width: 24 + m_Height: 29 + - m_X: 653 + m_Y: 910 + m_Width: 23 + m_Height: 38 + - m_X: 704 + m_Y: 939 + m_Width: 61 + m_Height: 84 + - m_X: 704 + m_Y: 950 + m_Width: 105 + m_Height: 73 + - m_X: 704 + m_Y: 961 + m_Width: 148 + m_Height: 62 + - m_X: 647 + m_Y: 977 + m_Width: 274 + m_Height: 8 + - m_X: 647 + m_Y: 976 + m_Width: 29 + m_Height: 9 + - m_X: 658 + m_Y: 977 + m_Width: 263 + m_Height: 46 + - m_X: 658 + m_Y: 976 + m_Width: 18 + m_Height: 47 + - m_X: 704 + m_Y: 974 + m_Width: 217 + m_Height: 49 + m_fontInfo: + Name: Liberation Sans + PointSize: 86 + Scale: 1 + CharacterCount: 250 + LineHeight: 98.90625 + Baseline: 0 + Ascender: 77.84375 + CapHeight: 59.1875 + Descender: -18.21875 + CenterLine: 0 + SuperscriptOffset: 77.84375 + SubscriptOffset: -12.261719 + SubSize: 0.5 + Underline: -12.261719 + UnderlineThickness: 6.298828 + strikethrough: 23.675 + strikethroughThickness: 0 + TabWidth: 239.0625 + Padding: 9 + AtlasWidth: 1024 + AtlasHeight: 1024 + atlas: {fileID: 0} + m_AtlasWidth: 1024 + m_AtlasHeight: 1024 + m_AtlasPadding: 9 + m_AtlasRenderMode: 4169 + m_glyphInfoList: [] + m_KerningTable: + kerningPairs: [] + m_FontFeatureTable: + m_GlyphPairAdjustmentRecords: + - m_FirstAdjustmentRecord: + m_GlyphIndex: 3 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.75 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 3 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 3 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 20 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.390625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 20 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.75 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 3 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.390625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.390625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.1875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.390625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 89 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 90 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 92 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.390625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 2020 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 41 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9.53125 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 15 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 41 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9.53125 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 17 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 41 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.75 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 47 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.1875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 3 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 47 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.390625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 47 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.390625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 47 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.390625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 47 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.390625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 47 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.1875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 92 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 47 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.75 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 2020 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 51 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 3 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 51 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -11.09375 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 15 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 51 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -11.09375 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 17 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 51 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.390625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 53 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 53 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 53 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 53 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 3 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9.53125 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 15 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.75 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 16 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9.53125 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 17 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9.53125 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 29 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9.53125 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 30 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.390625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 50 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9.53125 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 68 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9.53125 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 70 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9.53125 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 72 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.1875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 76 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9.53125 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 82 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.1875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 85 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9.53125 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 86 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.1875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 88 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.75 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 90 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.75 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 92 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.890625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 15 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.75 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 16 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.890625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 17 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.1875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 29 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.1875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 30 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.390625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.390625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 68 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.75 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 72 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 76 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.75 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 82 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.1875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 85 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.1875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 88 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.1875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 92 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.75 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 15 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 16 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.75 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 17 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 29 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 30 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.1875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.1875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 68 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 72 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 82 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 85 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 88 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.75 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 92 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 3 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -11.09375 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 15 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.890625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 16 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -11.09375 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 17 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.75 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 29 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.578125 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 30 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.390625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.390625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 68 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.890625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 72 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.1875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 76 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.890625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 82 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.390625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 83 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.890625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 84 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.75 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 88 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.75 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 89 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 73 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 73 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 73 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 2020 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 85 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.75 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 15 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 85 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.75 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 17 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 85 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 3.1875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 2020 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 89 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.390625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 15 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 89 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.390625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 17 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 90 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.75 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 15 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 90 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.75 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 17 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 92 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.390625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 15 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 92 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.390625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 17 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 2019 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 2019 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 2020 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.1875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 3 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 2020 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 86 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 2020 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.546875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 2020 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + fallbackFontAssets: [] + m_FallbackFontAssetTable: + - {fileID: 11400000, guid: 2e498d1c8094910479dc3e1b768306a4, type: 2} + m_CreationSettings: + sourceFontFileName: + sourceFontFileGUID: e3265ab4bf004d28a9537516768c1c75 + pointSizeSamplingMode: 0 + pointSize: 86 + padding: 9 + packingMode: 4 + atlasWidth: 1024 + atlasHeight: 1024 + characterSetSelectionMode: 1 + characterSequence: 32 - 126, 160 - 255, 8192 - 8303, 8364, 8482, 9633 + referencedFontAssetGUID: 8f586378b4e144a9851e7b34d9b748ee + referencedTextAssetGUID: + fontStyle: 0 + fontStyleModifier: 0 + renderMode: 4169 + includeFontFeatures: 1 + m_FontWeightTable: + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + fontWeights: + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + normalStyle: 0 + normalSpacingOffset: 0 + boldStyle: 0.75 + boldSpacing: 7 + italicStyle: 35 + tabSize: 10 +--- !u!28 &28684132378477856 +Texture2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: LiberationSans SDF Atlas + m_ImageContentsHash: + serializedVersion: 2 + Hash: 00000000000000000000000000000000 + m_ForcedFallbackFormat: 4 + m_DownscaleFallback: 0 + serializedVersion: 2 + m_Width: 1024 + m_Height: 1024 + m_CompleteImageSize: 1048576 + m_TextureFormat: 1 + m_MipCount: 1 + m_IsReadable: 0 + m_StreamingMipmaps: 0 + m_StreamingMipmapsPriority: -92 + m_AlphaIsTransparency: 0 + m_ImageCount: 1 + m_TextureDimension: 2 + m_TextureSettings: + serializedVersion: 2 + m_FilterMode: 1 + m_Aniso: 1 + m_MipBias: 0 + m_WrapU: 0 + m_WrapV: 0 + m_WrapW: 0 + m_LightmapFormat: 0 + m_ColorSpace: 0 + image data: 1048576 + _typelessdata: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090b0d0f101112121313131212100f0e0c0a08060603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a1313131313131313130e0d0b08030000000000000000000000000000000000000002070a0c0d1313131313131313130b0a0805000000000000000000000000000000000000000000000000000000000000050a0d0f10131313131313130e0d0b0803000000000000000000000000000000000000000000000004080a0a13131313131313131313131313131313131313131313131313131313131313131313131313131313130a09070400000000000000000000000000000000000000000006060606060600000000000000000000000000000000000000000000020507080c0f1112131211100c080806020000000000000000000000030607090d1011121312110e0a070604010000000000000000000000000000000000000000000000000000000000000000000000000606060606060000000000000000000000000000000000000000000000000000000000010507070c0f1112131312100c08080602000000000000000000000000000000000000000000000000000000000000000000030608091313131313120707050100000000000000000000000000000000000000000000000000000000000105070713131313130c0b09060100000000000000000000000000000000000000000000000000000000000306080913131313131207070501000000000000000000000000000000000000000000000000000000000105070713131313130c0b09060100000000000000000000000000000000000004080a0a0b0b0b0b0b0b0b07060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607090b0d0f1111121313121211100f0d0a0807050200000000000000000000000000000000000000000000000000000000000000000003080c0e0e131313131313130f0e0c09040000000000000000000000000000000000000000000000000000000000000003070b0d0e131313131313130e0e0c0803000000000000000000000003080c0e0e131313131313130f0e0c09040000000000000000000000000000000000000000000000000000000000000003070b0d0e131313131313130e0e0c080300000000000000000000000000000000000000000000040613131313131313131312110e09040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205070c10131315171a1c1d1e1e1f20201f1f1e1d1c1b19171513120f0b06060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101316172020202020202020201b1a18140f080100000000000000000000000000000000070e1317191a202020202020202020181715110c060000000000000000000000000000000000000000000000000000030a10161a1c1d202020202020201b1a18140f080100000000000000000000000000000000000000050b101416172020202020202020202020202020202020202020202020202020202020202020202020202020202020171614100b0500000000000000000000000000000106090b0c131313131313080705020000000000000000000000000000000002090e111414181c1e1f201f1e1c191514120e090300000000000000060b101213161a1d1e1f201e1d1b171413110d0701000000000000000000000000000000000000000000000000000000000000030608091313131313130b0a0805000000000000000000000000000000000000000000000002080d111314191c1e1f201f1e1c191514120e09030000000000000000000000000000000000000000000000000000000000040a0f12151520202020201f1413110d08020000000000000000000000000000000000000000000000000002080d1113142020202020191815120d060000000000000000000000000000000000000000000000000000040a0f12151520202020201f1413110d080200000000000000000000000000000000000000000000000002080d1113142020202020191815120d06000000000000000000000000000000050b10141617181818181818181413110d07010000000000000000000001030405060606060504040200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060b10121315171a1c1d1e1f1f201f1f1e1d1b19171514120e0906030000000000000000000000000000000000000000000000000000000001090f14181a1b202020202020201c1b191510090200000000000000000000000000000000000000000000000000000001080e1317191a202020202020201b1a18140f09010000000000000001090f14181a1b202020202020201c1b191510090200000000000000000000000000000000000000000000000000000001080e1317191a202020202020201b1a18140f0901000000000000000000000000000000000001070c10132020202020202020201f1d1a150f0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104090e1214181c1f20222426282a2a2b2c2c2c2c2c2b2a2927262422201f1c171413110d0705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f161c2022232d2d2d2d2d2d2d2d2d282724201a130b0200000000000000000000000000010a12191f2326272d2d2d2d2d2d2d2d2d2424211d171009000000000000000000000000000000000000000000000000040d151c2126292a2d2d2d2d2d2d2d2727241f1a130b0200000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423201c161008000000000000000000000000060d1215181920202020201f1514120e090300000000000000000000000002080e141a1e202125292a2b2c2c2b292622211e1a150e0903000000020a11171c1f2023272a2b2c2c2b2a282420201d18130c07000000000000000000000000000000000000000000000000000000030a0f121515202020202020181715110c060000000000000000000000000000000000000002080d13191e202125292b2c2d2c2b292622211e1a150e09030000000000000000000000000000000000000000000000000000060e151b1f21222c2d2d2d2d2c21201d19130c040000000000000000000000000000000000000000000000050c13191d20212d2d2d2d2d2524221e181109010000000000000000000000000000000000000000000000060e151b1f21222c2d2d2d2d2c21201d19130c0400000000000000000000000000000000000000000000050c13191d20212d2d2d2d2d2524221e181109010000000000000000000000000810171c2023242525252525252520201d18130c0400000000030607090b0e0f1112121313121211100f0d0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d1113171c1f20222426292a2b2b2c2c2c2b2b2a28262422211e1a1312100c0600000000000000000000000000000000000000000000000000030b131a202427282d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000000000000000020b12191f2326272d2d2d2d2d2d2d282724201a130b030000000000030b131a202427282d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000000000000000020b12191f2326272d2d2d2d2d2d2d282724201a130b03000000000000000000000000000000030b12181c1f2d2d2d2d2d2d2d2d2c2c2a2620191209000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d11141a1e2123282c2d2f31333537373838393939383837353433302e2d2b282221201d1814120e0904000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111921272c2f303939393939393939393433302b251d140b010000000000000000000000000a141c242a2f323339393939393939393931302d28221b120900000000000000000000000000000000000000000000030d161f262d323536393939393939393433302b251d140b0000000000000000000000000000000008111a22282d30313939393939393939393939393939393939393939393939393939393939393939393939393939393939302f2c28211a1108000000000000000000010911181e2224252d2d2d2d2d2c22211e1a140d0600000000000000000000050d14191f252a2d2e3235373839383736322f2e2b26201a150e0600070c141c23282b2d303336383939383734312d2c29241d18120b03000000000000000000000000000000000000000000000000060e151a1f21222c2d2d2d2d2d2424211d1710090000000000000000000000000000000000050c13191e252a2d2e3235373939393836332e2d2b261f1a150e0600000000000000000000000000000000000000000000000006101820262b2e2f3939393939382e2d29251e160e04000000000000000000000000000000000000000000050e161e252a2d2e393939393932312e29231b13090000000000000000000000000000000000000000000006101820262b2e2f3939393939382e2d29251e160e040000000000000000000000000000000000000000050e161e252a2d2e393939393932312e29231b1309000000000000000000000008121a22282d3031313131313131312d2c29241d160d0405060b10121316181a1c1d1f1f20201f1f1e1d1b19171514120e0906030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e13181d2023282b2d2f3133353737383939393837373533312e2d2a26201f1c17110d0802000000000000000000000000000000000000000000010b151d252b303435393939393939393534312c261e150c000000000000000000000000000000000000000000000000000b141d242b303334393939393939393534302b251d150b01000000010b151d252b303435393939393939393534312c261e150c000000000000000000000000000000000000000000000000000b141d242b303334393939393939393534302b251d150b0100000000000000000000000000030d151d23292c3939393939393939393836312b241b1208000000000000000000000000000000000000000000000000000000000000000000000000000003090e13181d20262a2d2e34383a3c3e40424344454546464645454342413f3d3b3938332d2d2c2924201e1a14100c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f19232b33383c3d46464646464646464641403c362f261d1308000000000000000000000007121c262e353b3f404646464646464646463e3d39342c241b10060000000000000000000000000000000000000000000a151f2831383e42434646464646464641403c362f261d0f05000000000000000000000000000005101a232c33393c3d46464646464646464646464646464646464646464646464646464646464646464646464646464646463d3c38332c231a1005000000000000000009131b23292e31323939393939392e2d2a261f180f060000000000000000080e171e252a30363a3b3f424445464544433f3b3a37312b2620180f0b12181e262e34383a3c40434445464544413d3a39352f28231c150c050000000000000000000000000000000000000000000006101820262b2e2f39393939393931302d28221a1209000000000000000000000000000000070e161e252a3036393a3f424445464645433f3b3a37312b2620180f0900000000000000000000000000000000000000000000040e18222a31373a3c4646464646453a3935302820160c0200000000000000000000000000000000000000020c1620283036394646464646463f3e3a342d251b11060000000000000000000000000000000000000000040e18222a31373a3c4646464646453a3935302820160c02000000000000000000000000000000000000020c1620283036394646464646463f3e3a342d251b110600000000000000000005101a242c33393c3d3e3e3e3e3e3e3e3a39352f281f160b1113171c1f20222527292a2b2c2c2d2c2b2b2a28262422211e1a1312100c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f151a1d24292c2e34383a3c3e404244444546464545444342403d3b3a36312d2c28231c19130d08020000000000000000000000000000000000000009131d272f373c40414646464646464642413d3730271e0e050000000000000000000000000000000000000000000000030d1d262e363c3f414646464646464641403c372f271d130900000009131d272f373c40414646464646464642413d3730271e0e050000000000000000000000000000000000000000000000030d1d262e363c3f414646464646464641403c372f271d1309000000000000000000000000010b151f272f343846464646464646464645423d352d24190f04000000000000000000000000000000000000000000000000000000000000000000000001070c141a1d24292c31363a3b404546484a4d4f505151525353525251504f4e4c4a4846443f3d3a39352f2d2a251f1d18120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212b353d44484a5353535353535353534e4c4841382f251a0f03000000000000000000020e19242e3840474b4d5353535353535353534b49453e362c22170c000000000000000000000000000000000000000005101c26313a43494e50535353535353534e4c4841382f21170d03000000000000000000000000000b17222c363e44494a53535353535353535353535353535353535353535353535353535353535353535353535353535353534a48443e352c21160b0000000000000006111b252d343a3e3f4646464646463b3a36312921180b0200000000000008111a202930363b4246474b4f51525352514f4c4847423c37312a211b151c232830383f4446494d5051525351504e4a4745403a342e271e170e050000000000000000000000000000000000000000030e18222a31373a3c4646464646463e3d39342c241a0e0500000000000000000000000000071019202830363a4146474c4f51525352514f4c4847423c37312a211b12090100000000000000000000000000000000000000000a15202a343c4347485353535353524746413a32281e13080000000000000000000000000000000000000008131e28323a41465353535353534c4a463f372d23180d01000000000000000000000000000000000000000a15202a343c4347485353535353524746413a32281e130800000000000000000000000000000000000008131e28323a41465353535353534c4a463f372d23180d0100000000000000000b17222c363e44494a4b4b4b4b4b4b4b4745403a31281d191d2023282b2d2f3234363738393939393837373533312e2d2a26201f1c17110d08020000000000000000000000000000000000000000000000000000000000000000000000000000070c151b20262b2f35393a3f4446484a4d4f5051525253525251504e4c4a4846423d3a38342e29251e19140d050000000000000000000000000000000000030f1a252f3941484d4e535353535353534f4d4942393020170d02000000000000000000000000000000000000000000010b151f2e3840474c4d535353535353534e4d4841392f251a0f0300030f1a252f3941484d4e535353535353534f4d4942393020170d02000000000000000000000000000000000000000000010b151f2e3840474c4d535353535353534e4d4841392f251a0f03000000000000000000000007121d2731394045535353535353535353524e473f352b20150900000000000000000000000000000000000000000000000000000000000000000000030b12181f252a2f35393b4246484b51535557595b5d5d5e5f5f5f5f5f5e5d5c5a59575553504a4a4745413b3a36302c29241d1a140f0a03000000000000000000000000000000000000000000000000000000000000000000000000000004101c27333d474f54566060606060606060605b58534a41362b20140400000000000000000007131f2a35404a52575a606060606060606060575550483e34281d1101000000000000000000000000000000000000000a16212d38434c545a5d606060606060605a58534a4133291f140900000000000000000000000004101c28333e48505557606060606060606060606060606060606060606060606060606060606060606060606060606060606057554f473e33281c10040000000000010d18232d373f464a4c5353535353524846423b33291d140a000000000008111a232c323b41464d5254585c5d5e5f5f5e5c5955534d47423c332d241e272e343e424a5053565a5d5e5f5f5e5d5b5753514b444039302920170f05000000000000000000000000000000000000000a15202a343c4347485353535353534b49453e362c20170d020000000000000000000000071119222b323a41464c5254585c5e5f605f5e5c5955534d47423c332d241b130900000000000000000000000000000000000000030f1b26313c464e53555f606060605f54524c443a3025190c030000000000000000000003030303030303010d1925303a444c525f6060606060585651493f34291e1206000000000000000000000000000000000000030f1b26313c464e53555f606060605f54524c443a3025190c0300000000000000000003030303030303010d1925303a444c525f6060606060585651493f34291e12060000000000000004101c28333e485055575858585858585853514b433a2f2625292d2e34383a3c3e414244454546464545444342403d3b3a36312d2c28231c19130d080200000000000000000000000000000000000000000000000000000000000000000000030b121820262b31373a4145474a50535557595c5d5e5e5f5f5f5e5e5d5b595755534d4946443f3835302a251e170e08020000000000000000000000000000000814202b37414b53595b606060606060605c59544b4232291f140900000000000000000000000000000000000000000007121d2731404a52585a606060606060605b59534b41372b201408000814202b37414b53595b606060606060605c59544b4232291f140900000000000000000000000000000000000000000007121d2731404a52585a606060606060605b59534b41372b20140800000000000000000000000c18232f39434b515f606060606060605f5e5951473d31261a0e010000000000000000000000000000000000000000000000000000000000000000060d151d232930363a4045474d5355545c60626466686a6a6b6b6c6c6c6b6b6a6867666361605b545654514b4846423b39352f2a251f1a150e08020000000000000000000000000000000000000000000000000000000000000000000000000713202c38444f5960636c6c6c6c6c6c6c6c6c67645c53483c3020150a0000000000000000000a17232f3b47525c63666c6c6c6c6c6c6c6c6c64615a5045392d1d1207000000000000000000000000000000000000000d1a26323e49545e66696c6c6c6c6c6c6c67645c53453b30251a0e0200000000000000000000000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6361594f44382c201407000000000006121e29343f4951565860606060605f55534d453b2f261b1106000000050f1a232c353e444c52575e6165686a6b6c6b6a6965625f57534d453f372d27303940444f545c606366696b6c6c6b6a6764605d55514a423b322921170b020000000000000000000000000000000000030f1a26313c464e53555f6060606060575550483e32291e130800000000000000000000050e19232b343d444c52565e6165686a6c6c6c6b6966615f57534d453e362d251b110800000000000000000000000000000000000006121f2b37434e585f626c6c6c6c6c6b615e564c4135291e150b00000000000004080a0a1010101010101010111d2a36414c565e6c6c6c6c6c6c65625b51463a2e22150900000000000000000000000000000000000006121f2b37434e585f626c6c6c6c6c6b615e564c4135291e150b000000000004080a0a1010101010101010111d2a36414c565e6c6c6c6c6c6c65625b51463a2e221509000000000000000814202d3944505a616464646464646464605d554b41382d3035393a3f4446494b4d4f5052525353525251504e4c4a4846423d3a38342e29251e19140d050000000000000000000000000000000000000000000000000000000000000000070c151d232831373c42474b5154545c60626466686a6a6b6c6c6c6b6a6a686664615f575653504a46413a3630292019130d0500000000000000000000000000000c1824303c48535d64686c6c6c6c6c6c6c68655d54443b3025190e0000000000000000000000000000000000000000000c18232f3943525c64676c6c6c6c6c6c6c68645d53483c3024180c000c1824303c48535d64686c6c6c6c6c6c6c68655d54443b3025190e0000000000000000000000000000000000000000000c18232f3943525c64676c6c6c6c6c6c6c68645d53483c3024180c0000000000000000000004101c2934404b555c6c6c6c6c6c6c6c6c6c6a63594e42362a1d1104000000000000000000000000000000000000000000000000000000000000030a11171f272f343b42464b5153575f6165666d6f71737576777878797979787876757472706e6c666663605d5554524d4745403936312b262019140d0500000000000000000000000000000000000000000000000000000000000000000000000916222f3c4854606b70797979797979797979746e64584c3c32261b0f0300000000000000000c1926323f4b57636e73797979797979797979716c615549392f23180c000000000000000000000000000000000000000f1c2935424e5a66707679797979797979746e64574d42362a1f140900000000000000000000000a1623303c4955616c707979797979797979797979797979797979797979797979797979797979797979797979797979797979706b6155483c2f23160900000000000915222e3a46515b62656c6c6c6c6c6c615f574d41382d22170b0300030d17212c353e474f565e61696e7275777879787776726e69625f5751493f373039424a515961666d6f7376777879787774706d67605c544d443b33291d140a000000000000000000000000000000000006121f2b37434e585f626c6c6c6c6c6c64615a50443a3025190e040000000000000000020d17202b353d464f565e61686d7275777879797876726e69625f5750483f372d23190d0400000000000000000000000000000000000815212e3a47535f6a6f7979797979786d685e52463d30271c1207000000050b101416171d1d1d1d1d1d1d1d1d202d3946525e68767979797979726d62564a3e312418080100000000000000000000000000000000000815212e3a47535f6a6f7979797979786d685e52463d30271c12070000050b101416171d1d1d1d1d1d1d1d1d202d3946525e68767979797979726d62564a3e31241808010000000000000a1623303c4955616c70717171717171716d675d53493f383a4146474a505355585a5c5d5e5f5f605f5e5e5d5b595755534d4946443f3835302a251e170e080200000000000000000000000000000000000000000000000000000000000810191e272e343c43474d53555d6064666d6f7173757777787979787877767573706e696763605c54524c46413b322a251e170e06000000000000000000000000000e1a2734404d59646f7479797979797979756f65564d42362a1c11060000000000000000000000000000000000000004101c2934404b55646e7479797979797979746f64594d4034271a0e000e1a2734404d59646f7479797979797979756f65564d42362a1c11060000000000000000000000000000000000000004101c2934404b55646e7479797979797979746f64594d4034271a0e0000000000000000000006131f2c3845515c67767979797979797979756a5e5245382c1f12060000000000000000000000000000000000000000000000000000000000040c151c2328313940454d52555d6065696e7276797b7d80828384848586868585848382817f7d7b797673706d6765615e5753514b46423b37312a251e170e07000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495363707d868686868686868686807467584e43372b1f12060000000000000005111e2a36424d576673808686868686868686867e7164554b4034291c1004000000000000000000000000000000000000101d2a3643505d697682868686868686868074695e52463b30251a0e02000000000000000000000a1724313d4a5764707d86868686868686868686868686868686868686868686868686868686868686868686868686868686867d7063574a3d3024170a00000000000b1824313e4a56626d727979797979796e695f53493f33271f14090009141f29333e474f5961686e747b7e828485868584827f7b756e69625b51493f39424b545c606c70787c80838485868483817d7a726d665e564d453b2f261c1106000000000000000000000000000000000815212e3a47535f6a6f797979797979716c61564c41362a20160c020000000000000009141f29333d474f5960686d747a7f828485868584827f7b756e69625a51493f352b1f160c01000000000000000000000000000000000915222f3c4855626f7c8786868686857a6d61594f42392e23180c03000810171c202324292929292929292929292e3a4754616d7a86868686867f7265584c3f322519130c04000000000000000000000000000000000915222f3c4855626f7c8786868686857a6d61594f42392e23180c030810171c202324292929292929292929292e3a4754616d7a86868686867f7265584c3f322519130c0400000000000a1724313d4a5764707e7e7e7e7e7e7e7e796d655b504443484c5254545c60626567696a6b6c6c6c6c6b6a6a686664615f575653504a46413a3630292019130d0500000000000000000000000000000000000000000000000000000009111a222a303940454e53575f62676d7175797b7d8082838485858685858483817f7d7b7874706d66615e56524c443e36302920180f070000000000000000000000000e1b2835414e5b687481868686868686868175695e5246382d22170b0000000000000000000000000000000000000006131f2c3845515c677480868686868686868174685b4e4135281b0e000e1b2835414e5b687481868686868686868175695e5246382d22170b0000000000000000000000000000000000000006131f2c3845515c677480868686868686868174685b4e4135281b0e000000000000000000000714202d3a4753606d798686868686868687796c5f5346392c20130600000000000000000000000000000000000000000000000000000000060d161e262e343d434b51575e61676d72777b7f8286888a8c8e909091929292929291908f8d8c8a888583807d7a76726e6964605d55534d47433c36302920191007000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6574818d939393939393939184786a5f53473b2e211508000000000000000714202d3a46525e69778390939393939393938e8275675c5145382c1f13060000000000000000000000000000000000000a1723303d4a5663707d89959393939392867b6e61574d42362a1f1409000000000000000000000a1724313d4a5764707d8a9393939393939393939393939393939393939393939393939393939393939393939393939393938a7d7063574a3d3024170a00000000000c1925323f4c5865727f8686868686867b6e655b50443b31251a0e050e1a25313b454f59616b707a81878b8f90919292918f8c88827b726d625b5147404b545c666d757d84898d9091929291908e8a857f786e695e574d42382d22170b010000000000000000000000000000000915222f3c4855626f7b8786868686867e71685e52463e32281e1308000000000000020e1a25303b454f59606b6f7a81868b8f91929392918f8c87827b716c625b51473d31281d1307000000000000000000000000000000000815212e3a47535f6a73808d9693978e81746b60544a4034281f140908111a21282d303136363636363636363636363a4754616d7a879393938b7f7265584c3f3229241e160d040000000000000000000000000000000815212e3a47535f6a73808d9693978e81746b60544a4034281f1409111a21282d303136363636363636363636363a4754616d7a879393938b7f7265584c3f3229241e160d04000000000a1724303d4a5763707d868b8b8b8b8b8b81776c605a504e54565e6165666d6f7174757778787979787877767573706e696763605c54524c46413b322a251e170e060000000000000000000000000000000000000000000000000009121b232c343c424b51585f62696e747a7d8185888a8c8f9091919292929191908e8c8a8884807d79736d68615e565046413a322a2119100700000000000000000000000916232f3c4956626f7c89959393939392867b6e61544a3f33281c0f030000000000000000000000000000000000000714202d3a4753606d7985929393939395897c6f6356493c30231609000916232f3c4956626f7c89959393939392867b6e61544a3f33281c0f030000000000000000000000000000000000000714202d3a4753606d7985929393939395897c6f6356493c30231609000000000000000000000714202d3a4753606d7a8693939393939286796c5f5346392c201306000000000000000000000000000000000000000000000000000000060f171f2830383f444f555c60696e737a7f84888b8f929897999b9d9d9e9e9f9f9f9e9e9d9b9a99969892908c8986827f7b76716d67615e57534e46413b322b22190f04000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919e9f9f9f9f9fa196887c6f6255483c3025190d010000000000000814212e3b4754616e7b8795a09f9f9f9f9f9f9285796d6053473a2d22170b0000000000000000000000000000000000000916222f3c4854606b7683909da79fa3998d8074695e52463b3025190e020000000000000000000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f968a7d7063574a3d3024170a00000000000613202d394653606c7782909893988f82776c60574d42362a20170d121e2a36424d57616b707d868e939a9b9d9e9d9d9d9c98948f877f726d62594f45515c666d78818a9196999c9e9d9d9e9d9a98928c837b6e695e544a3f33281d12070000000000000000000000000000000815212e3a47535f6a737f8c95939392857a6d615a50443a3024190d04000000000005111e2a36424d57606b6f7d858d92999b9d9c9b9c9e9c9a938f867e726d62594f433a2f24180d0100000000000000000000000000000006121f2b37434e58606d7984919e9f93887d6f665c51443b31261a0d101a232c33393c3d4343434343434343434343434754616d7a87949f988b7f7265584c3f39352f281f160c01000000000000000000000000000006121f2b37434e58606d7984919e9f93887d6f665c51443b31261a0d1a232c33393c3d4343434343434343434343434754616d7a87949f988b7f7265584c3f39352f281f160c010000000a16232f3c4855616b727f8c93979797938d80736c6158586062686d7175797c7e8082838585868685858483817f7d7b7874706d66615e56524c443e36302920180f07000000000000000000000000000000000000000000000009121b242d353e464e545c606a6f757b81868a8e929797999b9d9d9e9f9f9f9e9d9d9b999796918d8985807a746e68615a524c443c332b22191007000000000000000000000915222e3b4854606a7783909daa9fa3998c7f73665b5044382b1f1409000000000000000000000000000000000006121f2b37434e5864717e8a97a29f9f9d9083776b6054483b2f221509000915222e3b4854606a7783909daa9fa3998c7f73665b5044382b1f1409000000000000000000000000000000000006121f2b37434e5864717e8a97a29f9f9d9083776b6054483b2f221509000000000000000000000714202d3a4753606d7a86939f9f9f9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000000000050e172129313a424a505960676d737b80858b9195989c9fa3a39f9d9b9a999898989898999b9c9d9fa3a29f9c9999928f8b87837e79746e69625f58524c443d342b21160a000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8996a1adacacacb2a8998c7f7266564c41362a1d1105000000000004101c2834404b5465717e8b98a7b1acacacaea2988a7d7063544a3f33281c0f0300000000000000000000000000000000000714202c38444f5963707d8a959fabab9f92867b6e61564d42362a1f14080000000000000000000a1724313d4a5764707d8a97a3acacb2acaba6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a3968a7d7063574a3d3024170a000000000005121f2b3744505b656e7b86929f9f948b7e72695e53463f32291f1414212d3a46535e69707d8692989f9d9b9691909192999f9e99928b7f726b60554e58606d78818e939ea09e9892909091979d9f9f9590847b6e665b5044392f23180c00000000000000000000000000000006121f2b37434e58606d78839099a1978e81756c61564c4135291f160c01000000000714202d3a46525e696f7d8691979f9f9892908e8f91979f9f98928b7f726b60554b4035291d1307000000000000000000000000000000030f1b26313c45515d67707d8a939e9a9183786d60574d42362a1f1617212c353e44494a5050505050505050505050505054616d7a8794a0988b7f726558504745413a31281e13080000000000000000000000000000030f1b26313c45515d67707d8a939e9a9183786d60574d42362a1f16212c353e44494a5050505050505050505050505054616d7a8794a0988b7f726558504745413a31281e13080000000714202c38444f59636d74818e959fa59c928a7e716a60626a6f757a7e8285888b8d8f9091929293929191908e8c8a8884807d79736d68615e565046413a322a2119100700000000000000000000000000000000000000000007101b242d363e474f585f666d737c82878e92989b9ea2a9a6a8aaa8a7a6a6a6a7a8a9a8a6a8a19e9a97928c86807a716c615e564d453c342b22190e0500000000000000000007131f2c38434e5865727e8b98a2aeab9e9184786c6053463b30251a0e00000000000000000000000000000000000814212e3a47535f6a7683909ca9aea2988b7f7265594f43382c1f13070007131f2c38434e5865727e8b98a2aeab9e9184786c6053463b30251a0e00000000000000000000000000000000000814212e3a47535f6a7683909ca9aea2988b7f7265594f43382c1f1307000000000000000000000714202d3a4753606d7a8693a0acac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000000000030d172029333b434c545c606b707980868d92979da0a29f9b989892908e8d8c8c8b8b8b8c8d8e8f919299979a9d9fa39f9c9a938f8b85807b756e6a615e564e463d32271b0f03000000000000000000000000000000000000000000000000000000000006121e2b37424d576673808d99a8b1acaaacaea99d908376685e5246392d201306000000000006131f2c3845515c6675828f9ba8b0aba9abb0aa9a8e8174665b5044382b1f1206000000000000000000000000000000000004101c27333d4855616b7783909da7aea3988d8074695e52463b3025190e0200000000000000000a1724313d4a5764707d8a97a3b0b2a8a19e9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a968a7d7063574a3d3024170a0000000000030f1b27333f49535f69727f8c959f9f92867b6e615a50443b3025191f2c38434e58616e7b869298a29c938e88848384868c9299a39f93887d6f675c535f6a73808d939ea197928b858483858990959fa0969083786c60554b4034291c10040000000000000000000000000000030f1a26313c44515c666f7c87929f9e938a7d70685d52453d31281d130700000007131f2c38434f59616e7b859298a19a938c86838282858a9297a29f93877d70675d51453a2f24180d010000000000000000000000000000000a15202935404b55616b75818e98a0958c7f72695f53463e31281e1c28333e474f55575c5c5c5c5c5c5c5c5c5c5c5c5c5c616d7a8794a0988b7f72655c5c54524c433a2f24190d0100000000000000000000000000000a15202935404b55616b75818e98a0958c7f72695f53463e31281e28333e474f55575c5c5c5c5c5c5c5c5c5c5c5c5c5c616d7a8794a0988b7f72655c5c54524c433a2f24190d01000004101c28333e47515b606d79839096a1a49f92867c6f6a6f767c81868b8f9298989a9c9d9e9f9f9f9f9e9d9d9b999796918d8985807a746e68615a524c443c332b2219100700000000000000000000000000000000000000050e19222d363e485059616a6f7980878f93999fa3aaabaaaaa29f9d9b9a9a999a9a9b9d9fa2aaa9aba9a19e98928d857e756d685f574e463c342a20170c030000000000000000030f1b27323d4754606d7a85929facaca1968a7d7063574d42362a1c110600000000000000000000000000000004101c2934404b55626e7b88949fabac9f92867a6d6054473d32271b0f0300030f1b27323d4754606d7a85929facaca1968a7d7063574d42362a1c110600000000000000000000000000000004101c2934404b55626e7b88949fabac9f92867a6d6054473d32271b0f03000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000000020b151f29323b454d565d666d747d848c92999fa29f9c98928f8b88858381807f7f7e7e7f7f8081828486888a8d9092999b9ea19f9c98928d86817c746e6860584e43382c1f130700000000000000000000000000000000000000000000000000000000000814212e3a47535f697784919daaa7a09d9fa2aa9f93867a6d6154473a2e23170c00000000000713202d3a4653606d7985929faca69f9c9fa6ab9e9285796c605346392d20130a0000000000000000000000000000000000000b16212c38444f5964707d8a95a0acaa9f92867b6e61564d41362a1e140800000000000000000a1724313d4a5764707d8a97a3b0aca196918d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8a7d7063574a3d3024170a0000000000000b17222d38414d57606d78839099a2988f82766c62564d41362a20222e3b4854606a75828f98a29c918c817b7876777a7f87929aa49a9184796d6056626e7c87929fa19791857e797776787c838f949f9f958b7f72675c5145382c1f13060000000000000000000000000000000a15202834404a54606a73808d96a09e91857a6d60594f433a2f24180d0300000915222f3b4854606b75828f97a19f9388807a767576797e859297a2999184796d60554b4035291d1104000000000000000000000000000000040c18242f39434f59616e7b85929f9f92867b6e615a50433a2f24202d39444f5961646969696969696969696969696969696d7a8794a0988b7f72696969605d564c4135291d11040000000000000000000000000000040c18242f39434f59616e7b85929f9f92867b6e615a50433a2f242d39444f5961646969696969696969696969696969696d7a8794a0988b7f72696969605d564c4135291d11040000000b17212c353f45515c676e7a849198a2a39891857b747c82898e92999c9fa2aaa7a8aaa8a8a7a6a6a7a8a9a8a6a8a19e9a97928c86807a716c615e564d453c342b22190e050000000000000000000000000000000000020d17202b343e48505a616b707c838c92999fa4abaca7a09d999892908f8d8d8d8d8d8f909298989c9fa4abaaa29f97928a827a6e6960584e463c32291e150b0000000000000000000a16202c3945515d6774818e9aa7b1a89b8f8275695e5246382e23170b00000000000000000000000000000006131f2c3845515c6774808d9aa6b0a79b8e8174685d5245392b21160a0000000a16202c3945515d6774818e9aa7b1a89b8f8275695e5246382e23170b00000000000000000000000000000006131f2c3845515c6774808d9aa6b0a79b8e8174685d5245392b21160a00000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000000a141d27313a444d575f686d78808991969fa39e9b948f8a85827e7b7977757373727171727273747677797b7e8083868a8e92979b9fa29f99928e87817a6f6a6054483b2e22150900000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a0aca095909298a2a4998a7e7164544a3f34281c1003000000000a1723303d4a5663707d8998a2a99f9490949faba197897c6f6356493c31261b0f03000000000000000000000000000000000005101c28333e4653606c7883909da7aea3988d8074685e52463b3025190e02000000000000000a1724313d4a5764707d8a97a3b0ab9e91848080808080808080808080808080808080808080808080808080808080808080807c6e6255483b2f22150800000000000006111b262f3c44505c666f7c86929f9f948b7e71685e52463e32292834404b54626f7c89939e9f948c7f746e696a686d737e88939fa0968b7f72655e6875828f99a39e91857b716d676a6a6f78828f98a29f9285796d6053473a2e23170b000000000000000000000000000000030c18232e39424e58606d7984919aa1978e81746b60554b4035291f150b0105111e2a36414c56636f7c89939e9e938b7e736d6868666d717c85929fa1968c8073675d5145392c2013070000000000000000000000000000000007121d27313e46525e69727f8b959f988f82756c61554c41352923303c4955616c70767676767676767676767676767676767a8794a0988b7f767676766d685d5245392c20130600000000000000000000000000000007121d27313e46525e69727f8b959f988f82756c61554c413529303c4955616c70767676767676767676767676767676767a8794a0988b7f767676766d685d5245392c20130600000005101a232834404b555e686f7c86929aa4a197908381878f949b9fa3abacaaaba39f9d9c9b9a999a9a9b9d9fa2aaa9aba9a19e98928d857e756d685f574e463c342a20170c030000000000000000000000000000000009141f29323d46505a626c717d8690959fa3ababa49f9b95908c898584828180808081828385888b8f93999fa2aaa9a19e938f847b6f6a60584e443b30271d1207000000000000000004111d2935414b55626f7c88959fabac9f92877b6e61544a3f34281c100300000000000000000000000000000714202d3a4753606d7985929eabaca095897c6f63564c413529190f0400000004111d2935414b55626f7c88959fabac9f92877b6e61544a3f34281c100300000000000000000000000000000714202d3a4753606d7985929eabaca095897c6f63564c413529190f0400000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000006111c262f39434c565f696e7a828d929ea0a09d938e88827d7975716e6c666867666565656565666869666d6e7174767a7d81858a8e92989ea19f99928e867c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000005111e2a36414c5666727f8c99a7aa9d908386929fab9b8e8175665c5044382c1f120600000005121e2a36424d576774808d9aaaa1979083909ca9a99a8d807367584e43372b1f12060000000000000000000000000000000000000b161f2b3744505b65717e8a95a0acaa9f92867b6e61564c41362a1e14080a0a0a0a0a0a0a0a1724313d4a5764707d8a97a3b0a99c8f827673737373737373737373737373737373737373737373737373737373737373736e6a5f53473a2e211408000000000000000a141d28343f4a545f6a737f8c95a09f92857b6e615a50443a302c3845515c6674818e9aa59c9082786c615f575d616c74818d99a49d9083776a616d7a86929fa0958a7d7069605c5860666e7b86929fa2978a7e7164544a3f34281c100300000000000000000000000000000007121c27303c45515c676f7d88939f9d93897d70675d51453d31271d12070714202d3946525e6875828f9ca59b8e81756c615d565c606a717e8b96a09f92857a6d6053473a2f24180c00000000000000000000000000000000010b151f2a36424d56606c788390999e948a7e71675d51453c3026313d4a5764707d8283838383838383838383838383838383909ca99e9184838383827a6d6054473a2d211407000000000000000000000000000000010b151f2a36424d56606c788390999e948a7e71675d51453c30313d4a5764707d8283838383838383838383838383838383909ca99e9184838383827a6d6054473a2d21140700000000081118232e39434c565f6a717e88939fa5a095908d93999fa6acaaa8a09d999992908f8e8d8d8d8d8f909298989c9fa4abaaa29f97928a827a6e6960584e463c32291e150b000000000000000000000000000000030d1925303b444e58626c717e879298a0a7afa79f99938e88837f7c79777574737373747577797c7f83878d92989ea5ada59e9691857c6f6a5f564c42392e23180c0300000000000000010d18242f3a47535f6a7683909da9afa3998c7f73665c5044382b1f14090a0a0a0a0a0a0a0a0a0a0a0a0a0a121f2b37434e5864717e8b97a2adaa9d9083776b6054443a2f24190700000000010d18242f3a47535f6a7683909da9afa3998c7f73665c5044382b1f14090a0a0a0a0a0a0a0a0a0a0a0a0a0a121f2b37434e5864717e8b97a2adaa9d9083776b6054443a2f2419070000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000000b17222d38424b555e686e7b838f949da49c969189817c76706d666561605b545a5959585858595a5b545c60626467676d7174797d81868c91969da09e9285796d6053473a2d201407000000000000000000000000000000000000000000000000000000000714202d3946525e687683909da9a79a8d80828f9ca99f9285796d6053463a2d2013090000000714212d3a46535f697784919daa9e91857e8a97a8aa9e9184776a5f53473a2e211509000000000000000000000000000000000000030f1b27333f4953606c7884919da8aea3988d8074685e52463b3025191616161616161616161724313d4a5764707d8a97a3b0a99c8f82766967676767676767676767676767676767676767676767676767676767676767625f584e43372b1f120600000000000000020b17232e38424e58606d78839099a2978f82756c61564c41362d3a4653606d7985929fa2988a7d70655b534d5259616e7b87939f9f95887b6f65727e8b99a39d9184786c6057514e545e6874818d9aa99c8f8276665c5044382b1f1206000000000000000000000000000000000b151e2934404b55606b74808d96a19e9184796d60594f43392f24180c0814212e3b4754616e7a86929f9f94887b6e615a524c5058606c7884919da2978b7e7164554b4035291d100400000000000000000000000000000000030d1925303b44505b666f7c87929f9e91847a6d60584e42382e323f4b5865727e8b8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f90949faba096918f8f8f877a6d6154473a2e21140700000000000000000000000000000000030d1925303b44505b666f7c87929f9e91847a6d60584e42382e3f4b5865727e8b8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f90949faba096918f8f8f877a6d6154473a2e211407000000000007121d27303b444e58616c73808c939ea7a09d9a9fa4abaca59e9b96918c898684828180808081828385888b8f93999fa2aaa9a19e938f847b6f6a60584e443b30271d120700000000000000000000000000010b151f2a36424d56606a717e889299a2aaafa49c959087817c77726f6d6668676766676768666c6f72767b80868e939fa3aaa8a09792867c6f685e544b403428201509000000000000000007131d2b37434e5864717e8b97a2adab9e9184786d6053463b31251a16161616161616161616161616161616212e3a47535f6a7683909ca9aea2988b7f7265594f4332281e1308000000000007131d2b37434e5864717e8b97a2adab9e9184786d6053463b31251a16161616161616161616161616161616212e3a47535f6a7683909ca9aea2988b7f7265594f4332281e13080000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000030f1c28333f4a545d676d7a8491959fa39f928d847d756f6a64605c545553504a4d4c4c4b4b4c4c4d4e4a51535557555d6064666d70757a7f848a9095978c7f72675d5145392c1f1306000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87939faca7978a7e7f8c99aba297897c6f6356493c31251a0e0200000815222e3b4855616e7b8896a0a89b8e827a8796a0aca096887b6f6255483c31251a0e020000000000000000000000000000000000000b17222d3844505b66717e8a96a0acaa9f92867a6e61564c41362a232323232323232323232324313d4a5764707d8a97a3b0a99c8f8276695c5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a55534e463c31261a0f02000000000000000006111c26303c44515c666f7c87929f9e938a7e71685e52463e323c4956626f7c8997a29f9285796d6053494246535f697683909da7988b7f726875828f9bab998c8073655b5045424d5663707c8998a39f9285796d6053463a2d20130700000000000000000000000000000000030c18232f39434f59606d7984919ea1968d80746b60554b4035291e150b1825323e4b5865717e8b99a39c908376695f53464144505b65727f8c99a99c8f8276675d5145392c1f1306000000000000000000000000000000000009141f28333f4a545f6a74808d96a1978d80746a60544a3f34323f4b5865727e8b989c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9fa6b0a8a09e9c9c94877a6d6154473a2e211407000000000000000000000000000000000009141f28333f4a545f6a74808d96a1978d80746a60544a3f343f4b5865727e8b989c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9fa6b0a8a09e9c9c94877a6d6154473a2e2114070000000000000b151e29323c46505a606c77818e96a0acaaa7acafa7a09d938e89847f7c7a777575747373747577797c7f83878d92989ea5ada59e9691857c6f6a5f564c42392e23180c0300000000000000000000000007121d27313946525e696f7c86929aa3ababa39f928d837c756f6a6662605c545a5a5a5a5a545b606265696e747b818a9298a2a9a9a19891847a6e665c51453c31261a0e0500000000000000010f1b26323c4753606d7985929fabada1968a7d7063574d42362a23232323232323232323232323232323232934404b55626e7b88949fabac9f92867a6d6054473d3221160c010000000000010f1b26323c4753606d7985929fabada1968a7d7063574d42362a23232323232323232323232323232323232934404b55626e7b88949fabac9f92867a6d6054473d3221160c010000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000005101a232b3844505b666d79839096a0a299928b8079706b625f5853514b4846443f40403f3e3e3f3f4041404446484b4c5154545c6063686d72797e838a91857a6d60554b4035291d100400000000000000000000000000000000000000000000000000000004111d2935414c5565727e8b9aa4aca095877a7d8999a3a9998d807366574d42362a1e12050004101d2935404b5565727f8b98a8a9988b7f7784919daaa8998c7f7366574d42362a1e120500000000000000000000000000000000000006111b28333f4a54606d7884919ea8aea2988d8073685e52463a30303030303030303030303030313d4a5764707d8a97a3b0a99c8f8276695c4f4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4847433c332a201509000000000000000000000a141e2834404a545f6a73808d95a09e92857a6d615a50443a3f4b5865727e8b98a99c8f8276665c504138424d576673808d99a69b8e8174677784919eab96897d706353493f3b4653606d7986929fa298887b6e6255483b2f221508000000000000000000000000000000000007121d27313d45515d67707d89939e9f93887d6f675d51453d30271c121d2935414c566875828e9bab998c7f7266574d42353f4953626e7b8897a29f92867a6d6053473a2d2014070000000000000000000000000000000000020b17222d38424e58606d7984919e9f93877c6f665c50443b303f4b5865727e8b98a9a49f969393939393939393939394979ea8a39b98939393877a6d6154473a2e2114070000000000000000000000000000000000020b17222d38424e58606d7984919e9f93877c6f665c50443b3f4b5865727e8b98a9a49f969393939393939393939394979ea8a39b98939393877a6d6154473a2e211407000000000000030c17202a343e44505b656d7a84919daab6b4b3a9a0959189817c7773706d6769686766676768666c6f72767b80868e939fa3aaa8a09792867c6f685e544b4034282015090000000000000000000000000c18232f3943505a616e7b859198a3acaca399928b80786f6a625f585653504a4e4d4d4d4e4a505355575e61696e757e869297a2aaaaa1969082786d60574e42372b21170b00000000000000000a151f2c3845515d6774808d9aa6b0a89c8f8275695e5346382e3030303030303030303030303030303030303845515c6774808d9aa6b0a79b8e8174685d5245392c201304000000000000000a151f2c3845515d6774808d9aa6b0a89c8f8275695e5346382e3030303030303030303030303030303030303845515c6774808d9aa6b0a79b8e8174685d5245392c201304000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000b17212a36424d57606c78818f959fa29892877e736d676059534e46454040434546464544423f3b3a373134383a3b3e4145474a5053565d60666d71787e847f73675d5143392f24180c000000000000000000000000000000000000000000000000000000000613202c3945515d6776828f9cacaa9d9184777a86929faa9d908477695e53463a2d2114070006131f2c3945515d6776828f9ca9a197887c74818d9aa7aa9d908377695e53463a2d211408000000000000000000000000000000000000000b17222d3844505c66717e8b96a1acaa9f92867a6e61564c413d3d3d3d3d3d3d3d3d3d3d3d3d3d3d4a5764707d8a97a3b0a99c8f8276695c4f43404040404040404040404040404040404040404040404040404040403b3a37312a21180e0300000000000000000000020c18232e39424e58606d79839199a1978e81756c61564c41414e5b6774818e9aa79a8d807467544a3f2f3e4b5764717e8a97a49d9083776d7a86939fa399877b6e6154473b3845515c677784909daa978a7e7164574b3e3124180b0000000000000000000000000000000000010b151f2935404b55616b74818e97a19a9184796d60584e42392e2318202d3946525d687884919ea996897c706356493d31394653606c7985929fa398897c6f6356493c3023160900000000000000000000000000000000000006111c262f3c45515d67707d8a949e999083786d60574d42363f4b5865727e8b97a19a938a86868686868686868686878c97a39b918b868686867a6d6154473a2e21140700000000000000000000000000000000000006111c262f3c45515d67707d8a949e999083786d60574d423f4b5865727e8b97a19a938a86868686868686868686878c97a39b918b868686867a6d6154473a2e2114070000000000000008131e28313a46535e696f7d86929facb9b9ada29791837d75706b6663605d555b5a5a5a5a545b606265696e747b818a9298a2a9a9a19891847a6e665c51453c31261a0e050000000000000000000004101c2934404b55616c76828f97a1aaafa49a92877e736d665f58534e4946443f41404040413f4446484d53565e616c717c859298a2aca89f948d80736a5f53473e33281c10040000000000000004101d2935404b55626e7b88949fabac9f93877b6e61544a3f3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d4753606d7985929eabaca095897c6f63564c4135291d11040000000000000004101d2935404b55626e7b88949fabac9f93877b6e61544a3f3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d4753606d7985929eabaca095897c6f63564c4135291d1104000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000004101c28333a46525e69727f8b939ea39992867d716c605c554f47434446494d5051525352514f4c4847433c37332d2f2f35393a3f44464c52545c60656c7179796d60554b4131271f1911060000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929faca79a8d81747683909da9a095877b6e6154483b2f24180c000714202d3a4753606d7a86929fab9e928579717e8a97a7aca095877b6e6154483b3025190d0100000000000000000000000000000000000006111c28343f4a54606d7984919ea8aea2988d8073685e52494949494949494949494949494949494a5764707d8a97a3b0a99c8f8276695c4f43363434343434343434343434343434343434343434343434343434342f2e2b2620180f0600000000000000000000000007121c27303c45515c676f7c87939f9e938a7e70685d5246434f5c6976828f9ca5988b7f7265584c3f2e3c4956636f7c8996a29f9285786f7b889aa49f9286796c6053463934404b556975828f9ca5998c7f7266594c3f3326190c000000000000000000000000000000000000030d18242f3a434f59606d7a85919ea0968d80736a60544a4034281e212e3a4754616d7a8796a1a297877a6d6054473a2d3744505b6576828f9caa988b7f7265584c3f3225190c000000000000000000000000000000000000000a141d2935414b55616c75828f98a0958b7f72695e52463e3a4754616d7a85919a93867d797979797979797979797a8794a0988b7f7979797976685e5246392d201307000000000000000000000000000000000000000a141d2935414b55616c75828f98a0958b7f72695e52463e4754616d7a85919a93867d797979797979797979797a8794a0988b7f7979797976685e5246392d201307000000000000010d19242f3a43505a616e7b859299a3aebbb8ab9e92857a706b6360595653514b4e4d4d4d4e4a505355575e61696e757e869297a2aaaaa1969082786d60574e42372b21170b0000000000000000000006131f2c3845515c67707d8a949fa9b0a69f93887e716c605c544e47433c3a38342e3433342d3338393c42464d525a616a6f7c86929aa4afa69f92877b6e62594f44392d20150a00000000000000000c18242f3947535f6a7683909ca9afa4998c8073665c504949494949494949494949494949494949494949494e5864717e8b97a2adaa9d9083776b6054443a2f24190d0100000000000000000c18242f3947535f6a7683909ca9afa4998c8073665c504949494949494949494949494949494949494949494e5864717e8b97a2adaa9d9083776b6054443a2f24190d01000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000714202c38444f59616e7b86929fa59f92877d706b615a514b4344495053565a5c5e5f5f5f5e5c5955534e46443f382f27343c424a5053565b5d5f5f5b60666c6d675c51454039312b2317110a0200000000000000000000000000000000000000000000000004101c2834404b5464717e8a99a3aea7978a7e7173808d99aba7988b7f7265554b4035291d10040a1724303d4a5763707d8a98a3a89b8f82756e7a8795a0aca7988b7f7265564c4135291d1105000000000000000000000000000000000000000b17232e3844515c66727e8b96a1adaa9f92867a6d615656565656565656565656565656565656565764707d8a97a3b0a99c8f8276695c4f433629272727272727272727272727272727272727272727272727272722211f1a150e0600000000000000000000000000000b151e2834404b55606a73808d96a09e91857a6d61594f43505d6a7683909da4978a7e7164574b3e313b4855616e7b8894a19f9286796f7c8996ac9e918578655b5044372e414e5b6774818e9aa6998d8073665a4d4033271a0d0000000000000000000000000000000000000007131d28313d45525d68717e8a939e9f92877c6f665c51443c3026232f3c4956626f7c8995a89f928578685d5245392c333f49536774818e9aa79a8d8174675a4e4134271b0e00000000000000000000000000000000000000020b18242f3a43505a616e7b86929f9f92867b6e61594f433946525e68707d88939a92857a6e656c6c6c6c6c6c6d7a8794a0988b7f726c6c6c6c5e564c41362a1d110500000000000000000000000000000000000000020b18242f3a43505a616e7b86929f9f92867b6e61594f4346525e68707d88939a92857a6e656c6c6c6c6c6c6d7a8794a0988b7f726c6c6c6c5e564c41362a1d110500000000000004111d2935414c55626c76828f97a1abb5afacada2978e81776c605a504947454042414040413f4446484d53565e616c717c859298a2aca89f948d80736a5f53473e33281c1004000000000000000003101c28343f4a54606d7984919ea6b0aa9e948c7f736c625a504a423c37322d2c282327272722282b2d31363b42465058606a707e88939fa8aea3998f82766c6155493c31261b0f000000000000000007121d2b37434e5864717e8a97a1adab9e9184796d6056565656565656565656565656565656565656565656565f6a7683909ca9aea2988b7f7265594f4332281e130800000000000000000007121d2b37434e5864717e8a97a1adab9e9184796d6056565656565656565656565656565656565656565656565f6a7683909ca9aea2988b7f7265594f4332281e130800000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000a16232f3c4855616b75828f98a29d938b7e716b60595045414950535b606366696b6c6c6c6b6866625f58535049413d333d464e545b6063676a6b6c6c6b696663605c54514b433d3528221c140b02000000000000000000000000000000000000000000000006131f2c3845515c6675818e9babaca095877a6e707d8999a3a89c8f8275675d5145392c1f1306121f2b37434e586774818d9aaaa8988b7f72687784919daaa99c8f8376685e5246392d2013070000000000000000000000000000000000000006111c2834404a54606d7984919ea9aea2988d8073686363636363636363636363636363636363636364707d8a97a3b0a99c8f8276695c4f4336291c1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1514120f0903000000000000000000000000000000030c18232e39434e58606d7984919aa1978e81746b61564c515e6a7784919da3978a7d7064574a3d313b4754616e7a8794a1a399867a707d8a96a39e9184776b5e493f3334414d5a6774808d9aa79a8d8174675a4e4134271b0e000000000000000000000000000000030608090d0c161f2935414c56616c75818f97a2999083786d60584e42382e23313e4a5764717d8a97a49d9084776a564c4135292d404c5966737f8c99a69c8f8276695c4f4336291c10000000000000000000000006060606060606060007131d28313e46535e69727f8c95a0988e81756b61554b40414c56616b74808d95978f82776c6058606060616d7a8794a0988b7f726560605f524c443a3025190d010000000000000000000000000000020608080c0e07131d28313e46535e69727f8c95a0988e81756b61554b414c56616b74808d95978f82776c6058606060616d7a8794a0988b7f726560605f524c443a3025190d010000000000000613202c3945515d67717e8b949fa9b3aba39fa3a99e938c80736c61584e453b352f3433342d3338393c42464d525a616a6f7c86929aa4afa69f92877b6e62594f44392d20150a000000000000000006121f2b3844505c66727f8c96a0acaea2988f82776c605a50443f38302b26201f1c171a1a1a171c1f20252a30363e464e58616c73808d96a1acab9f948a7d7064584e43372b1d120700000000000000010f1a26313c4653606d7985929eacada1968a7d70646363636363636363636363636363636363636363636363636e7b88949fabac9f92867a6d6054473d3221160c01000000000000000000010f1a26313c4653606d7985929eacada1968a7d70646363636363636363636363636363636363636363636363636e7b88949fabac9f92867a6d6054473d3221160c0100000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000007131f2c38434f5963707d8a949ea1978e81746c62594f47444c535b60656c6f7376787979787775726e6a64605b534e443f464e585f666c707477787979777673706d66605d554f4740332d261d140a00000000000000000000000000000000000000000000000713202d3a4653606d7985929fabaa9d908477686d7a86929fac9f92867a6d6053473a2d20140a15212e3a47535f6a7884919eaba196887b6e6774818d9aabac9f92867a6d6154473a2f24180c00000000000000000000000000000000000000000c18232e3945515c66727f8b97a1adaa9f92867a707070707070707070707070707070707070707070707d8a97a3b0a99c8f8276695c4f4336291c100d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0808060200000000000000000000000000000000000007121d27303d45515d67707d88939f9e938a7d70685d52515e6b7884919ea3968a7d7063574a3d303a4754616d7a8794a0a194877a717d8a97a49d9184776a5e51442d34404d5a6773808d9aa69b8e8175685b4e4235281b0f00000000000000000000000000040a0f1315161a1d1f1924303a44505a616e7a85929ea0958c7f736a5f544a3f3428323f4b5865727e8b98a59c8f8376695c50432f24323e4b5865717e8b98a49d9083776a5d5044372a1d1100000000000002060a0c0d131313131313131313130c161f2a36424d57606d788390999e938a7d70675d51453c444f59606d79839098948c7f726a60554b54616d7a8794a0988b7f726558535346413a32281e13080000000000000000000000000003090e121415191b1d1e161f2a36424d57606d788390999e938a7d70675d5145444f59606d79839098948c7f726a60554b54616d7a8794a0988b7f726558535346413a32281e130800000000000004111d2935414c55606d7a85929ea6b0aaa2999299a1a59c928a7e716a60574d43392f26272722282b2d31363b42465058606a707e88939fa8aea3998f82766c6155493c31261b0f00000000000000000713202d3a4653606d7884919ea8b2a99f92867b6e655b50483e342e261e1b1312100c060d060b0f12131a1f252a343d46505a606d7984919ea8b0a69c8f83766a5f5347392e23180c000000000000000009151f2c3845515c6673808d9aa4afa99c8f82757070707070707070707070707070707070707070707070707074808d9aa6b0a79b8e8174685d5245392c201304000000000000000000000009151f2c3845515c6673808d9aa4afa99c8f82757070707070707070707070707070707070707070707070707074808d9aa6b0a79b8e8174685d5245392c2013040000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000915222f3b4854606b7683909da69e91857a6d605a5047454d565e656c71787c80838485868584827f7b77716c65605850494e58606a6f787d81838586858483807c78726d67605952443f382f261c1106000000000000000000000000000000000000000000030f1b27333f495363707d8a98a2aeaa9a8d807367677683909ca9a3988a7d7063574a3d31261b0f15222f3c4855626f7b8896a1ab9e9184786a64717d8a99a3afa3998b7e7164554b4035291d10040000000000000000000000000000000000000007121c2834404b54606d7985919ea9aea2988e817c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7f8c99a6b2a99c8f8276695c4f4336291c1003010101010101010101010101010101010101010101010100000000000000000000000000000000000000000000000b151e2935404b55606b74818d96a19e91847a6d60594f5e6a7784919da3978a7d7064574a3d313b4754616e7a8794a1aa93877a707d8a96a39e9184776b5e51442f34414d5a6774808d9aa79a8e8174675b4e4134281b0e0000000000000000000000040a0f151b1f212226292b2c2c28323e46525e68717e8b949e9f92877c6f665c50443c2f33404c5966737f8c99a69c8f8275695c4f423629313e4b5764717e8a97a49e9184786b5e5145382b1e120000000000070d121619192020202020202020202020201a25313b44505c666f7c87939f9e9184796d60584e413d45515c676f7c86929f92867c6f675d5154616d7a8794a0988b7f7265584c3f3936302820160c020000000000000000000000060c11151a1e212226282a2b2c2c25313b44505c666f7c87939f9e9184796d60584e4145515c676f7c86929f92867c6f675d5154616d7a8794a0988b7f7265584c3f3936302820160c020000000000000613202c3945515d67737f8c97a2adaea29892869196a1a49f92867c6f695e554b41382d2217171c1f20252a30363e464e58616c73808d96a1acab9f948a7d7064584e43372b1d120700000000000005111e2a36414c5664707d8a96a1adada1978c7f72695e53493f3628231c140c0a060300000000000306090e1419222b343e45515d67717e8a96a0acab9f94887c6f62544b4034281c10040000000000000004101c2834404b54616e7b87939facac9f93877d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d85929fabaca095897c6f63564c4135291d1104000000000000000000000004101c2834404b54616e7b87939facac9f93877d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d85929fabaca095897c6f63564c4135291d11040000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000005111e2a36424d56636f7c89959f9f958a7e71685d5248434d575e686d777e84898d8f91929292918f8c88837e786f6a605b5354606a6f7c83898e9092929291908c89847f796f6b635c504a42382d22171007000000000000000000000000000000000000000005121f2b3744505b6574818e9aaaaea398897d70636673808c99a9aa9a8d817467584e43372b1f121d2935414c5666727f8c99a8ac9b8e817468606d7a86929facab9b8f8275675d5145382c1f130600000000000000000000000000000000000000000c18232e3945515d67727f8c97a1adaa9d938e898989898989898989898989898989898989898989898c919ca8b5a99c8f8276695c4f4336291c100300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18242f39434f59606d7984919ea1968e81746b60555d6a7783909da4978a7d7164574a3e313b4855616e7b8894a1a2988679707c8996a39e9184786b564c413534414e5b6774818e9aa69a8d8073675a4d4034271a0d00000000000000000000070e151b20262b2e2f3336383939393736414c56626c76828f98a2999083786d60574d41382d404d596673808c99a69b8e8275685b4f423528313d4a5764707d8a97a39e9285786b5f5245382c1f12000000010a12191e2325262d2d2d2d2d2d2d2d2d2d2d2d2d2d28343f4a54606a74808d97a1968d80736a5f53493f404b555f6a727f8b94999184796d605a54616d7a8794a0988b7f7265584c3f322a251e160e050000000000000000000002090e171d1f262b2e2f3235373839393938343f4a54606a74808d97a1968d80736a5f5349404b555f6a727f8b94999184796d605a54616d7a8794a0988b7f7265584c3f322a251e160e05000000000000000714212d3a4754606d7a85929fa9b3a99f92867c849198a2a29891847b6e675d53493f332722190f12131a1f252a343d46505a606d7984919ea8b0a69c8f83766a5f5347392e23180c0000000000000714202d3946525e6876828f9ca8b2ab9e9185796d60574d41382d2417110a02000000000000000000000002091019222935404b55606c7884919dabb0a69a8e8174665c5145382c1f130600000000000000000c18232e3946535f6976828f9ca9afa499938a89898989898989898989898989898989898989898989898989899297a2adaa9d9084776b6054443a2f24190d010000000000000000000000000c18232e3946535f6976828f9ca9afa499938a89898989898989898989898989898989898989898989898989899297a2adaa9d9084776b6054443a2f24190d010000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000714202d3a46525e6975828f9ba79d9083766c61564c414b555e696e7a828b9196999c9e9f9f9f9e9b9995908a837c726c655c5c666f7c8690959a9d9e9f9f9e9c9996918b847d736e605b544a3f332822190c02000000000000000000000000000000000000000613202d394653606c7885919eabac9f9286796d60636f7c8997a2ab9e9184786a5f53473a2e2115202c3945525d687683909ca9a49a8a7e71645d687683909ca9ac9f9285796d6053473a2e23170b000000000000000000000000000000000000000007121d2935404b55606d7985929ea9afa59d9a96969696969696969696969696969696969696969696999ca3adb5a99c8f8276695c4f4336291c100c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0706040000000000000000000000000000000000000000000000000007121d27313d45515d67707d89939d9d93897d70675d5c6976838f9ca4988b7e7165584b3e323c4855626f7b8895a29f9285796f7c8895a99f928578685d52453935424e5b6875818e9ba6998c807366594d4033261a0d00000000000000000109101920272b32373b3c40434546464544423e44505a616e7b86929f9f958c7f72695f53493f33404d5a6673808d99a69b8e8174685b4e413528303d4a5663707d8996a39f9285786c5f5245392c1f120000000a131c232a2f32333939393939393939393939393939392e38424e58606d7a85919e9f92877c6f655b50443a434e58626d75828f97968e81746c6157616d7a8794a0988b7f7265584c3f322519130c0500000000000000000000050d141a22282d31373a3b3f414445454646454441424e58606d7a85919e9f92877c6f655b5044434e58626d75828f97968e81746c6157616d7a8794a0988b7f7265584c3f322519130c050000000000000006121e2b37424d5765727e8b97a2adada1978c7f727c86929aa4a1969083796d655b50443e342b20170d090e1419222b343e45515d67717e8a96a0acab9f94887c6f62544b4034281c100400000000000814212e3b4754616e7a87939facafa3998c7f72675d51453b2f261b1206000000000000000000000000000000071018242f3944505b66727e8b99a3aeac9f9285796d6053463a2d201308000000000000000007121d2a36424d5764707d8a96a1adaba49f9796969696969696969696969696969696969696969696969696969fa2a9aea2988b7f7265594f4332281e13080000000000000000000000000007121d2a36424d5764707d8a96a1adaba49f9796969696969696969696969696969696969696969696969696969fa2a9aea2988b7f7265594f4332281e1308000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000814212e3b4754616e7b87939fa1968a7e71645a504445515d676e7b848f949ea0a8a39f9c9a999a9b9e9f9d9590877f776d66606d79849198a0a79f9d979595989c9f9e96918780746c665b50443f342b1e140a00000000000000000000000000000000000000091623303c4956636f7c8997a1ada99c8f8276675d606d7985929faba196887b6f6255483c302419212d3a4754606d7a86929fac9f93877a6e615666737f8c99a8aea2988a7d7064544a3f34281c100300000000000000000000000000000000000000000c18242f3945515d67727f8c97a2adafa9a7a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a6a8adb5b5a99c8f8276695c4f4336291c1919191919191919191919191919191919191919191313100c070000000000000000000000000000000000000000000000010b151f2935414b55606b74818e97a19e9184796d60596875818e9ba6998c807366594d40313d4a5763707d8a96a39e9184776e7a8797a1a298877a6d6054473a36424d57697683909cac988b7e7265584b3f3225180c00000000000000010a131b222b32373c4347494d5052525352514e4b4746535e69727f8b949f9f92867b6e655b50443b404d5a6673808d99a69b8e8174685b4e413528303d4a5663707d8996a39f9285786c5f5245392c1f12000007121c252e353b3e4046464646464646464646464646464646464645525d68717e8a949f999083776c60564c413c46515b616d7a85919a938a7e71695e616d7a8794a0988b7f7265584c3f322519080200000000000000000000060f171f252a34393c4247484c4e505152535252514e4c48525d68717e8a949f999083776c60564c4146515b616d7a85919a938a7e71695e616d7a8794a0988b7f7265584c3f322519080200000000000000000814212e3a47535f697683909da9b3ab9e9185796d717e88939fa59f958e81776c605a50463c32291f150b02091019222935404b55606c7884919dabb0a69a8e8174665c5145382c1f130600000000030f1b27333f495364717e8b9aa4afac9f92867a6e61554b4033291d140a000000000000000000000000000000000007121d28333f4a54616d7a86929facaea298897d706356493d2f24190d0100000000000000000e1a26313b4653606d7984919eabb5afaca3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3abadb3ac9f92867a6d6054473d3221160c0100000000000000000000000000000e1a26313b4653606d7984919eabb5afaca3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3abadb3ac9f92867a6d6054473d3221160c01000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000004101d2935404b5565727e8b99a49e9184786d605346434e58606d798391969fa6a49f9992908e8d8d8e91969a9f99928c81786d66717e8a96a0a89f95908a88898b8f949da099938c81786c605b51463d30261c1106000000000000000000000000000000000006121f2b37434e586773808d9aa9b2a8988c7f7265555c6675828f9ba8a8998c7f7266564c4135291d27333f495364717d8a99a3aa9d908377685e55626f7c8896a1adaa9b8e8174665c5044382b1f1206000000000000000000000000000000000000000007121d2935404b55606d7a85929faab3b5b4b1acaa9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa3a6abb4b5a99c8f8276695c4f43362926262626262626262626262626262626262626262626201f1c18120b0300000000000000000000000000000000000000000000030d18242f3a434f59606d7a84919ea1968d80746b6066727f8c99ab9b8e817568574d42373f4a5465727f8b98a59b8f8275697885929eaa95887c6f6255493c3a46535e697885919ea49a897c6f6256493c2f231609000000000000000a131c252d343c43474e5355595c5e5f5f5f5d5b5853514d57606c77829098a3989082776c60574d42404d596673808c99a69b8e8175685b4e423528303d4a5763707d8a96a39e9285786b5f5245382c1f1200020d19232e3740464b4c535353535353535353535353535353535353534c56616c76828f989f948b7e71685e52463d3f46525e68707d88939f92857b6e66616d7a8794a0988b7f7265584c3f3225190c00000000000000000000060f18212930363e45494d5355595b5d5e5f5f5f5e5d5b58555356616c76828f989f948b7e71685e52463f46525e68707d88939f92857b6e66616d7a8794a0988b7f7265584c3f3225190c0000000000000000000815222f3b4855626e7b88959fabafa3998c7f73676c73808c939ea79e938c7f736c61584e443b31271d120700071018242f3944505b66727e8b99a3aeac9f9285796d6053463a2d2013080000000005121f2b3744505b6575818e9bacb6a99c8f8276685e5243392f21170b020000000000000000000000000000000000010b17222d3846525d6875828f9ca8b4aa9a8d807367564c4135291d1104000000000000000009141f2c3844505c6673808c99a3afbbb9b1acaa9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa7a9afb8bab1a79b8e8174685d5245392c20130400000000000000000000000000000009141f2c3844505c6673808c99a3afbbb9b1acaa9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa7a9afb8bab1a79b8e8174685d5245392c20130400000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000613202c3945515d6775828f9ca8998c7f72665c50444854606a74808d95a0a8a499938d87838180808184888d92989f938e81786c74818e9ba8a09690837d7b7c7e828991969f9f938e81746d62584e42382e23170b01000000000000000000000000000000000815212e3a47535f6a7784919eaaaca196887c6f62555465717e8b98a7a99c908376685d5246392d202b3744505b6574818e9babaa9a8d80736756535f6a7884919eabab9e9285796d6053463a2d20130a0000000000000000000000000000000000000000010d18242f3945515d6773808c98a2aebab1a7a09d93939393939393939393939393939393939393979aa2abb5a99c8f8276695c4f433633333333333333333333333333333333333333333333332d2c28231d150c030000000000000000000000000000000000000000010407131d28313d45525d68707d8a939e9f93887d6f6763707d8a99a39e918478695f53473f44505c6675818e9ba9998c7f736976838f9ca5988b7f7265574d423f4854616e7b8796a19f93867a6d6053473a2d20140700000000000008121c252e373f464e54585f6266696b6c6c6c6a6864605d55515b656e7b86929f9f948b7f72695e5346404c5966737f8c99a69b8f8275685c4f423529313e4a5764717d8a97a49e9184786b5e5145382b1e120006121e2a3540495157596060606060606060606060606060606060606060605a616e7b86929f9e92857a6d61594f4239414c56616b74808d95979083786d616d7a8794a0988b7f7265584c3f3225190c000000000000000000030d18212a333b42465055575f6265686a6b6c6c6c6b6a6865615f575a616e7b86929f9e92857a6d61594f42414c56616b74808d95979083786d616d7a8794a0988b7f7265584c3f3225190c0000000000000000030f1c28333f4a5465727f8b98a7b1ac9f92867b6e61606c77818e95a0a59f93887e716a60564d43392f231812080007121d28333f4a54616d7a86929facaea298897d706356493d2f24190d010000000613202d394653606c7885929eabb3a9988b7f7265564c4131271d0f050000000000000000000000000000000000000006111c2935414c5665727f8b98aab4aa9d918477685d5245392c201306000000000000000003101c28343f4a54616e7b87929facb9b1a7a0939393939393939393939393939393939393939393939b9ea5afb8aca095897c6f63564c4135291d110400000000000000000000000000000003101c28343f4a54616e7b87929facb9b1a7a0939393939393939393939393939393939393939393939b9ea5afb8aca095897c6f63564c4135291d110400000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000714202d3a4753606d7a86929fa096887b6e62544a414d56626f7c87939fa7a4999387807a7674737375777b80868e939f938c807376838f9ca99e918478706e6f71767d848f949f9d938b7f726a60544a3f34281d1207000000000000000000000000000000000915222f3c4855626f7b8896a0acab9e9184786a5f5354616e7b8795a0ac9f92867a6d6154473a2d222d394653606c7885929eaba298897d7063564e586774818e9aaaada197897c706356493d32261b0f03000000000000000000000000000000000000000007121d2935414c55606d7a85929faab4aca09591868686868686868686868686868686868686868a909aa6b5a99c8f8276695c4f433f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3a38342e271e150b00000000000000000000000000000000000001080d111314161f2935414c56616c75818e97a19a9184796d616d7a86929fa196887b6e6259504a4e56606d7985919ea197897d706673808d99a79c8f8275695f544d4a505b65717e8b98a99d908377675d5145392c2013060000000000040e1a242e374049515860626a6f7376787979787775716d67605c555f69727f8c959f9f92867b6e615a50444b5865727e8b98a59c8f8276695c4f432f24313e4b5864717e8b97a49d9083776a5d5044372a1d11000a16232f3b46515b63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b69727f8c95a0978e81746b60544b403a444f59606d79839098958c80736b6d7a8794a0988b7f7265584c3f3225190c0000000000000000010b151f2a333c454d525a6164696e72747778787979787774726e6963605f69727f8c95a0978e81746b60544b40444f59606d79839098958c80736b6d7a8794a0988b7f7265584c3f3225190c000000000000000006121f2b3844505b6676828f9ca9b5a99c8f8276685e5b656d79839097a1a49a92867c6f685e554b403429241a1006010b17222d3846525d6875828f9ca8b4aa9a8d807367564c4135291d11040000000815222e3b4855616e7b8897a1adada197887b6e6255483b3022150b0000000000000000000000000000000000000000000d1924303c4855626f7b8898a2aeaca095877a6d6054473a2d2114070000000000000000000c17232e3846525e6975828f9ca8b2aca095898686868686868686868686868686868686868686868e939ea9b4aa9d9084776b6054443a2f24190d01000000000000000000000000000000000c17232e3846525e6975828f9ca8b2aca095898686868686868686868686868686868686868686868e939ea9b4aa9d9084776b6054443a2f24190d0100000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000a1724303d4a5763707d8a98a39e9184776a5f534246525e6875828f99a4a89f93877e746d6867666768696e737a818b929893887d7783909da5988c7f72666262656b707a828f959f9f92877c6f665c5044392f24180d00000000000000000000000000000005121e2a36424d5766737f8c99a8b2aa9a8d807467584e525e697783909daaa3998a7e7164544a3f33282f3c4956626f7c8997a1ab9f9285796d60534a5764707d8a98a3aea99a8d807467584e43372b1f13060000000000000000000000000000000000000000010d19242f3a45525d6873808d98a2aeaa9d9184777979797979797979797979797979797979797e8a97a3b0a99c8f8276695c4f4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4645403930271d120700000000000000000000000000000001070c13191d20212428242f3a444f59616d7a85929ea0968d80736a6876828f9ca89a8d80746b605b54585f68707d8a97a19e9185796d626f7b8895a09f93877b6e665e57545c606d7683909da4998c7f7266554b4035291d110400000000020c16202c364049525b626a6f767c80838585868584817e7a736d675e57606d78839099a2988f82766c62564d4a5764717d8a97a49d9083776a554b403529323f4c5965727f8c98a59c8f8276695c4f4336291c10000c1925323e4b57636d737979797979797979797979797979797979797979797978736d7883919a9e93897d70665c51453c3d45515c676f7c86929f93877d706d7a8794a0988b7f7265584c3f3225190c000000000000000007121d27313c464e575e616c71777b7f8183848586858584817f7b76706b60606d7883919a9e93897d70665c51453d45515c676f7c86929f93877d706d7a8794a0988b7f7265584c3f3225190c00000000000000000613202d394653606c7985929facb3a9988b7f726556535d676e7b859198a3a29891847a6e675c514540362c22180e0506111c2935414c5665727f8b98aab4aa9d918477685d5245392c2013060000000a1724303d4a5763707d8a96a9b3ab9e928578695f53473a2e2114030000000000000000000000000000000000000000000813202d394653606c7985929facb1a795897c6f6256493c2f23160900000000000000000006111c2a36424d5763707d8a96a1acaa9d9083797979797979797979797979797979797979797979818e9ba7aea2988b7f7265594f4332281e1308000000000000000000000000000000000006111c2a36424d5763707d8a96a1acaa9d9083797979797979797979797979797979797979797979818e9ba7aea2988b7f7265594f4332281e13080000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000c1926333f4c5966727f8c99aa9a8d807467584e434754616e7b86929faba1968c7f736c615e565a5a575f61686d757e86929891857a83909ca3968a7d706354565960686d79839096a1999083786d60554b4035291c110600000000000000000000000000000714202d3a46525e697783909daaaea298897d7063564a4d566673808d99a9ab9b8e8175665b5044382b36414c566673808c99a9ab9b8e8275665c514753606d7a86929facab9e9184786a5f53473b2e21150900000000000000000000000000000000000000000008131e2935414c56616d7a86929faaaca0958a7d706c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c707d8a97a3b0a99c8f8276695c595959595959595959595959595959595959595959595959595953514b43392e23180c0000000000000000000000000000030b12181e24292c2d31353738323e46525e68717e8a939e9f93877c6f67717e8a95a09f92877d716c6667676a6e7a84919ea2988d8073665f6a7783909da4998f82786e696767666d727f8b959f9f93877b6e6154483b2f24180d010000000008131e28323e48525b636d727c82888c8f91929292908e8b857f796e695e5c666f7c87929f9f948b7e71685e524956626f7c8995a99e918578675d5145392c34404d5a6773808d9aa69a8e8174675b4e4134281b0e000d192633404c5966737f868686868686868686868686868686868686868686868578666f7d88939f9d9184796d60574d4237404b555f6a727f8b94999184796d7a8794a0988b7f7265584c3f3225190c00000000000000000c18242f39434e585f696e767e83888c8e909192929291908e8b87827d746d67666f7d88939f9d9184796d60574d42404b555f6a727f8b94999184796d7a8794a0988b7f7265584c3f3225190c00000000000000000815222f3b4855626e7b8898a2aeada197887b6e62554b555e696f7c86929fa4a1969083796d605b51483e342a20170c030d1924303c4855626f7b8898a2aeaca095877a6d6054473a2d2114070000000c1926323f4c5965727f8c98a5b2a99c8f837669574d42372b1e120600000000000000000000000000000000000000000006121f2b3844505b667783909daab1a4978b7e7164584b3e3125180b000000000000000000000e1a25303b4653606c7884919eabaca095897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d7a86929facac9f92867a6d6054473d3221160c010000000000000000000000000000000000000e1a25303b4653606c7884919eabaca095897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d7a86929facac9f92867a6d6054473d3221160c010000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000030f1b27333f49536874818e9bab978a7e7164574b3f4c5965727f8c99a3ab9e9184796d605a524c4d4d4d53565e616c717d8692978d80828f9ca396897c706356494f565d676e7a84919ea0958b7f72675d5145382d22170b00000000000000000000000000000815212e3b4854616e7b87939facab9f9285796d6053464956636f7c8997a1ab9e9285796c605346392d3946525e687783909daaa4998b7e7164544b45515d6776828f9ca9aca196887c6f6255493c31261a0e020000000000000000000000000000000000000000010d1924303a46525e6873808d98a3aea79c9083766b606060606060606060606060606064707d8a97a3b0a99c8f827669666666666666666666666666666666666666666666666666666666605c554b4034281c1004000000000000000000000000060d151d24292f35393a3e4144454645414c56616c75828f97a2999183796d6d7984919da39992857e78757474767b839096a19f92867b6e615864717d8a949e9f948f827b76747475797f87929fa1978e8174695e52463a2d1d130700000000010d1924303a44505a636e737f878f94999c9e9e9d9e9d9b98928c837b6e695e5f6a73808c95a09f92857b6e615a5054616d7a8797a1a197867a6d6053473a2d35414c566875828f9bac998c7f7266594c3f3326190c000d192633404c5966737f8c93939393939393939393939393939393939393939185786b6b74818e97a0968c7f73695f53463e39434e58626d75828f97968d80747a8794a0988b7f7265584c3f3225190c0000000000000004101d2935404b555f6a6e7b838a9095989b9c9a989898999c9b9a938f8981796d676b74818e97a0968c7f73695f53463e434e58626d75828f97968d80747a8794a0988b7f7265584c3f3225190c00000000000000000b1824313e4b5764717e8a97aab4ab9e928578695f53474d57606a717e8a929ca59f958e81756d635a50463c32291e150b0813202d394653606c7985929facb1a795897c6f6256493c2f2316090000000e1b2834414e5b6774818e9aa7b3a79a8d8074675a4d4131261a0e02000000000000000000000000000000000000000000030f1c28333f4a546875818e9ba8b3a6998d8073665a4d4033271a0d0000000000000000000009141f2b3844505b66727f8c99a3aea79a8d8174675c606060606060606060606060605765717e8b98a2aea79b8e8174685d5245392c2013040000000000000000000000000000000000000009141f2b3844505b66727f8c99a3aea79a8d8174675c606060606060606060606060605765717e8b98a2aea79b8e8174685d5245392c201304000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000005121f2b3744505b657783909da499887c6f625549424d566875828f9baba9998c7f73675c514641404042474c525a626b707d8792928785919ea3968a7d7063574a434c555e68707d8a939e9f9285796d60544a3f33281c0f0300000000000000000000000004111d2935414c5665727f8b9aa4afab9b8e8275665c51444653606d7985929eaba197897c6f6356493c303a4754616d7a87939fac9f93867a6d615447404b5565727e8b98a7b1a8998c807366574d42362a1e120500000000000000000000000000000000000000000008131e2a36414c56616e7a86929fabab9f94897c6f63574e535353535353535353535764707d8a97a3b0a99c8f8276727272727272727272727272727272727272727272727272727272726d675c5145382c1f13060000000000000000000000060f181f272f353a4145474a4e505253525150505a616e7a85929fa0958d80736a707d89919fa297928a8482808183879095a09e938c7f72695e55616c75828f95a09f948f8783818082858b9299a29892857a6d61574d42362a1e0c010000000005111d2935414c56616c73808c92999f9f9992919091979c9e9f9590847b6e675c606d79839099a2978f82756c6156525e687885919ea995897c6f6256493c303946525d687784919ea49a897d7063564a3d3023170a000d192633404c5966737f8c999999999999999da0a7a9a29f999999999999999185786b616d7a85929e9f92867b6e615a50443a3c46515b616d7a85919a93887d7a8794a0988b7f7265584c3f3225190c0000000000000006131f2c3945515d676e7c8490959d9d9993908d8b8b8b8d8f92999f9c938e82796d616d7a85929e9f92867b6e615a50443c46515b616d7a85919a93887d7a8794a0988b7f7265584c3f3225190c00000000000000000d1a2633404d596673808c99a6b3a99c8f827669574d42454e58616c73808d939ea79e938c7f736c61584e443b30271d1207121f2b3844505b667783909daab1a4978b7e7164584b3e3125180b000000101c2936434f5c6976828f9ca9b2a5998c7f7266594c3f3326190900000000000000000000000000000000000000000000000b17222d404d5a6773808d9aa6b3a89b8e8175685b4f4235281c0f00000000000000000000030f1c28333f4a54616e7a86929facab9f9285796d60535353535353535353535353535f697683909caaaca095897c6f63564c4135291d110400000000000000000000000000000000000000030f1c28333f4a54616e7a86929facab9f9285796d60535353535353535353535353535f697683909caaaca095897c6f63564c4135291d1104000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000613202d394653606c7985929f9f93867a6d60534746525e697885919eaba297887b6e62554b40363031373a41465059616b727f8b93929197a1a4978b7e7164584b3e434c56616c75828f9ba2978b7f72665b5044382b1f12060000000000000000000000000713202c3945525d6876828f9cacafa3998a7e7164544a4044505c6675818e9baba9998c807366574d42363f4a5464717e8b9aa4a99d908376685e52463b4854616e7b8795a0acaa9d908377695f53463a2d211408000000000000000000000000000000000000000000020d1925303a46525e6874808d99a3aea69b8f82756a5f534746464646464646464a5764707d8a97a3b0aa9d91847f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f796d6053463a2d20130700000000000000000000060f18212a313940454c5254575b5d5e5f5f5e5d59565e68717e8b949e9f92877c6f6b737f8c93999e9f97918e8d8e90939aa09e938e81786d6056505a616e7a8390959e9f9993908e8d8e92979f9f9892867d70685e52453b30251a0e00000000000713202d3946525d68717e8a929fa198928b86848385888f949da0969083796d605c666f7c87939f9e938a7e71685e52566975828f9ca5988b7f7265574d42363b4754616d7a86939f9f93867a6d6154473a2e211407000d192633404c5966737f8c8c8c8c8c8c8c8c9095a0a297928c8c8c8c8c8c8c8c85786b5d68717e8b949f988f82766c61564c41353f46525e68707d88939a91847a8794a0988b7f7265584c3f3225190c00000000000004111d2935414c55606d798391969f9b938e8783807f7e7f8082878f949e9d948e81746a68717e8b949f988f82766c61564c413f46525e68707d88939a91847a8794a0988b7f7265584c3f3225190c00000000000000010e1b2834414e5b6774818e9aa7b4a79a8d8174675a4e413d46505a606c77818f95a0a59f93887e706a5f564c43392e2318110f1c28333f4a546875818e9ba8b3a6998d8073665a4d4033271a0d000000101d2a3643505d697683909ca9b1a4978a7e7164574b3e3124180b0000000000000000000000000000000000000000000000061926323f4c5965727f8c98a5b2a89c8f8275695c4f4236291c0f00000000000000000000000b17222d3846525e6875828e9ba8ada2978a7e7164574d42464646464646463f4a54626e7b88949fabaa9d9084776b6054443a2f24190d0100000000000000000000000000000000000000000b17222d3846525e6875828e9ba8ada2978a7e7164574d42464646464646463f4a54626e7b88949fabaa9d9084776b6054443a2f24190d01000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000714212d3a4754606d7a8798a29e918478675c51454754616e7a8797a1ab9e928578695f5343392f25262b30363e474f59626d74818e979ea1a9a6998c7f7366594c403b444f59626f7c88949e9e9184786c605346392d22170b0000000000000000000000000714212d3a4754606d7a86929facac9f92867a6d6054473a3f4a5464717e8a99a3aa9d908377695e52463a44505c6675828e9baca8998c7f7366564c413a46535e697783909daaaca095887b6e6155483b3025190d0100000000000000000000000000000000000000000008131e2a36414c56616e7b86929fabac9f93877b6e62564d423639393939393d4a5764707d8a97a3b0aca096918c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c877a6d6054473a2d211407000000000000000000030c18212a333c434b51565d6064686a6b6c6c6b69666260626c76828f98a2999083786d6d737f878f94989b9d9b9a9a9d9c9996918a81786d665c5046525e686e7a838b92979a9c9c9a9a9b9d9b9a938e867d706b60564c4133291f14090000000004111d2935414c56616d7a85929ea19792867f7a7776787c828d929d9f958c7f73685e606a73808d96a09e92857a6d61595965727f8c98a79c8f8275695e524641444f5964717e8a9aa49d908377685e5246392d20130700091623303c4956636f7d808080808080808083909d9f928580808080808080807f726556626c76828f989f948a7e71685d52453d36414c56616b74808d95958c808c99a5988b7f7265584c3f3225190c0000000000000613202c3945515d6773808d95a09b918c817b767372717273767b828f939e9f93877c6f626c76828f989f948a7e71685d52453d414c56616b74808d95958c808c99a5988b7f7265584c3f3225190c0000000000000003101c2936434f5c6976828f9ca9b2a5988c7f7265594c3f343e44505b656d79839097a1a49a92867c6f685e554b403428231a1017222d404d5a6773808d9aa6b3a89b8e8275685b4f4235281c0f020000111e2a3744515d6a7783909daab0a3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a99c908376695d5043362a1d10000000000000000000000006111c2a36414c5663707d8996a0aca99c8f8276695e5246382d393939393844505c6673808d99a6aea2988b7f7265594f4332281e130800000000000000000000000000000000000000000006111c2a36414c5663707d8996a0aca99c8f8276695e5246382d393939393844505c6673808d99a6aea2988b7f7265594f4332281e130800000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000815212e3b4854616e7b8794aa9d9083776a554b404955626f7c8895a9a99c8f837669574d4231271d1a1e252a353e47515b616d7a85929ea7b1a79a8e8174675b4e41323e47535f6a75828f9ca096897d7063544a3f33281c0f030000000000000000000004101c2934404b5564717e8b99a3afa99c8f8376685d5245393a4754606d7a86929faca095877b6e6154473b4653606d7985929faba196887c6f6255493c36424d576673808d99a9b1a7988c7f7265564c41362a1d1105000000000000000000000000000000000000000000020e1925303b46525e6974818d99a3afa49a8e8174695e52463a2f242d2d313d4a5764707d8a97a3b0b2a8a09d99999999999999999999999999999999999999999999999999999993877a6d6054473a2d2114070000000000000000000b151e2a333c454d555d60686d7174777879787776736f6c65616e7b86929fa0958c7f736a6d727c82888b8f9091929291908d89847d756d665c544a414c565e686d787e85898d9091929291908f8b87817b706b60594f443a3021170d02000000000713202c3945525d6873808d97a19e92857c726d676a6a6f77808d95a09f92867a6e6158606d7984919aa1978e81756b6155616e7b88959f9f92867b6e615a524d5056606b75828f9ca4998c7f7366564c4135291d1105000915222f3b4854606b6f7373737373737374818e9b9e91847873737373737373726d62575a626e7b86929f9e91857a6d60584e42383a444f59606d798390989285929fa5988b7f7265584c3f3225190c0000000000000714212d3a4754606d7a85929f9e948c7f746e696765656566696e78818f98a39a8e817566626e7b86929f9e91857a6d60584e423a444f59606d798390989285929fa5988b7f7265584c3f3225190c0000000000000004111d2a3744505d6a7783909daab1a4978a7e7164574b3e31333f49535d676e7b859299a3a29891847a6e675c51453f352c22181926323f4c5965727f8c98a5b2a89c8f8275695c4f4236291c0f030000111e2b3844515e6b7784919eaaafa396897c706356493d3023160a00000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1aa9d9083776a5d5044372a1d110000000000000000000000000d1925303b4854606b7784919daaac9f93877b6e6153493f33272d2d2d3a4653606d7984919eabac9f92867a6d6054473d3221160c01000000000000000000000000000000000000000000000d1925303b4854606b7784919daaac9f93877b6e6153493f33272d2d2d3a4653606d7984919eabac9f92867a6d6054473d3221160c0100000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000815222f3b4855626e7b8895a19c8f8376695c5043495663707c8996a3a89b8e8175685b4e423128150e1319232c353f46525d68717e8a95a0aca99c90837669574d423637434e5864707d8a97a29a8e8174665b5044382b1f12060000000000000000000006131f2c3845515c6775828f9babb1a7988b7f7265564c41353945525d687683909ca9a7988b7e7165544b40495663707c8997a2ab9e9184786a5f53473b313c4956636f7c8997a1ada99c908376685e5246392d2013070000000000000000000000000000000000000000000008141e2a36424d57616e7b87929fabac9f92867b6e61564c4135291d24313d4a5764707d8a97a3b0bab2acaaa5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a093877a6d6054473a2d211407000000000000000007121d27303c454e575f676d737a7e81838586858483807c78706b69727e8b949f9f92867c6f666a6f757b7f82848586858483807c79706c605c544a423b444c565e666d72797d80838485868584827e7b746e6860594f473d32281e0f0500000000000714212d3a4754606d7a86929f9f958a7e716a605d585f656d7883919da3988d8073665c5d67707d88939f9e938a7d70675d5f697683909da3998e81756c615e565b60686f7d87939f9f93877b6e6155483b3025190d01000713202c38444f5960636666666666666874818e9b9e9184786b66666666666665625b51535f6973808c96a0978d80746a60544a3f343d45515c676f7c8692989298a2a5988b7f7265584c3f3225190c0000000000000b1825323e4b5865717e8b989e9c8f82756d615e57585858575e666e7b86929f9e9285796d606973808c96a0978d80746a60544a3f3d45515c676f7c8692989298a2a5988b7f7265584c3f3225190c0000000000000004111e2b3744515e6a7784919daab0a3968a7d7063574a3d302d38414b555e696f7d87929fa4a1969083796d605b51473e342a201725323e4b5865717e8b98a4b1a99c908376695d5043362a1d10030000121f2b3845525e6b7885919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0aa9e9184776b5e5144382b1e1100000000000000000000000008141e2c38444f5965727f8c98a3aea4998c7f73655b5044372b1f2a36414c5663707d8a97a1ada79b8e8174685d5245392c201304000000000000000000000000000000000000000000000008141e2c38444f5965727f8c98a3aea4998c7f73655b5044372b1f2a36414c5663707d8a97a1ada79b8e8174685d5245392c2013040000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000916232f3c4956626f7c8995a29c8f8275695c4f424a5764707d8a97a3a79a8e8174675b4e4134281b0e08111a232935414c56616c7783909da8ab9f928578695e52463a323c4653606d7985929e9e9285796c605346392d201306000000000000000000000714202d3a4753606d7985929facaca095887b6e6155483b3035414c5666727f8c99a8a89b8f8275665c51454d576673808d99a9aa9a8d817467584e43372d394653606c7985929eabac9f93867a6d6154473a2f24180d01000000000000000000000000000000000000000000020e1a25303b46535e6974818e99a3aea3998d8073685d5245392e2324313d4a5764707d8a97a3b0b8b0aaa99f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f93877a6d6054473a2d21140700000000000000000c18232e39424e575f696e7980868a8e9091929291908c89837d746c6c77828f98a2999083786d6062696e7275777879787776736f6d66615a504a4238323b444c545c60676d707376777879787775716e69615e564f473d352b20160c000000000004101d2935404b5565727e8b98a29d9083766c6158514e535c66707d8a97a19e9185796d6055606b74818e96a19e91847a6d605964717e8a95a09e938b7e736e6869666c707a84919aa3998f8275695f53463a2d1e13080000030f1b27323d474f545659595959595b6874818e9b9e9184786b5e5959595959595751494d57606d7984919e9f93877c6f665c50443b34404b555f6a727f8b949fa2aaa5988b7f7265584c3f3225190c0000000000000e1b2835414e5b6874818e909192897c6f635b524d4c4b4c4d545e6976828f9ca297887b6e61606d7984919e9f93877c6f665c50443b404b555f6a727f8b949fa2aaa5988b7f7265584c3f3225190c0000000000000005121e2b3845515e6b7884919eabafa396897c706356493d30262f3a434d57606b717e8b929da69f958e81756d635a50463c32291e24313e4b5764717e8a97a4b1aa9d9083776a5d5044372a1d11040000121f2b3845525e6b7884919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0aa9d9184776a5e5144372b1e1100000000000000000000000002101c27333d4754616d7a86929facab9e9184786c6053463a2f242d3946525e6875828f9ba9aca095897c6f63564c4135291d1104000000000000000000000000000000000000000000000002101c27333d4754616d7a86929facab9e9184786c6053463a2f242d3946525e6875828f9ba9aca095897c6f63564c4135291d11040000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000a1623303d495663707c8996a39b8e8275685b4f424b5764717e8a97a4a79a8d8074675a4d4134271a0e0008111924303a44505a64717e8a96a1aca297877b6e6154473b2e3845515c6674818e9ba197897c6f6356493c30231608000000000000000000030f1c28333f4a5463707d8a98a2aeaa9d908477695f53463a2d303c4855626f7b8896a1ac9f9285796d605346535e697784909daaa2988a7d7063574a3d322b3844505b6674818e9babafa4998b7e7165554b4035291d10040000000000000000000000000000000000000000000009141f2a36424d57616e7b87929fabab9f92857a6d60554b40342824313d4a5764707d8a97a3b0b0a69f9c93939393939393939393939393939393939393939393939393939393877a6d6054473a2d2114070000000000000004101c2834404b545f6a6e7b848c92989b9d9e9d9d9e9c9995908980776c6e7b86929f9f958c7f72695f5f6165686a6b6c6c6b696663605c5450443f383029323a424a50555c606367696b6c6c6b6a6865615e57524d443d352b23190e04000000000006131f2c3945515d6776828f9ca8988b7f72655a5045414a54606d7985919ea197897c70635659606d7a84919ea1968e81746b60606c78839098a39b908b807b777576797d849196a09f92877c6e62574d42362a1e0c020000000b16212b353d4448494d4d4d4d4e5b6874818e9b9e9184786b5e514d4d4d4d4c4a463f45515c67707d89939e999083786d60574d423639434e58626d75828f97a19f9f988b7f7265584c3f3225190c0000000000000c1926323f4c5965727f8283848586786d605346423f3e3f424d576773808d9aa995897c6f625c67707d89939e999083786d60574d4239434e58626d75828f97a19f9f988b7f7265584c3f3225190c0000000000000005121f2c3845525f6b7885929eabafa296897c6f6356493c302328313b454f59626c73808d949ea79e938c7f726c61584e443a302724313d4a5764707d8a97a3b0aa9e9184776b5e5144382b1e11050000111e2b3844515e6b7784919eaab0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a99d9083766a5d5043372a1d10000000000000000000000000000b16202d3946525d6875818e9ba7aca096897c7063554b4135292e3a4754616d7a86929facaa9d9084776b6054443a2f24190d010000000000000000000000000000000000000000000000000b16202d3946525d6875818e9ba7aca096897c7063554b4135292e3a4754616d7a86929facaa9d9084776b6054443a2f24190d010000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000091623303c4956636f7c8996a29b8f8275685c4f424a5763707d8a96a3a79a8e8174675b4e4134281b07000008131e28323e4653606d7984919eaba9978a7d7064574a3d2d34404b5464717e8a97a8998c7f7266594c3f2f24190d01000000000000000006121f2b3844505b6674818e9baab3a9998d807366574d42362a2e3a47535f6a7884919eaba298897d7063564954616e7b8795a0ac9f9286796d6053473a2d28333f4a5464717d8a99a3aeab9c8f8275675d5145392c20130600000000000000000000000000000000000000000000020e1a25313b46535f6975818e99a4aea2988c7f72675c5145382d22313d4a5764707d8a97a3b0aa9f948f86868686868686868686868686868686868686868686868686868686867a6d6054473a2d2114070000000000000006131f2c3845515c666e7c8591969f9f9c9791909092989fa09d928d81786c727f8c959f9f92867b6e665b55585c5d5e5f5f5e5d5a5653504a423e342e26202930383f444b5153565a5d5e5f5f5e5d5c5854524d46413b322b231911080000000000000714202d3a4753606d7a86929fa196877a6e6154473e3944505c6674818d9aa9998d80736654515d67707d8a939e9f93887d70675d666f7c869299a29b928d86838283858a9196a09d938c80736a5f53453b31261a0e00000000040f19232b32383b3c404040414e5b6874818e9b9e9184786b5e51454040403f3e3a34404b55606b75818e97a0958c7f72695e52463e313c46515b616d7a85919a9393938b7f7265584c3f3225190c0000000000000c1825313e4a57636d7275767778796d665c5044383030363f4c5966727f8c99ab96897d706355606b75818e97a0958c7f72695e52463e3c46515b616d7a85919a9393938b7f7265584c3f3225190c0000000000000005121f2b3845525e6b7885919eabafa296897c6f6356493c30231f29333d47505a606c78828f95a0a59f93887e706a5f564c42392e23313e4a5764717d8a97a4b0aa9d9184776a5e5144372b1e11040000111e2a3744515d6a7784909daab0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1a99c8f8276695c504336291d100000000000000000000000000005111d2935414c56636f7c8995a0aca89b8e8174675d5145392c37434e5865727f8b99a3aea2988b7f7265594f4332281e13080000000000000000000000000000000000000000000000000005111d2935414c56636f7c8995a0aca89b8e8174675d5145392c37434e5865727f8b99a3aea2988b7f7265594f4332281e1308000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000916232f3c4956626f7c8995a29c8f8275695c4f42495663707c8996a3a89b8e8175685b4e422e23180c0000020c16202c3844505c6673808d99a9a6998c807366544a3f332e3a4754616d7a8796a19b8f827568564c4135291d110400000000000000000613202d394653606c7985929eabada197897c6f6256493c31262b37434e586774808d9aaaaa9a8d807367574d5565727e8b98a7a89c8f8275675d5145382c222d3a4754606d7a86929facac9f92867a6d6053473a2e23170c000000000000000000000000000000000000000000000009141f2b37424d57626e7b87939facaa9e9184796d6053493f3327313d4a5764707d8a97a3b0a99c8f82797979797979797979797979797979797979797979797979797979797976685d5245392c20130700000000000004111d2935414c56606d79849197a19e949089858384858b9297a29d938c7f726c78839098a3989083786c60574d4f5152535251504d4946443f383028231c171e262e34394045474a4d5051525352514f4b4846423b3630292019110800000000000000091623303c4956636f7c8998a39e918478685e524639343f4a5464717e8b97ac9c908376665b5055616b75818e97a19a9184796d60606a717e8792989f9d9992908f8f91979ea09d938e81786d60584e4333291f1409000000000007111921272c2f30333335414e5b6874818e9b9e9184786b5e514538333332312e2e39434f59616d7a85929f9f92867b6e61594f4339343f46525e68707d8786868686867f7265584c3f3225190c0000000000000916222e3a46515b636568696b676d675c544a3f41414142464e586673808d99a399887c6f625559616d7a85929f9f92867b6e61594f43393f46525e68707d8786868686867f7265584c3f3225190c0000000000000005111e2b3844515e6b7784919eaab0a396897d7063564a3d302317212b353f44505b666d79839197a2a49a92867c6f685e544b403428313e4b5864717e8b97a4b1aa9d9084776a5d5144372a1e11040000101d2a3643505d697683909ca9b1a5988b7e7265584b3f3225180700000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3a89b8f8275685c4f4235291c0f00000000000000000000000000010d1924303a4854606b7783909daaac9f92857a6d6054473c313b4754606a7783909dabac9f92867a6d6054473d3221160c0100000000000000000000000000000000000000000000000000010d1924303a4854606b7783909daaac9f92857a6d6054473c313b4754606a7783909dabac9f92867a6d6054473d3221160c01000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000915222f3c4855626f7b8895ab9c908376695d50434955626f7c8895a9a99c8f837669554b4034281c1004000004101c28343f4a54626f7c8996a1a99c8f8276665b5044382d3946525e687884919e9e918578685d5245392c2013070000000000000000091623303c4956636f7c8997a1adab9e9185786c605346392d2026313d4a5663707d8998a2aa9d918477695e535c6775828f9ca8a7988b7e7265554b403529202c3945515d6776828f9ca9aea3988a7d7164544a3f34281c100300000000000000000000000000000000000000000000030e1a26313c47535f6a75818e9aa4ada1978b7e71655b5044372b313d4a5764707d8a97a3b0a99c8f82766c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5d564c4135291d11040000000000000613202c3945525d68737f8c96a09e938e827c787677797e859298a29f92867b6e6e7b86929f9f948b7f72695f53493f4546454443403c3a38342e261e17110c151c23282f34383a3d40434445464544423e3b3a36302a251f170e0800000000000000000c1925323f4c5865727f8b98aa9b8f827568564d41362e3b4855626e7b889aa49f9285796c60534f59616d7a85929ea0968d80746a60616c717e868e92999b9d9d9c9c9e9c9a96918a81786d665c50463c3121180d03000000000000070f161b202223262835414e5b6874818e9b9e9184786b5e5145382b2626251d27303d46525e68717e8b949f988f82756c61554b403536414c56616b70797979797979726d62564a3e3124180b00000000000006121e2a353f495157595b5d555c605c554b474e4e4e4e4d52575f6a76838f9c9f92867a6d6054525e68717e8b949f988f82756c61554b4036414c56616b70797979797979726d62564a3e3124180b0000000000000004111e2a3744515d6a7784909daab0a3978a7d7064574a3d312417192328333f4a545d676e7b859299a3a29891847a6d665c51453f35323f4b5865727e8b98a5b1a99d9083766a5d5043372a1d100400000f1c2835424f5b6875818e9ba8b3a6998c807366594d402f23180c00000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4a79a8e8174675b4e4134281b0e000000000000000000000000000008131e2c38434f5965727f8b98a2aea2988b7e7165574d4237404b55626f7c8895a0aca79b8e8174685d5245392c20130400000000000000000000000000000000000000000000000000000008131e2c38434f5965727f8b98a2aea2988b7e7165574d4237404b55626f7c8895a0aca79b8e8174685d5245392c20130400000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000714212e3a4754616d7a8799a49d9184776a564c414754606d7a8797a1ab9e918478675c5145382c1f13060000000c17232e394653606c7884919eab9f9285796c605346392d36414c566975828f9ca197877a6d6054473a2d2114070000000000000006121f2b37434e586773808d9aa9b3aa9a8e8174655b5044372b1f202d3a4653606d7985929faca095877b6e6154606d7985929faca095877b6e6154483b2f241d2935414c5565727f8b98a7b1aa9b8e8175665c5044382c1f1206000000000000000000000000000000000000000000000009141f2b37434e58626f7c87939faca99d9184786c6053463d32313d4a5764707d8a97a3b0a99c8f8276696060606060606060606060606060606060606060606060606060605f524c443a2f24190d010000000000000714212d3a4754606d7a86929fa1978e81786f6a6a676d717c86929fa2988e81746a727f8c95a09f92867b6e655b50443b3039383633302d2c28231c150c06030a11171d23292c2d303436383939383735322e2d2a251f19140d050000000000000000000e1b2734414e5a6774818d9aa69a8d8073675a4d40302d3a4653606d7986939fa298877b6e615448525e68717e8a939e9f93877c6f675c616c717b81868b8f9192929291908d89847d746d665c544a3f342a200f060000000000000000040b0f1315161b2835414e5b6874818e9b9e9184786b5e5145382b1e1918151e2a36414c56606c778390999e938a7d70675d51453c2f3a444f5961636c6c6c6c6c6c65625b51463a2e221509000000000000010d18232d373f464a4c4f504b5153514c52545a5a5a5b575e61696f7c87929f9c8f8376675d514c56606c778390999e938a7d70675d51453c3a444f5961636c6c6c6c6c6c65625b51463a2e2215090000000000000003101d2a3643505d697683909ca9b1a5988b7e7265584b3f3225181017222d38424c555f69707d87929fa4a1969082786d605b51473e34404d596673808c99a6b3a89c8f8275695c4f4236291c0f0300000d1a2734404d5a6773808d9aa6b3a89b8e817568554b4034291c100400000000000000000000000000000000000000000005121e2a36424d576976838f9ca9b2a5988c7f7265594c3f3226190c0000000000000000000000000000020f1b27323d4754606d7a86929facaa9c908376695f53473845515c6774808d9aa7aca095897c6f63564c4135291d1104000000000000000000000000000000000000000000000000000000020f1b27323d4754606d7a86929facaa9c908376695f53473845515c6774808d9aa7aca095897c6f63564c4135291d110400000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000613202d394653606c7986939f9f928578685d524545515d677885919eab9f9386796d6053463a2d20130800000006121f2b3744505b6575818e9ba8a298887b6f6255483c2f30404d5a6673808d99a995887c6f6255493c2f221609000000000000000815212e3b47535f6a7784919eaaaea2988a7d706453493f33271b1f2c3845515c6775828f9baca7988b7e72655463707d8998a2aa9d908377695e52463a2d1d19242f3b4855616e7b8895a0acab9f9285796d6053463a2d20130a0000000000000000000000000000000000000000000000030f1a26313c47535f6a75828f9ba6aca0968a7d7064594f4438313d4a5764707d8a97a3b0a99c8f8276695c53535353535353535353535353535353535353535353535353535345413a32281e130800000000000004101c2934404b5565717e8b98a29e92857a6d6660585c606a717e8b96a19f92857a6d6d78839099a2988f82776c60574d42362a2b2a2723201f1c17110a03000000060c12181c1f2023272a2b2c2c2b2a292521201e1a140e0802000000000000000000000f1c2936424f5c6975828f9ca5988c7f7265594c3f322c3845515c667885929eaa96897c706356494c56616c75828f97a2999183796d605a61696e757b7f82848586858583807c78706c605c544b42382e22180e00000000000000000000000307090e1b2835414e5b6874818e9b9e9184786b5e5145382b1e120b0c1925303a44505b656f7c87929f9e9184796d60584e4138323d474f5556606060606060585651493f34291e12060000000000000007111c252d353a3e3f42434045474c565d616767676869696e727b8491999e938a7d7063554b44505b656f7c87929f9e9184796d60584e41383d474f5556606060606060585651493f34291e120600000000000000020f1c2835424f5b6875828e9ba8b3a6998c807366594d402f23180c111c262f3a434d57606b727f8b929da69f948e81746d63594f463c414e5b6774818e9aa7b4a79a8e8174675b4e4134281b0e0100000c1925323f4c5865727f8b98abb5aa9d908477675c5145382c1f13060000000000000000000000000000000000000000000714212d3a46535f697885929fabb4aa968a7d7063574a3d3024170a0000000000000000000000000000000a16202c3945515d6774818e9aa7ab9f94887b6e62544a3f4653606d7985929fabaa9d9084776b6054443a3024190d01000000000000000000000000000000000000000000000000000000000a16202c3945515d6774818e9aa7ab9f94887b6e62544a3f4653606d7985929fabaa9d9084776b6054443a3024190d0100000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000006121f2b3844505b667884919ea297877a6d605447414c556976838f9ca9a499897c6f6356493c3025190d000000030f1b27333f495365727e8b98acaa988b7e7265584b3f30323f4b5865727e8b98a3978a7d7064574a3d3124170a000000000000000915222f3c4855626f7c8896a0acac9f9286796d6053473a2d22171c2834404b5565717e8b9aa4a89c8f8275665c6774808d9aaaa9998d807366574d42362a1e14212d3a46535f697784919daaada297897d706356493d32271b0f0300000000000000000000000000000000000000000000000915202b37434e58626f7c88949eaaa89d9083766b6054483c313d4a5764707d8a97a3b0a99c8f8276695c4f464646464646464646464646464646464646464646464646464639352f2820160c0100000000000006131f2c3845515c677683909ca9998c7f73675d544e5157606d7984919ea2988b7e71666f7c87929f9f948b7e72695e52463e32291f1a161312100c0600000000000001070c101314171a1d1e1f201f1e1c181514120e0902000000000000000000000000111d2a3744505d6a7783909da4978a7d7164574a3e312834404b546a7783909da4978a7d7164574a44505a616e7b85929fa0958c80736a5f575f61696e727577787979787673706c65615a514b423930261c0f0600000000000000000000000000020e1b2835414e5b6874818e9b9e9184786b5e5145382b1e120008131e27333f49535f6a73808d96a0968d80736a5f53493f33353d44484a5353535353534c4a463f372d23180d0100000000000000000a131c232a2e3132352f343946525d686d7474747475777b7f8591969e938e81746b6155433f49535f6a73808d96a0968d80736a5f53493f333d44484a5353535353534c4a463f372d23180d0100000000000000010d1a2734404d5a6773808d9aa6b3a89b8e817568554b4034291c100a141d28313b454f59626d74808d949fa69d938c7f726b61584e44424d57697683909ca9b2a6998c7f7366594c403326190d000000091623303c4956636f7c8999a4afac9f9286796d6053473a2d22170b0000000000000000000000000000000000000000000815222e3b4855616e7b8897a2adaea298887b6e6155483b2e22150800000000000000000000000000000004111d2935414c55626f7c88959faba6998d8073665c50444d5764717e8a97a2ada2988b7f7265594f4332281e1308000000000000000000000000000000000000000000000000000000000004111d2935414c55626f7c88959faba6998d8073665c50444d5764717e8a97a2ada2988b7f7265594f4332281e13080000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000030f1c28333f4a546976838f9ca995897c6f625649404d5a6673808d99aaab998c7f7266564c41362a1c11060000000b17222d3c4956626f7c899aa4a89b8e817568564c4136313d4a5764707d8a97a3988b7f7265584c3f3225190c00000000000005121e2a36424d5766737f8c99a8b2ac9c8f8275675d5145382c1b1118232e3b4754616e7a87939fac9f9285796d60697784919daaa197897c6f6256493c30251a121e2a36424d576673808d99a9b3a99a8d807467584e43372b1f13060000000000000000000000000000000000000000000000030f1b26313c4754606a75828f9ca6ab9f95897c6f63584e43373d4a5764707d8a97a3b0a99c8f8276695c4f43393939393939393939393939393939393939393939393939392c29241e160d04000000000000000714202d3a4753606d7986929fa197887b6f62554b4245515c6674818d9aaa9b8e8174686a73808c95a09f92867b6e615a50443b3025190e07060300000000000000000000000406070a0d1011121312110f0b080705020000000000000000000000000000121e2b3845515e6b7884919ea3968a7d7063574a3d30232e43505d697683909ca5988b7e7265584b3f46525e69717e8b949f9f92877c6f665c53575e6165686a6c6c6c6b696763605b535045403930271e140a0000000000000000000000000205070e1b2835414e5b6874818e9b9e9184786b5e5145382b1e1205020b17222d38414e58606d7984919e9f92877c6f655b50443b3033383c3d4646464646463f3e3a342d251b1106000000000000000000010a11181e22252628232e3a4754616d7a808181818284878c929796918b81796d60594f4438414e58606d7984919e9f92877c6f655b50443b33383c3d4646464646463f3e3a342d251b11060000000000000000000c1925323f4c5865727f8b98abb5aa9d908477675c5145382c1f13060b161f2a333d47515b606d78828f96a0a59f93877d706a5f564c47535f697885929eabb4aa978a7e7164574b3e3124180b0000000714202d3a4753606d7a86939facaea399897d706353493f33271b0f030000000000000000000000000000000000000004111d2935414c5565717e8b98a9b3ac9f9285786d6053463a2d201307000000000000000000000000000000010d19242f3a47545f6a7783909da9ab9e9184796d605346525e6976828f9ca9ac9f92867a6d6054473d3221160c020000000000000000000000000000000000000000000000000000000000010d19242f3a47545f6a7783909da9ab9e9184796d605346525e6976828f9ca9ac9f92867a6d6054473d3221160c020000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000b17222d414e5b6774818e9aa4978b7e7164584b3e495663707c8998a2a99c8f8276685e5246382d22170b0000000614202d3a4753606d7a86939faa9e918477685e5246392f3c4956626f7c8995a2998c7f7266594c3f3326190c0000000000000714212d3a46535e697783909daaafa49a8b7e7165554b4035291d0a14202d3946525e687783909daaa298897c70636e7b8796a0ab9e9285796c605346392d20130e1a26313c4956636f7c8997a1adab9e9184786a6054473b2e2215090000000000000000000000000000000000000000000000000a15202b37434e58626f7c89949faba79c8f82756a5f53473b3d4a5764707d8a97a3b0a99c8f8276695c4f43362d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d201d19130c0400000000000000000916232f3c4956626f7c8999a39e9285796c6053463a404a5464717d8a97ac9d90847767606d79839099a2988f82766c62564d41362a20170c0200000000000000000000000000000000010305060605040200000000000000000000000000000000000000121f2c3845525f6b7885929ea396897c706356493d302936434f5c6976828f9ca5988c7f7265594c3f424d56626c76828f98a2999083786d60584e5254585c5e5f5f5f5e5d5a56535049413e342e271e150c020000000000000000000002090e1114141b2835414e5b6874818e9b9e9184786b5e5145382b1e12050006111b262f3c45515d67707d8a939e999083776c60564c41362a2c2f3039393939393932312e29231b1309000000000000000000000000070d121618191c212e3b4854616e7b878d8d8e8f9193938f8d89847e756d675c51473e2f3c45515d67707d8a939e999083776c60564c41362c2f3039393939393932312e29231b130900000000000000000000091623303c4956636f7c8999a4afac9f9286796d6053473a2d22170b040d18212b353f44505c666d7a849197a2a49992867c6f685e544b55626e7b8897a2adaea298887b6f6255483c2f2215090000000613202c3945515d677784909daab4ab9a8d8073655b5044372b1f140a000000000000000000000000000000000000010c13202c3945515d6775828e9ba8b5a89c8f8275665c5044382b1f12060000000000000000000000000000000008131e2b37434e5865717e8b97a2ada1968a7d7063564c54616e7b87939faca79b8e8174685d5245392c2013040000000000000000000000000000000000000000000000000000000000000008131e2b37434e5865717e8b97a2ada1968a7d7063564c54616e7b87939faca79b8e8174685d5245392c201304000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000061825323f4b5865727e8b98aa9a8d817467564c414653606d7986929fac9f92867a6e61544a3f33281d1207000006131f2c3945515d677885919eaba096877a6e6154473b2f3c4955626f7c8895a2998c807366594d4033261a0d0000000000000815212e3b4854616e7b8795a0acac9f93877a6e6154473b2f24180c111e2a36414c5666737f8c99a9aa998d807366717e8b97a8ab9b8e8174665b5044382b1f120913202d3a4653606d7985929eabada196887c6f6255493c31261a0e020000000000000000000000000000000000000000000000040f1b27323c4854606a76828f9ca6ac9f93877c6f62574d423d4a5764707d8a97a3b0a99c8f8276695c4f433629202020202020202020202020202020202020202020201413110d08010000000000000000000b1825323e4b5865717e8b98ab9c908376655b5044373b4855626e7b889aa49f9286796d60666f7c87929f9e948b7e71685e52463e32291e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2c3945525f6c7885929fa296897c6f6356493c302935424f5c6875828f9ba6998c7f7366594c403b44505a616e7b86929fa0958c7f726a5f544a484c4f5152535252504d4946443f382f28231d150c0300000000000000000000050d14191e2021272835414e5b6874818e9b9e9184786b5e5145382b1e120500000a141d2935404b55616b75818e989f958b7e72685e52463d302723232d2d2d2d2d2d2524221e18110901000000000000000000000000000106090c0c15212e3b4854616e7b87949a9b9c9e938682807d78716c605c554b40352935404b55616b75818e989f958b7e72685e52463d3027232d2d2d2d2d2d2524221e18110901000000000000000000000714202d3a4753606d7a86939facaea399897d706353493f33271b0f03060f192328343f4a545d686e7b859299a3a29891847a6d665c515665717e8b98a9b3ac9f9285796d6053463a2d20130700000004101d2935404b556773808d9aa9b3ab9e9184786c6053463c2f261b1106000000000000000000000000000000000007131d28333f4a54606d7a86929facb1a7988b7f7265544a3f34281c100300000000000000000000000000000000010f1b26323c4753606d7985929faba99b8e8275685d525966737f8c99a4aca095897c6f63564c4135291d110400000000000000000000000000000000000000000000000000000000000000010f1b26323c4753606d7985929faba99b8e8275685d525966737f8c99a4aca095897c6f63564c4135291d1104000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000916222f3c4955626f7c8898a29d908377685d524545515c6775828e9ba8a3998b7f72665b5044392e23180f060004101d2935404b556a7784909daaa8978a7d7064574a3d2f3b4855626e7b8895a19a8d8074675a4d4134271a0e000000000005111d2a36414c5665727f8b98a7b1a99d908376685e5246392d1d12070e1925303c4955626f7c8896a1a99d9083766774818e9ba7a3998a7d7164544a3f33281c0f06121f2b3844505c6674818e9babb2a8998c807366574d42372b1e12060000000000000000000000000000000000000000000000000a15202c38434e5863707d89949faba49a8e8174695e52463d4a5764707d8a97a3b0a99c8f8276695c4f4336291c1313131313131313131313131313131313131313130707040100000000000000000000000d1a2633404d596673808c99a69b8e81746853493f333a4653606d7986939fa399887b6e61606a73808d96a09f92857b6e615a50443a3025190e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2c3945525f6c7885929fa295897c6f6256493c2f2935424f5c6875828f9ba6998c7f7366594c40323f46535e69727f8b949f9f92867c6e665b50443f42444546464543403d3937332d261d18120b0300000000000000000000050e171f252a2d2e342d35414e5b6874818e9b9e9184786b5e5145382b1e12050000020b18242f39434f59616e7b85929f9f92857a6e61594f43392e2318202020202020191815120d06000000000000000000000000000000060b0f12131c212e3b4854616e7b8793939495989a9285817d756e685e574d43392e242f39434f59616e7b85929f9f92857a6e61594f43392e23182020202020191815120d060000000000000000000000000613202c3945515d677784909daab5ab9a8d8073655b5044372b1f140a00071117232e38424c565f69707d87929fa5a0969082786d605b5d6875828f9ca8b5a99c908376665c5044382b1f1206000000010d18242f3d495663707c8997a1adaca196897d7063584e41382d22170f06000000000000000000000000000000071118242f3844505b66717e8b98a2aeaca095887b6e6155483b2e23170b0000000000000000000000000000000000000a151f2c3945515d6774808d9aa6ac9f92867a6d6154606b7784919eabaa9d9084776b6054443a3024190d0100000000000000000000000000000000000000000000000000000000000000000a151f2c3945515d6774808d9aa6ac9f92867a6d6154606b7784919eabaa9d9084776b6054443a3024190d01000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000713202d3a4653606d7985929f9f93867a6d605447404b5563707d8996a1ab9e9184786c60554b4034282118100b09111d2a36414c566a7784919daaa69a8d807367554b40343b4855616e7b8894a19a8d8174675a4e4134271b0e00000000000713202d3946525e6876838f9ca9b2a8998c7f7266564c41362a1e0b010815222e3b47545f6a7884919eab9f92867a6d7784919eaa9f92867a6d6054473a2d22170b03101c28343f4a5464717d8a99a3aeaa9d908477695f53473a2d211408000000000000000000000000000000000000000000000000040f1b27323d4854606b7683909ca7ac9f92867b6e61564c414a5764707d8a97a3b0a99c8f8276695c4f4336291c100d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0a0a08040000000000000000000e1a2734414d5a6774808d9aa69a8d8073675a4d402d3845515c677885929fab95887c6f6258606d79849199a2978f82756c61564c41362a20160c020000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2c3845525f6b7885929ea296897c6f6356493c302936434f5c6976828f9ca5998c7f7266594c3f3336424d57606c78839098a3989083786c60574d41382d393939383634302d2b27221b140b070000000000000000000000020d17202930363a3b413a38414e5b6874818e9b9e9184786b5e5145382b1e120500000007121d27313e46525e68727f8b959f978e81756b60554b4034281f1509131313130c0b0906010000000000000000000000000000020a11171c1f2028232e3b4854616e7b86868687898c9195928e89827a6e695e544a40342827313e46525e68727f8b959f978e81756b60554b4034281f15091313130c0b0906010000000000000000000000000004111d2935404b556773808d9aa9b3ab9e9184786c6053463c2f261b11060006111c26303a444d57606b727f8b939da69f948e81746d62606d7a86929facb2a8998c7f7266544a3f34281c1003000000000713202d3a4653606d7985929eacb2a89c8f82756a5f53493f332721180f0802000000000000000000000003091119232935404b55606c7884919daab3a99d908477695f53463a2d1c110600000000000000000000000000000000000004101d2935404b55626f7b88949faba3998b7e726557636f7c8996a0aca2988b7f7265594f4332281e130800000000000000000000000000000000000000000000000000000000000000000004101d2935404b55626f7b88949faba3998b7e726557636f7c8996a0aca2988b7f7265594f4332281e130800000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000006121f2c3844515c6676828f9ca4998a7d7164554b404653606c7884919ea8a0968a7d71675c51453d332a221c18181a222d3946525e687885929eaba99d908376675c5145383c4955626f7c8895a2998d8073665a4d4033271a0d00000000000714212e3a4754616d7a86929facaca096887b6f6255483c3025190d0006131f2b37434e586774818e9aaaa399897d707b8796a0a99c8f8276675d5145392c1c1106000b17232e3a4754606d7a86929facaca095887b6e6155483b3025190d010000000000000000000000000000000000000000000000000a16212c38444f5963707d89959faba3998d8073685d52454a5764707d8a97a3b0a99c8f8276695c4f4336291c1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a171614100b05000000000000000e1b2835414e5b6874818e9ba6998d8073665a4d403334404b556b7885919ea396897c7063565c676f7c87939f9e938a7e71685e52463e32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919ea396897d7063564a3d30293643505c6976838f9ca5988b7f7265584c3f32313b44505b666e7b86929f9f958b7f72695f53493f33272c2c2b2a2723201f1b17110a0200000000000000000000000009141f29323b4246474d4745404e5b6874818e9b9e9184786b5e5145382b1e1205000000010b151f2a36414d56606c788390999e93897d70675c51453c31261a0e04060606000000000000000000000000000000000000020b141c22282b2d352e343a46535e69767979797a7c7f848c9399948f847b6e665c5144382c1f2a36414d56606c788390999e93897d70675c51453c31261a0e040606000000000000000000000000000000000000010d18242f3d495663707c8997a1adaca196897d7063584e41382d22170f06000a151e28323c454f59626d74818e949fa69d938c7f726b66727f8b98a3aeaca096887c6f6255493c2e23170b000000000006121f2c3844505c6673808d9aa4afaa9e94887c6f655b50443d332a2219140e09060400000100000406090e141a232b353d45515d67717e8a95a0acada2978b7e7265574d42362a1e0a00000000000000000000000000000000000000000c18242f3947535f6a7683909ca9ab9d908376695f6774818e9aa8ac9f92867a6d6054473d3221160c02000000000000000000000000000000000000000000000000000000000000000000000c18242f3947535f6a7683909ca9ab9d908376695f6774818e9aa8ac9f92867a6d6054473d3221160c0200000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000004101c2834404a5465727f8c98a79b8e8175675c514544505b66727f8c96a1a89e9184796d60594f453c342c272524262a343c4754616d7a86939facac9f9286796d6053473a3d495663707c8996a3998c7f7266594c3f3326190c0000000004101d2935404b5564717e8b99a3afaa9e9184776a5f53473a2e1e140800030f1b26323d4a5763707d8a98a2ab998c80737e8a97a8a8988c7f7265554c4135291d0a00000613202c3945515d6776828f9ca9b1a7988c7f7265564c41362a1e110500000000000000000000000000000000000000000000000004101b27323d4854606b7683909da7ab9f92857a6d60554b4a5764707d8a97a3b0a99c8f8276695c4f4336292727272727272727272727272727272727272727272727272423201c1710080000000000000f1c2835424f5b6875828e9ba6998c7f7366594c40332e44515e6b7784919ea3968a7d70635755606b74808d96a09e92857a6d615a50443a3024190d0400000000000000000000000000000000000000000000000000000000000000000000000000000000111e2a3744515d6a7784909da3978a7d7064574a3d312a3743505d6a7683909da4978b7e7164584b3e3128333f4a545f6a737f8c95a09f92867b6e655b50443b30251a1f1d1a1613120f0b0600000000000000000000000000020e1925303b444d52545a53514b4e5b6874818e9b9e9184786b5e5145382b1e120500000000030d1925303b44505b666f7c87929f9e9184796d60574d42372b20160c0200000000000000000000000000000000000000000a141d262d33383942434045464d575e6c6c666d6d6f72787f87939f969083786d6053463c312625303b44505b666f7c87929f9e9184796d60574d42372b20160c0200000000000000000000000000000000000000000713202d3a4653606d7985929eacb2a89c8f82756a5f53493f332721180f08030c16202a333d47515b606d78828f96a0a59f93877d706d7984919eaab4aa9d9184776a5f53473b2e1c1106000000000003101c28343f4a54616e7b87939fabb0a69c9083776c60584e453c342a251e1a1312100c070e070c1013131a1f262a353d47505a606d7984919ea7b1a99f9285796d6053473b31261a0e000000000000000000000000000000000000000007121d2b37434e5864717e8a97a1ab9f95887b6e616d7985929faba79b8e8174685d5245392c201304000000000000000000000000000000000000000000000000000000000000000000000007121d2b37434e5864717e8a97a1ab9f95887b6e616d7985929faba79b8e8174685d5245392c2013040000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000c18232e3b4855616e7b88959f9f9285796d6053473f4a54606d7984919ea6a0968c7f736b60574e463f3833313131363d46505a64717e8a9aa4afaea399897c6f6356493c3d4a5764707d8a97a3988b7f7265584c3f3225190c0000000006131f2c3945515d6775828f9babb3a99a8d807467584e43372b1f0d0200000a14202d3a4753606d7986929fa99c908376818d9aa7a096887b6e6155483b2f24190d000004111d2935414c5565727f8b98a7b1a99c908376685e5246392d201407000000000000000000000000000000000000000000000000000b16212c38444f5963707d8a95a0aba2988c7f72675c514a5764707d8a97a3b0a99c8f8276695c4f43363434343434343434343434343434343434343434343434343431302d28221a110800000000000f1b2835424e5b6875818e9ba6998c807366594d40333845525e6b7885919ea396897c7063564f59606d7984919ea1978e81756c61564c4135291f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000101d293643505c6976838f9ca4988b7e7165584b3e322935414c566b7784919eac968a7d7063574a3d30222d38424e57606d78839099a2988f82776c60574d42362a20170d0d0a06050300000000000000000000000000000005111e2a36424d565e6167605c554e5b6874818e9b9e9184786b5e5145382b1e1205000000000008141f28333f4a545f6a73808d96a0968c8073695f53473e32281e13080000000000000000000000000000000000000006111c262f383f44464f504b51535452535f605c606162666c727f8b95a0958c7f7265574e42372b1f28333f4a545f6a73808d96a0968c8073695f53473e32281e1308000000000000000000000000000000000000000006121f2c3844505c6673808d9aa4afaa9e94887c6f655b50443d332a2219140e090e18212c353f44515c666d7a849198a2a49992867c717e8b96a0acaea3988c7f7265584e43372b1f0a000000000000000c17232e3846535f6975828e99a3afab9f948b7f726a60574e463e36302a25201f1c181b1a1b181c1f20262b31363f474f59616c74808d96a1adada2978d8073675d5145392a1f14090000000000000000000000000000000000000000010f1a26313c4653606d7985929eaca7998c7f7366717d8a98a2aca095897c6f63564c4135291d11040000000000000000000000000000000000000000000000000000000000000000000000010f1a26313c4653606d7985929eaca7998c7f7366717d8a98a2aca095897c6f63564c4135291d11040000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000714212d3a46535f697783909da2988a7e7164584e4345515c67717e8b949fa89f92877d70695f585048443f3e3e3f42464f58616c7683909cacaab0ab998c7f7266594c3f3f4c5865727f8b98a4978b7e7164584b3e3125180b000000000714202d3a4753606d7a86929facada297897c706356493d31261a0f00000006131f2c3845515d6775828f9ca89f92867983909daa9d918477695f53473a2d1e13080000010d19242f3b4855616e7b8895a0acac9f93867a6e6154473b2f24180d0100000000000000000000000000000000000000000000000004101c27333d4855616b7783909da7aa9e9285796d60544a5764707d8a97a3b0a99c8f8276695c4f4340404040404040404040404040404040404040404040404040403d3c39332c231a1005000000000e1b2734414e5a6774818d9aa69a8d8073675a4d40343744505b657885929ea295897c6f625649515d67707d89939d9e938a7d70685d52453e31281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba6998c7f7366594c402e2c3945525d687985929fa49a887b6f6255483c2f22262f3c44505c666f7c87929f9f948b7e71695e52463e32291e1308000000000000000000000000000000000000000714202d3a46525e696e746d675f585b6874818e9b9e9184786b5e5145382b1e12050000000000020b17222d38424e58606d7984919e9f92867b6e625a50443a3024190c030000000000000000000000000000000000000b17222d38424a50535b5d555c60605d564c4a505354545b606c7883909d9e9184786a5f53473a2e21222d38424e58606d7984919e9f92867b6e625a50443a3024190c030000000000000000000000000000000000000003101c28343f4a54616e7b87939fabb0a69c9083776c60584e453c342a251e1a1312101a232834404a545e686f7c869299a4a29891847b85929ea8b2aa9f92867a6d6154473c32261b0f0000000000000006111c2a36424d57626e7b87929fa8b0a69f92877c6f695f585046413b36312d2c282327272723282c2d31373b42465159606b717e8a929da8b1a79f92857a6d61554b4035291d10040000000000000000000000000000000000000000000a151f2c3845515c6773808d9aa4aa9d9184776a75828e9baaaa9d9084776b6054443a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000a151f2c3845515c6773808d9aa4aa9d9184776a75828e9baaaa9d9084776b6054443a3024190d010000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000005121e2b37424d5765727f8c98a39c9083766a605447404b55606c77828f97a2a39992857b6f6a625a554f4c4b4b4c4d5359606a707d8a949f9b9ea6a89b8f827568574d42404b546774818e9aa896897c6f6356493c3023160900000003101c28343f4a5464707d8a98a2aeab9f9285796d6053463a2d20130a00000004101d2935404b5565727e8b98a7a3988a7d87939fa99a8d807367574d42372b1e0c010000000814212d3a46535f697784919daaafa4998b7e7165554b4135291d1104000000000000000000000000000000000000000000000000000b16212c38444f5964707d8a95a0aca1978b7e72665b505764707d8a97a3b0a99c8f8276695c4f4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4a49443e362c22170b000000000d1a2734404d5a6773808d9aa69a8e8174675b4e4130394653606c7986929fa895887b6e6255484b55606b74818e96a19e91857a6d60594f433a2f24190d0400000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a69a8e817467544b40342d3a4754606d7a8798a29f93867a6d6053473a2d201d28343f4a545f6a73808d95a09f92857b6e615a50443a3025190e040000000000000000000000000000000000000814212e3b4754616e7b80796f6a605b6874818e9b9e9184786b5e5145382b1e120500000000000006111c262f3c45515d67707d8a939e988f82766c61564c4135291e150a0000000000000000000000000000000000030f1c28333f4a545b6068696b676d6d685d52454446474a505b6573808c99a196887b6e6255483b2f221c262f3c45515d67707d8a939e988f82766c61564c4135291e150a00000000000000000000000000000000000000000c17232e3846535f6975828e99a3afab9f948b7f726a60574e463e36302a25201f1c1818232e39424c565f6a707d87939fa5a09691859297a1adaea2988d8074685e5246392a20150a00000000000000000e1a26313b47535f6974808d96a0abaea39991857b6e6a615a524c46423c3a38342e3434342e34383a3c42474d535b626b707d86929fa4aeaaa0958b7f72685e5243392f24180d0100000000000000000000000000000000000000000004101c2834404b55616e7b87939faca095887b6f7985929faca3988b7f7265594f4332281e13080000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b55616e7b87939faca095887b6f7985929faca3988b7f7265594f4332281e1308000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000020e1a26313c4754616d7a86929f9f94887c6f62584e4244505b656e7b859299a4a19791857c716c63615959585758575f616b707c869299938f939eab9e928578695f534745515c667683909da196877a6d6054473a2d21140700000006121f2c3844505c6674818e9baab4ab9b8e8175665c5044382c1f1206000000000c18242f3b4754616e7b8795a0aa9c8f838f99a4a297897c706356493d31261a0e0000000005121e2a36424d576673808d99a9b3ab9c8f8275675d5145392c2013070000000000000000000000000000000000000000000000000005101c28333e4653606c7883909da8a99e9184786c60555764707d8a97a3b0a99c8f8276695c5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a575550483e33281c10040000000c1926323f4c5965727f8c98a59c8f827669564c41363b4754616e7a8799a3a196877a6d605447434f59606d7a84919ea1978e81746b61554c4135291f160c01000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a89d908376665c514538303d495663707c8996aa9e918477675d5145392c1f17232e38424e58606d79849199a2988f82756c61564c41362a20160c0200000000000000000000000000000000000815212e3b4854616e7b87837c726c656874818e9b9e9184786b5e5145382b1e1205000000000000000a141d2935404b55616c75828f989f948a7e71685d52453d30261c11060000000000000000000000000000000006121f2b3844505b666c75767778797a6d60544b403a3a3f495364717e8b97a8978a7d7164574a3e3124141d2935404b55616c75828f989f948a7e71685d52453d30261c11060000000000000000000000000000000000000006111c2a36424d57626e7b87929fa8b0a69f92877c6f695f585046413b36312d2c2823272727303a444e58616b727f8c939ea7a0989298a1a9b1a79f92867a6e61564c41362a1e1105000000000000000009141f2b37424d57606d79849199a4afaba19791847c706c615e56534d494644404141414141404546494d53575f616d727d869298a2aeaca2989083786c60564c4131281d120700000000000000000000000000000000000000000000000c18232e3946535f6976828f9ca9a7998c7f737d8a98a2ac9f92867a6d6054473d3221160c0200000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3946535f6976828f9ca9a7998c7f737d8a98a2ac9f92867a6d6054473d3221160c02000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000914202d3946525e6874818e9aa49b8f82756a60544a3f49535e69717e87939fa3a19791867e76706b686564646567696e747d8592989387828f9baaa197887b6e6255484653606d7985929f9e918478675d5145392c2013060000000713202d3a4653606d7985929eabaea3998a7e7164544a3f34281c1003000000000714202d3a46525e697783909daa9f948f949fab9f9285796d6053463a2d20130900000000020e1a26313c4956636f7c8997a1adac9f92867a6d6054473a2e23180c00000000000000000000000000000000000000000000000000000b161f2b3744505b65717e8a95a0aca0968a7d7064626264707d8a97a3b0a99c8f827669676767676767676767676767676767676767676767676767676767676764615a5044392d2014080000000a1723303d4a5663707d8996a89e918477685e5246393c4956626f7c8995ab9e918478685d52453d45515d67707d8a939e9e938a7d70675d51453d31281d1207000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8796a09f9286796d6053463c36414c5665727f8c98ab9b8e817568554b4035291d111c26303c45515c676f7c87939f9e948a7e71685e52463e32281e130800000000000000000000000000000000000815212e3b4854616e7b8790867f776e6974818e9b9e9184786b5e5145382b1e120500000000000000020b18242f3a43505a616e7b86929f9e92857a6d60594f42382e23170c030000000000000000000000000000000613202d394653606c7881838485868275665c5145403f414a5464717e8b97a4988b7e7165584b3e32251818242f3a43505a616e7b86929f9e92857a6d60594f42382e23170c03000000000000000000000000000000000000000e1a26313b47535f6974808d96a0abaea39991857b6e6a615a524c46423c3a38342e34343430353c464f59636d74818e959faaa29fa2aab3aaa0958c7f72685e52443a3025190d010000000000000000030e1a26313c45515d676f7d87939fa4aea9a19691867e756e68615e575653514a4e4e4d4e4e4b515356575f62696e767f879298a2aaafa49a92867c6f665b50443a301f160c01000000000000000000000000000000000000000000000007121d2b37424d5764717d8a97a1aa9d908377818e9baaa79b8e8174685d5245392c20130400000000000000000000000000000000000000000000000000000000000000000000000000000007121d2b37424d5764717d8a97a1aa9d908377818e9baaa79b8e8174685d5245392c20130400000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000005111d2935414c56626f7c87939f9f93877c6f665b5044414d57616c727f8b919fa3a198928b827d78757271717274777b81879297978e817d8998a3a9978b7e7164584b4a5463707d8a98a29c8f827569554c4135291d11040000000a1623303d495663707d8997a2adac9f92867a6d6054473a2e23170c000000000005111e2a36424d576673808c99a9a69f9c9fa6ab9b8e8275665c5044382c1f120600000000000913202d394653606c7985929eabaea3988a7d7164544a4034281c100400000000000000000000000000000000000000000000000000030f1b27333f4953606c7884919da8a89c9083766e6e6e6e707d8a97a3b0a99c8f8276737373737373737373737373737373737373737373737373737373737373706c6155493c3023160a0000000714212e3a4754616d7a8796a0a096877a6d61544740414d5765727f8c98ac9c8f827569564c4135414c55616b75818e97a19e91847a6d60594f43392f24180d030000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e697784919ea398897d7063584e433f46525e6876828f9ca3998b7e7164584b3e2f24180c151e2834404b55606b74808d96a19e92857a6d615a50443a3024190d04000000000000000000000000000000000815212e3b4854616e7b8798928c827b7174818e9b9e9184786b5e5145382b1e1205000000000000000007131d28313e46525e69727f8c95a0978e81746b60544a3f34281f140900000000000000000000000000000006121f2b3844505b6677849091929285796d6058514a4c4b515b6673808d99a9978a7d7164574a3e312417131d28313e46525e69727f8c95a0978e81746b60544a3f34281f14090000000000000000000000000000000000000009141f2b37424d57606d79849199a4afaba19791847c706c615e56534d49464440414141414241464749505b606d79839098a2aeacaeb4aea2989083786d60564c4132291e13080000000000000000000009151f2935404b55606b727f8b929da4ada9a198928a817a746e696562605c545b5a5a5a5b545c606266696e747b828b9299a2aaaea39f93887e706a5f544a3f32291e0d04000000000000000000000000000000000000000000000000000e1a26313c4653606d7984919eaba095887b85929faba095897c6f63564c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c4653606d7984919eaba095887b85929faba095897c6f63564c4135291d110400000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000010d1925303a47535f6a75828f9aa49a9083786c60564c4145505a626d737f8a9298a0a29f948f8984817f7e7e7f8083878e92999992857b7986929fa79a8e817467564c505c6674818e9aa7988c7f7265594c3f2f24190d01000006131f2b37434e586774808d9aa9b3a99c8f8276675d5145392c1c11060000000000020e1a25303c4955626f7c8897a1adaba9abafa4998b7e7164544a3f34281c1003000000000006121f2b3844505b6674818e9babb4aa9b8e8175665c5144382c1f120600000000000000000000000000000000000000000000000000000b17222d3844505b66717e8b96a0ab9f948a7d7b7b7b7b7b7f8b98a5b1ab9e9184808080808080808080808080808080808080808080808080808080808080807e7064574a3d3124170a0000000713202d3946525e687784919ea8978a7e71645b514b4c535f6976828f9ca49a8c7f7266594c3f2f3a434f59616d7a85919ea1968e81746b60554b4035291f150b01000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576773808d9aa69b8e81746a5f554e4a5059616d7a86929f9f92867a6d6154473a2e2114070c18232e39434f59606d7984919ea1978e81756c61564c4135291f160c010000000000000000000000000000000815212e3b4854616e7b879298948f857e74818e9b9e9184786b5e5145382b1e12050000000000000000010c161f2a36424d57606d788390999f93887c6f665c50443b31251a0d040000000000000000000000000000030f1c28333f4a546774818e9a9f978b7e716a605c5459555d606c7884919da297897c6f6356493c3023160c161f2a36424d57606d788390999f93887c6f665c50443b31251a0d04000000000000000000000000000000000000030e1a26313c45515d676f7d87939fa4aea9a19691867e756e68615e575653514a4e4e4d4e4f4c5254535b60636b6f7a85929facb8bab2a89f92867c6f665c50443b3020170d0200000000000000000000030d18242f3a434f59626d74808d929ca3adaaa29f938e86807b76726f6d6669686767676869666d6f72777b81868f949fa3ababa39f918c7f726c61584e42382d20170d000000000000000000000000000000000000000000000000000009141f2c3844505c6673808c99a4a79c8f828f97a2aa9d9084776b6054443a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2c3844505c6673808c99a4a79c8f828f97a2aa9d9084776b6054443a3024190d0100000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000008131e2b37434e58626f7c87939f9f958b7f72685e53493f48515b636d737e8691969fa39f9c96918e8c8b8a8b8d9093999f9993877d707683909ca99d918477685d5253606d7985919ea095887b6e6155483b2e2215080000000815222e3b4754606a7884919eabb1a7988b7f7265554c4135291d0a000000000000000913202d394653606c7884919eabb8b6b9ac9f93867a6d6154473a2e23170c000000000000030f1c28333f4a5464717d8a99a3aeab9f9285796d6053463a2d22170b000000000000000000000000000000000000000000000000000006111b28333f4a54606d7884919ea8a69a8f8a88888888888b919ba7b3aca196918d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8074675a4e4134271b0e01000005111d2a36414c566673808c99a59d9083766d605c55565e656e7b87939f9f93877b6e6154483b2e313e46525d68717e8a939e9d93897d70675d51453d31271d12070000000000000000000000000000000000000000000000000000000000000000000000020e1a25303c4855626f7c88949f9f92867c6f676058545c606b73808d99a39c8f8275685e5246392d20130707121d27303d45515d67707d89939d9e938a7d70685d52453d31281d13070000000000000000000000000000000613202d394653606c787f86909597928a81818e9b9e9184786b5e5145382b1e1205000000000000000000040d1a25303b44505c666f7c87939f9a9083786d60574d42362a1f160c0100000000000000000000000000000b17222d3c4956626f7c89949f9f92857c716d66666666676d737f8c96a09f9285796d6053463a2d2013070d1a25303b44505c666f7c87939f9a9083786d60574d42362a1f160c0100000000000000000000000000000000000009151f2935404b55606b727f8b929da4ada9a198928a817a746e696562605c545b5a5a5b5c565d6163656c70757d839098a2aebab9aca0968a7e716a5f544a3f32291e0e0500000000000000000000000007131d28313d47515b606c77808c919ea1a9aea59e98928d87837f7c79777674747474747677797c7f83888e92999fa6aea8a199928b7f736d635a50463c2f261c0e05000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939fac9e948f949ea9a3988b7f7265594f4332281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939fac9e948f949ea9a3988b7f7265594f4332281e13080000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000020f1b26323c47535f6a74818e97a29f92857a6d655b50443f49515b636c717c848c92989ea1a19e9b989797989a9d9f9f9791877e716b73808c99a09f93867a6d61545b65717e8a97a19d918477695f53473a2d2114080000000916222f3c4955626f7c8896a1adaca095877b6e6154483b2f24190d0000000000000005121f2b3744505b6574818e9aaab4bfb6a99c908376685e5246392d1c1106000000000000000b17222d3a4754606d7a86929facada297897d706353493f33271b0f0300000000000000000000000000000000000000000000000000000b17222d3844505c66717e8b96a1aca19a969595959595989ba3adb8b2a8a19e9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a8d8174675a4e4134271b0e010000010d1925303b4855626e7b88939e9f958b7f736d676767686d77828f99a49c908376695e53463a2d2935414c56616c75818e97a19e9184796d60594f43392f24180c0400000000000000000000000000000000000000000000000000000000000000000000000915212e3b47535f6a76828f9aa3999083796f6a6867666d717d87929f9f94897d7063564c41362a1e1105000b151e2935404b55606b74818e97a19e91857a6d60594f433a2f24180d04000000000000000000000000000006121f2b3844505b666c727c838c9299938e8e939e9e9184786b5e5145382b1e12050000000000000000000009141f28343f4a54606a74808d97a0958c7f72695e53463e31281d130700000000000000000000000000000615222e3b4754606a76828f98a29792857e7975737273757a8088939fa1978d8074665c5144382c1f120609141f28343f4a54606a74808d97a0958c7f72695e53463e31281d1307000000000000000000000000000000000000030d18242f3a434f59626d74808d929ca3adaaa29f938e86807b76726f6d6669686767676869686d7073787d82899095a0aab4b4b7aa9e9184796d605b51473e342a20160c030000000000000000000000010c161f2b353f44505b656c747f8a92979ea6acaaa29f9a93908c898684828181808181828486898c90959a9fa3ababa49f9691877e736d635b51473e342a1d140a000000000000000000000000000000000000000000000000000000000c17232e3846535e6975828f9ca8a69e9c9ea6ac9f92867a6d6054473d3221160c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3846535e6975828f9ca8a69e9c9ea6ac9f92867a6d6054473d3221160c020000000000000000000000000000000000000000000000000000000104000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060503000000000000000000000000000000000000000a15202b37434e58616d7a85929fa2978f81776c605a50464049515a616a6f797f868c9196999c9d9e9f9f9e9c9a98928d857d716c63707d899994949a8a7d706355606c7883909da3998c807366574d42372b1e1206000005121e2a36424d576673808c99a8b2aa9d908377695e53463a2d1e130800000000000000030f1b27333f495364707d8a98a2aeacb2a8998c7f7266564c41362a1d0a00000000000000000613202c3945515d6776828f9ca9b3a99a8d8174655b5044372b1f1205000000000000000000000000000000000000000000000000000006111c28343f4a54606d7984919ea8aba5a3a1a1a1a1a1a5a7adacacacb2acaba6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69a8d8174675a4e4134271b0e010000000814212e3a47535f6975818e98a29f92877f79757474767a818f949f9e93897d7063574d42362a24303a44505a616d7a85929ea0968d80746b60554b40352920150a000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e58626f7c87939f9f9590837c77757475797e869299a2988f82766b6054443a3025190d0100030c18242f39434f59606d7a84919ea1978e81746b60554b40352921160a0000000000000000000000000000030f1c28333f4a545b606a6e787f8690959b9b9ea59e9184786b5e5145382b1e120500000000000000000000030b17232e38424e58606d7a84919e9f92867b6e615a50433a2f24180d010000000000000000000000000006131f2b37434e58616e7b869298a097928b8582807f8082858d939aa19892857a6d61544a4034281c1004030b17232e38424e58606d7a84919e9f92867b6e615a50433a2f24180d0100000000000000000000000000000000000007131d28313d47515b606c77808c919ea1a9aea59e98928d87837f7c797776747474747576777a7d8084898e939da0a7afaaa8abaca0968e81746d62594f463c32281e150b000000000000000000000000040d192327333f49535b606d737d858f949da0a7acaca49f9c989892918f8e8d8d8d8e8f919298999d9fa7acaca69f99938d847d716c635b51493f352c22180b020000000000000000000000000000000000000000000000000000000006111c2a36424d5763707d8a96a1acaaa8aab0a79b8e8174685d5245392c2013040000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2a36424d5763707d8a96a1acaaa8aab0a79b8e8174685d5245392c201304000000000000000000000000000000000000000000000000000004090e11131314202d3a4753606d7a8693a0acac9f9286796c5f5346392c201312110f0c070100000000000000000000000000000000040f1b26323c46525e68717e8b949e9e938c80736c61584f474048505860676d737b8084898c8f9192929291908d8a85807a706b61606d798787878787878073665d67707d8a95a09f92867b6e6154483c31261a0e0200000714212d3a46535f697784909d9f9fa9998c807366574d42362a1e120500000000000000000b17222d3a4753606d7a86929f9f9f9fa196887b6f6255483c3025190d000000000000000004111d2935414b5565727f8b98a79f9f9e9184786c605346392d2013060000000000000000000000000000000000000000000000000000000b17232e3844515c66727e8b96a19f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8d8174675a4e4134271b0e0100000006121e2b37424d57616e7b859298a299928c8582818182868f939e9f958e81756b6054453b31251e28323e46525e68717e8a949e9f93887d6f675d51453d32271b0f0300000000000000000000000000000000000000000000000000000000000000000000030f1b26323c4754606a74808d949e9f95908983818082848b9298a29992857b6e61594f4432291e130800000007121d28313d45525d68707d8a939e9d93897d70675d51453d32271b0f0300000000000000000000000000000b17222d38424a50585f666d727c838c9299a0a79e9184786b5e5145382b1e1205000000000000000000000006111c26303d45515d67717e8a949e988f82756c61554b4035291d110400000000000000000000000000030f1b27323d46535f69707d8691969e9f97928e8c8c8d8f92989f9f9691867d6f685e5242392e23180c000006111c26303d45515d67717e8a949e988f82756c61554b4035291d1104000000000000000000000000000000000000010c161f2b353f44505b656c747f8a92979ea6acaaa29f9a93908c898684828181808182838487898c91969b9ea5acaba59e9b9ea1a89d938c7f726b61584e443a30271c1207000000000000000000000000071017222d384149505b636b707b828990959c9fa4acaca9aaa39f9d9c9b9a9a9a9b9c9d9fa3aaaaababa39f9b948f878079706b625a514940372e231a10060000000000000000000000000000000000000000000000000000000000000e1a25313b4653606c7884919e9f9f9f9f9fa095897c6f63564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a25313b4653606c7884919e9f9f9f9f9fa095897c6f63564c4135291d110400000000000000000000000000000000000000000000000000080f151a1d1f2020202d3a4753606d7a86939f9f9f9f9286796c5f5346392c20201f1e1c18130c05000000000000000000000000000000000a15202a36414c56626d76828f97a19f93887e716a60594f473f464e555c60696e73797c7f82848586858583817d79736d6860595d67757a7a7a7a7a7a796d60606d7984919ea49a8e8174695e53463a2a1f15090000000815222e3b4855616e7b88959393939396897c6f6256493c31251a0e02000000000000000006131f2c3945515d6775828f93939393939184786a5f53473a2e1e13080000000000000000010d18242f3b4854616e7b87959393939396897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000006111c2834404a54606d7984919393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938d8174675a4e4134271b0e01000000020e1a26313c46525e69707d8692989f9f98928f8d8d8f92999e9f9590837a6d61594f4433291f16202a36414c56616c75828f97a29a9184796d60584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000a15202b37434e58606d78828e939da09d95908e8d8e91969f9f9792877d70695f53473d3320170d02000000010c161f2935414c56616c75818e97a19e9184796d60594f44382c1f1307000000000000000000000000000006111c262f383f444e545c606a6f788087909593939184786b5e5145382b1e12050000000000000000000000000a141e2935414c55616c75828f9893948a7d70675d5145392c20130600000000000000000000000000000a15202a36424d57606b707c848c9196999c9b9999999b9d9a97928d847d6f6b60564c4130271c12070000000a141e2935414c55616c75828f9893948a7d70675d5145392c20130600000000000000000000000000000000000000040d192327333f49535b606d737d858f949da0a7acaca49f9c989892918f8e8d8d8e8f8f919696999ea1a8aaaca69f9c938e9196a1a59f93877d706a5f564c42392e2318110800000000000000000000000006111b262f383f44515961696e757d83898f939a9c9fa2aaa7a8aaa9a7a7a7a7a7a9a9a8a6a9a29e9b99928e88827c746d676059504840372e251c11080000000000000000000000000000000000000000000000000000000000000009141f2b3844505b66737f8c999393939393939084776b6054443a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2b3844505b66737f8c999393939393939084776b6054443a3024190d0100000000000000000000000000000000000000000000000009121a20262a2c2d2d2d2d3a4753606d7a8693939393939286796c5f5346392d2d2d2c2b28241e170f07000000000000000000000000000000040d1925303a44505a616e7b859299a39a92867c6f6b6159504641434b51565e61666d6f737677787979787674706d67615d564f555d686d6d6d6d6d6d6d67616b74808d96a19f93877c6f62574d42362a180e030000000c1926323f4c5965727f8686868686868684786c605346392d20130900000000000000000004101d2935404b5565727f86868686868686807467584e43372b1f12060000000000000000000714212d3a46535e697783868686868686868073665a4d4033271a0d000000000000000000000000000000000000000000000000000000000c18232e3945515c67727f86868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868074675a4e4134271b0e01000000000915202a36424d56616b707d868e92999b9d9b9a9a9c9d9a97928b837a6d685d52473d3321170e1925303a44505a616e7b85929393968d80736a6054473b2e2215080000000000000000000000000000000000000000000000000000000000000000000000040f1b27323d44515c666d79818a9195999c9d9b9a9b9e9c99928e857d706b61574d42352b210e050000000000040d19242f3a44505a616d7a85929393968d80746b6054483b2f2215090000000000000000000000000000000a141d262d333c424a50585f666d737c838686868684786b5e5145382b1e1205000000000000000000000000020c19242f3a43505a616e7b8686868686847a6d6053473a2d2014070000000000000000000000000000040e1a26313b454f59606a6f797f848a8d8f9192929291908d8a8580796f6b60594f443a301e150b00000000020c19242f3a43505a616e7b8686868686847a6d6053473a2d2014070000000000000000000000000000000000000000071017222d384149505b636b707b828990959c9fa4acaca9aaa39f9d9c9b9a9a9a9b9c9ea0a8a6abacaba39f9b94908981849198a2a49992867c6e685e544a40342823190b020000000000000000000000000a141d262d3340474f575e616b70777d82878b8f9298989a9b9d9e9e9f9f9f9e9d9d9b999797928e8a86817c766f6a605d554f473e362e251c130a0000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616e7a8786868686868686867f7265594f4332281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616e7a8786868686868686867f7265594f4332281e130800000000000000000000000000000000000000000000000008121b242b323639393939393a4753606d798686868686868687796c5f5346393939393837342f2921190f0500000000000000000000000000000008131e29323f46525e69707d87929fa29892857d706b625a524c4440454d52545c606366696a6b6c6c6b696764605c55524c444c565d61616161616160606a707d88939fa2978e81756a5f53453b31251a06000000000b1825313e4a57626d7279797979797979786c655b5044372b1f1205000000000000000000000c18242f394a56626d7279797979797979746e6458463c31261b0f0300000000000000000005121e2a36424d5767717779797979797979736e63584b3f3226190c0000000000000000000000000000000000000000000000000000000007121c2834404b55626d727979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746e64584c3f33261a0d0000000000030e1925303b444f59616b707a81868b8e9091929291908d8a857f786d685e564c41352b210f08131e29323e46525e69717e8686868686877c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000a16202834404a545c676d747d84898d8f91929292918f8c87817b706b61594f453b3123190f0000000000000008131e28323e46525e68717e8686868686887c6f6356493c30231609000000000000000000000000000000020b141c222830383f444e545c606a6f77797979797872685c5043372a1d11040000000000000000000000000008131e28313e46535f696e7979797979786d675d5145392c20130600000000000000000000000000000009141f29333d474f5860676d72787d8082848586858483807e79736d6760594f473d32281e0c03000000000008131e28313e46535f696e7979797979786d675d5145392c20130600000000000000000000000000000000000000000006111b262f383f44515961696e757d83898f939a9c9fa2aaa7a8aaa9a7a7a7a7a8a9aaa8a6aaa29f9c99928f89837d757c86929aa4a29891847a6d665c51443f352b1d140a000000000000000000000000020b141b2227353e454d525960636b70757b7e8285888b8d8f9091929292929191908e8c8a8885817e7a746f6a626058514b433d352d241c130a010000000000000000000000000000000000000000000000000000000000000000000b17222d3846525e686e797979797979797979726d6256473d32261e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3846525e686e797979797979797979726d6256473d3220160c020000000000000000000000000000000000000000000000040f1a242d363d4245464646464545515c67767979797979797979756a5e523e454646464544403a332b21170c010000000000000000000000000000020d17202a36424d56606b727f8b929ca29792867d716c615e5650474242464a505356595c5e5f5f5f5e5d5a5753514b46413a444c5254545454545960696f7c86929aa49f92857b6e61584e4333291f1409000000000916222e3a46515b62656c6c6c6c6c6c6c6b605b53493f33271b0f030000000000000000000007121d2e3a45515b62656c6c6c6c6c6c6c67645c5247342a20150a00000000000000000000020e1a25313b45555f676a6c6c6c6c6c6c6c66635c52473b2f23170a00000000000000000000000000000000000000000000000000000000000c18232e3943515b62656c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c3024170b00000000000009141f29323e474f5960686e747a7e81838485858483817d79726d665e564c443a3023190f020d17202a36424d57626c717979797979796f6a6054473b2e221508000000000000000000000000000000000000000000000000000000000000000000000000040c18232e39424b555c606c70777c80838485868584827f7b756e6961594f473e332a1f110700000000000000010c16202a36414c56616c717979797979796f6b6054483b2f22150900000000000000000000000000000000020a11171e262e343c424a51585f626a6c6c6c6c6b6860564b3f33271b0f0200000000000000000000000000010c161f2a36424d575f616c6c6c6c6c6b605d554b4035291d1104000000000000000000000000000000030d17212b353d464e555c60666d70737677787978787674716d67605d554f473d352b20160c000000000000010c161f2a36424d575f616c6c6c6c6c6b605d554b4035291d1104000000000000000000000000000000000000000000000a141d262d3340474f575e616b70777d82878b8f9298989a9b9d9e9e9f9f9f9f9e9d9c9a9898928f8b86827d76706b707e88939fa5a0968f82786d605b51473d2f261b1106000000000000000000000000020a1117232c333b42464f54596063696e7276797c7e808283848585868585848382807d7b7975716d68625f58544e45403a312b231b120a010000000000000000000000000000000000000000000000000000000000000000000006111c2a36414d565e616c6c6c6c6c6c6c6c6c65625b51443f3830261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2a36414d565e616c6c6c6c6c6c6c6c6c65625b5146342b210e040000000000000000000000000000000000000000000000000915202b363f484e5253535353514a4b555c6c6c6c6c6c6c6c6c6c6a6359464b5253535352504c453d33291e1307000000000000000000000000000000050e1925303b444f59626d73808d929da29892877e756d68615a534e47433f4446494c4f5152535252504e4a4745403935323a414647474d535b626b707b859198a29e948b7e71685e52463c3121170d030000000006121e29353f49515759606060606060605e53504941382d22170b000000000000000000000001111d29343f48515658606060606060605a58524a413622180e04000000000000000000000009141f2933434d555b5d606060606060605a58524a40352a1f1307000000000000000000000000000000000000000000000000000000000007121d27303f4951565860606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605a58524a41362b1f1408000000000000020d17202c353e474f565e61686e717577787979787674706d67605c544c443a32281e110700050e1a25303b45505a62656c6c6c6c6c6c6260584e43372b1f13060000000000000000000000000000000000000000000000000000000000000000000000000007121c273039434b515a61646b6f7376787979797775726e69615e574f473e352c21180e000000000000000000040d1925303a44505a61646c6c6c6c6c6c6360594f44382c1f1307000000000000000000000000000000000000060c141c2328303940444e54555d606060605e5c564e443a2f23170b000000000000000000000000000000040d1a26313b454d53555f606060605e53514b433a2f24180d0100000000000000000000000000000000060f19232b343d434b51545c606366696b6c6c6c6b6a6764605d55514b433d342b23190e0400000000000000040d1a26313b454d53555f606060605e53514b433a2f24180d0100000000000000000000000000000000000000000000020b141b2227353e454d525960636b70757b7e8285888b8d8f9091929293929291908f8d8b8885827e7a75706b63616c737f8c939ea79f948d80746d62594f41382d22170b000000000000000000000000000006111a202930363d44484f54565e6165666d6f7174757778787979787877767573716f6d6664605d56534e47433d352f281f191109000000000000000000000000000000000000000000000000000000000000000000000000000e1925303b444d52545f606060606060606060605f5e504a42382e23170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424a505e5f606060606060606060585651493f3422190f000000000000000000000000000000000000000000000000000e1a26323d4851595e606060605e575550515f606060606060605f5e595053585f6060605f5c574f453a2f24180c0000000000000000000000000000000009141f29323d47515b636e74808d929fa299928b817a706c625f57534e4745413c4043444546464543413d3a383435393a3d43474c52575f626d727d859197a1a0958f82756c62564d41342a200f050000000000010d18232d373f464a4c535353535353535246443f382f261b11060000000000000000000000010c18232d363f454a4b535353535353534e4c4741382f241006000000000000000000000000030d1721323b434a4f51535353535353534d4b4740382e24190e020000000000000000000000000000000000000000000000000000000000000b151e2d373f464a4c53535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534e4c4741382f241a0e0300000000000000050e1a232c353d444c52565e6164686a6b6c6c6b6a6763605d55504a423a322820160c00000009141f29333f4850565860606060605f56544e463d32271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000b151e2730394045505559606366696b6c6c6c6b6965615e57524d453e352c231a0f060000000000000000000008131e29323e4850555760606060606056544f473d32271b0f0300000000000000000000000000000000000000020a11171e272e343c434749515353535351504b443c32281d12070000000000000000000000000000000009141f29333b4246485253535353514745403a31281d1307000000000000000000000000000000000000081119222b303940454a5053575a5c5e5f5f5f5e5d5a5753514b45413a312b2219110700000000000000000009141f29333b4246485253535353514745403a31281d1307000000000000000000000000000000000000000000000000020a1117232c333b42464f54596063696e7276797c7e808283848585868685848382807e7c7975726e686360595a636d75818e95999999928b7f726b6053493f33271b0f030000000000000000000000000000080e171f252a33383d44484d535f605c60626567686a6b6b6c6c6c6b6a6a68666462605c605f534d47433c383229241d160d07000000000000000000000000000000000000000000000000000000000000000000000000000008141f29323b41464753534d545b60666c6c6c6c6c6a5c544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c6a6c6c6c6c6c66605b544d4c4a463f372d23130c04000000000000000000000000000000000000000000000000111d2a36424e59636b6c6c6c6c6b64615a534d53535353535353534d535b60656c6c6c6c6b6861574c4034281c0f00000000000000000000000000000000020d17202b353f49525c646e74808c9399a29f938e857d756e6a625f5854524c49474540413f3e3e3d3d3e3f3f404045474a4e53565e61696e767e879297a1a1969083796d605a50443b3022180e0000000000000007111b252d353a3e3f46464646464646453937332d261d140a0000000000000000000000000006111b242d343a3d3f4646464646464641403c362f261d130000000000000000000000000000050f202932393f434446464646464646403f3b352e261c120800000000000000000000000000000000000000000000000000000000000000030c1b252d343a3e3f4646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646413f3c362f261d130800000000000000000008111a232c323b41464c5254585b5d5e5f5f5e5d5a5753514b443f38302820160e04000000020d17202d363f454a4b5353535353534947433d342b20150a000000000000000000000000000000000000000000000000000000000000000000000000000000030c151e272e343e44494f54565a5c5e5f5f5f5e5c5954524d46423b332c231a11080000000000000000000000020d17202c363e45494b5353535353534948443d352b21160a00000000000000000000000000000000000000000000060c151c232832373b3c444646464645433f3a322a20160c0100000000000000000000000000000000030d17212931363a3b4646464646453a39352f281f160c01000000000000000000000000000000000000000810191e272e34383f44464a4d505152535251504d4a47454039352f281f19100700000000000000000000030d17212931363a3b4646464646453a39352f281f160c01000000000000000000000000000000000000000000000000000006111a202930363d44484f54565e6165666d6f7174757778787979797878777573716f6d6665615e56544f515b606d79838c8c8c8c8c8c867d70655b5044372b1f1205000000000000000000000000000000050d141a21272c36424d575e6c6c6c6c6c6c6c6a665f5f5f5f5f5e5e66696c6c6c6c6c6c6c5e574d42362b272018130c04000000000000000000000000000000000000000000000000000000000000000000000000000001070e17202930363b424651575f666c72797979797975665c5044382b1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c66757979797979726c665f575146423b3229251e160e070100000000000000000000000000000000000000000000131f2c3945525e6b757979797978706c615f57514b434646424b51575f656c71787979797873685c5044372b1e110000000000000000000000000000000000050e19232d37404a525c646e737f8792979f9e97928a827b756f6a65605d565653514b4d4c4b4b4a4a4b4b4c4d4b515357585f62686d737b828b9299a19f9791847a6e675d51483e32291f100600000000000000000a131b23292e313239393939393939382d2b27221b140b02000000000000000000000000000009121b23292e3132393939393939393433302b241d140b0100000000000000000000000000000e1720272e3336373939393939393933322f2a241c140a00000000000000000000000000000000000000000000000000000000000000000009131b23292e313239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393433302b241d140b010000000000000000000008111a202930363b4146474b4e5051525251504e4a47454039342e261e160e040000000000050e1b242d343a3d3e4646464646463c3b37322b22190f0400000000000000000000000000000000000000000000000000000000000000000000000000000000030c151d232833393d4348494d5051525352514f4c4846423b363029211a110800000000000000000000000000050e1b242c34393d3e4646464646463c3b38322b23190f040000000000000000000000000000000000000000000000030b121820262b2e2f37393939393837332f2820180f05000000000000000000000000000000000000060f171f262a2d2e3939393939382d2c29241d160d04000000000000000000000000000000000000000000070c151d23282e34383a3d4043444546454543413e3a38352f29241d160d07000000000000000000000000060f171f262a2d2e3939393939382d2c29241d160d0400000000000000000000000000000000000000000000000000000000080e171f252a33383d44484d5254545c60626567686a6b6b6c6c6c6c6b6a69676562605c5454524c484445515c676e7b808080808080807f786c605346392d2013060000000000000000000000000000000002090e16212d3a46535e69767979797979797771665b5253525a66707679797979797976695e53463a2d21160d07010000000000000000000000000000000000000000000000000000000000000000000000000000040c1318202830353e444d525b62696e787f8686868687796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7987868686867f786e69625b524d443e3530282018130c0400000000000000000000000000000000000000000013202d394653606c7987868686847d756e69605c554f46454f545c60696e777e8586868685786b5f5245382c1f1200000000000000000000000000000000000007111b252e38414a525c646d727d8590949fa19e938f87817c76716d686663605d555a59585757575858595a555d6063676a6f747a80868f949fa39e9590857c6e685e554c41362d20170d000000000000000000010a11181e2225262d2d2d2d2d2d2d2b201f1b17110a02000000000000000000000000000000000911181d2224252d2d2d2d2d2d2d2726241f1a130b02000000000000000000000000000000050e161c2227292a2d2d2d2d2d2d2d2726231f19120a02000000000000000000000000000000000000000000000000000000000000000000010911181e2225252d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2726241f1a130b02000000000000000000000000080e171e252a3036393b3e42444546464543413d3a39352f28231c150c040000000000000009121b22292e31323939393939392f2e2b2720191007000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121822282d32383b3c40434546464644423f3b3a36302a251f170f0800000000000000000000000000000009121b22282d3031393939393939302f2c27211911070000000000000000000000000000000000000000000000000000070c151b1f22222a2d2d2d2d2b2a27231d160f060000000000000000000000000000000000000000060d141a1e21222c2d2d2d2d2b20201d18130c040000000000000000000000000000000000000000000000030b12181c23282b2d30333638393939383734312d2c29241d18130c040000000000000000000000000000060d141a1e21222c2d2d2d2d2b20201d18130c04000000000000000000000000000000000000000000000000000000000000050d141a21272c33383b4246474a505355585a5c5d5e5f5f605f5f5e5d5c5a585553504a4746413b38404b555e696e73737373737373726c655b5044372b1f12050000000000000000000000000000000000000815212e3b4854616e7b86868686868683776a5d50464f5c6976828686868686867b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000070d161d2429323a414650565e616d727b828c929992877e71665c5044382b1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c66717e879399928c827b726d615e565046413a3229241d160d0700000000000000000000000000000000000000000b1825313e4b5864717e889396918a827b736d67615953525960666d737b828b929792877e7064574a3d3124170a0000000000000000000000000000000000000009131c262f38414a525b626b707b828c92989e9e99928e88837e7a76726f6d67696766656464646465666769676d7074777c81868d92999fa19e938e837b6e6a5f564d433a2f241b0e050000000000000000000000070d12161819202020202020201f13120f0b0600000000000000000000000000000000000000060c11151718202020202020201b1a17140e08010000000000000000000000000000000000040b11161a1d1e202020202020201a1917130e0800000000000000000000000000000000000000000000000000000000000000000000000000070d1216181920202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201b1a17140e08010000000000000000000000000000050d14191e252a2d2e313537383939383734302d2c29241d17110a030000000000000000000911181d2124252d2d2d2d2d2c23221f1b150f07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c171c21272c2f303336383939393836322e2d2a251f1a140d0500000000000000000000000000000000000910171d2124242d2d2d2d2d2d23221f1b160f0700000000000000000000000000000000000000000000000000000000040a0f1315161e202020201e1d1b17120c050000000000000000000000000000000000000000000003090e1214151f202020201e1413110d07010000000000000000000000000000000000000000000000000000070c11171c1f202427292b2c2c2c2b2a2724201f1d18120d07010000000000000000000000000000000003090e1214151f202020201e1413110d0701000000000000000000000000000000000000000000000000000000000000000002090e161c21272c30363a3b3f4446494b4d4f5051525253535251504f4d4b4946443f3b3936302f39434d565e616666666666666665605b53493f33271b0f030000000000000000000000000000000000000815212e3b4854616e7b87939393939083776a5d50444f5c6976828f93939393877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000710191f282f353e444c525a61696e767f8690949a93877e716c61544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616c717e87939a9490867f766e69615a524c443e352f281f191007000000000000000000000000000000000000000a1724303d4956626c717f8b919e948f868079706b615f5d606b6f797f868f949f93887e716c6155493c3023160a00000000000000000000000000000000000000010a141d262f384049515961696e787f868f949c9f9f9b94908b86837f7c7a77757472717170707172727376787a7d8084888e92989fa39f97928b81796e695f574e443b31281e1209000000000000000000000000000106090b0c1313131313131312060503000000000000000000000000000000000000000000000105090b0c131313131313130e0d0b0803000000000000000000000000000000000000000000060b0e1011131313131313130d0c0a07020000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130e0d0b0803000000000000000000000000000000000002080e14191e202125282a2b2c2c2b2a2724201f1d18120c06000000000000000000000000060c111517182020202020201615130f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10161b1f222327292b2c2c2c2b292621201e1a140e090300000000000000000000000000000000000000060c111517182020202020201615130f0a040000000000000000000000000000000000000000000000000000000000000003060809111313131312110f0b0701000000000000000000000000000000000000000000000000000205070813131313131207060401000000000000000000000000000000000000000000000000000000000000060b101213171a1d1e1f201f1e1d1a171413100c070100000000000000000000000000000000000000000205070813131313131207060401000000000000000000000000000000000000000000000000000000000000000000000000050b10161c1f252a2d2e34383a3c3e414244454546464645454442403e3c3a38342e2d2a2527313b444d5254595959595959595953504941382d22170b000000000000000000000000000000000000000815212e3b4854616e7b87949f9f9d9083776a5d50444f5c6976828f9c9f9f94877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000040f19222b313a41454f565e616c717b828b92989a93887e716c615a5042382e23170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3842505a616c717e88939a98928b827b716c615e564f45413a312b22190f040000000000000000000000000000000000000815212d3945505a626d727f8b919c98928c847d756e69686d747c838c92989c918b7f726c625a5044392d2014080000000000000000000000000000000000000000020b141d262e373f474f575e666d727b828990949b9f9f9c9992908c89868482807f7e7e7d7d7e7e7f808284868a8d91969b9fa39f99938d857e756d675e574e453c32291f160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e111414181b1d1e1f1f1e1d1b171413100c070100000000000000000000000000000105090b0b13131313131309080603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315161a1d1e1f201f1e1c191514120e0903000000000000000000000000000000000000000000000005080a0b1313131313130909070300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306070a0d101112131212100e0b070604000000000000000000000000000000000000000000000000000000060606060605000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014191e2023282c2d2f3234353738383939393938373634322f2d2c2823201e191f29323b4246474d4d4d4d4d4d4d4c46443f382f261b1106000000000000000000000000000000000000000815212e3b4854616e7b8794a1aa9d9083776a5d50444f5c6976828f9ca9a194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000a16212b343d434b515961686d757e858f949f9f93887f716c625a50483e30261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303e48505a626c717f88939f9f948f857e756d686159514b433d342b21160a00000000000000000000000000000000000005111d29343e48505a626d727f8c929c9f96918a827b73717a818891959f9d928c7f736d625a50483e33281c1004000000000000000000000000000000000000000000020b141c252d353e454d545c60696e757c83898f93999da09f9c999992918f8d8c8b8a8a8a8b8b8c8d8f91939a9a9ea0a19e99928e87817a716c605d554d453c332a20170d040000000000000000000000000000050a0d0f10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010100f0d0a0500000000000000000000000002080d101213131313131313090806030000000000000000000000000000000000000000000000010407071213131313131313131313120f0a0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0f1112131312100e0a07060400000000000000000000000000000000000000000000060606060606000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030709090d1012131313110f0c08070502000000000000000000000000000000000000000000000000000000000006060606060600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090b0d0f1111121313121111100d0b08060603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e1114171c1f20222527292a2b2c2c2d2c2c2b2a29272522201f1c1714110d17202930363a3b404040404040403f3937332d261d140a00000000000000000000000000000000000000000815212e3b4854616e7b8794a1a99d9083776a5d50444f5c6976828f9ca9a194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d464e555d606b707a818a92979f9b918b7f726d625a50483e362c1e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e2c363e48505a626d727f8b919b9e97928a817a706b605d554e463d32271b0f030000000000000000000000000000000000000c17222d363f48515b636d737f8c929ca09e948f867f7d848d939aa09d938d80736d635b51483e362c22170b0000000000000000000000000000000000000000000000020a131b232c333b424a50575f616b6f767c82878c9196989c9fa29f9d9c9a99989797979798999a9c9e9fa39f9c9997918c86817c746d68625a514b433b332a21180e0500000000000000000000000000030a1016191c1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1c1916100a03000000000000000000060d14191c1f1f2020202020201515120f0a030000000000000000000000000000000000000001080d1113141f202020202020202020201e1b161009010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104070c10121316181a1c1d1e1f1f201f1e1d1c1a181513120f0b060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607090b0d0f1111121313121211100f0d0a08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205060c10121316181a1c1d1e1f1f20201f1e1d1c1a18161312100c0605050e171f252a2d2e33333333333333322d2b27221b140b0200000000000000000000000000000000000000000815212e3b4854616e7b87949c9c9c9083776a5d50444f5c6976828f9c9c9c94877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434e5860676d747d858e939fa29b918b7f726d625a50483f362d241a0c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1a242d363f48505a626d727f8b919ba29f938e857d746d6760584e43382c1f130700000000000000000000000000000000000006101b242d363f49515b636d73808d929da49e98928c8a91969fa49e938e81746e645b51493f362d241a10050000000000000000000000000000000000000000000000000109111a212930383f444d535960636b6f757b7f84888c8f929797999b9c9d9e9f9f9f9f9e9d9d9b99979992908c8884807a746f6a615d5650454039312920180f0600000000000000000000000000040d151c21262929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292926211c150d04000000000000000810181f25292b2c2d2d2d2d2d2d22211f1b150e060000000000000000000000000000000000040c13191d20212b2d2d2d2d2d2d2d2d2d2d2b27211b130a0100000000000000000000000000000000000000000000000000000000000000030506090c0e1011121313131211100e0b090605030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506090c0e1011121313131211100e0b090605030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070b0d0f111213131312110f0d0b07070501000000000000000000020608080c0f1112131312110f0c080705020000000000000000000000000000000000000000000000000000000001080d1113181c1f20222527292a2b2c2c2c2c2b2a29272422201f1c1712100c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060b10121315171a1c1d1e1f1f201f1f1e1d1b19171514120e0906030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607090b0e0f1112121313131212110f0d0b0907060300000000050d14191e20212626262626262626201f1b17110a020000000000000000000000000000000000000000000815212e3b4854616e7b878f8f8f8f8f83776a5d50444f5c6976828f8f8f8f8f877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000915222e3b4854606a6f79818a91979ea39c918c7f726d625b51483f362d241b12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b242d363f48515b626d727f8c919ca39e97918a81796f6a6054483b2e2215090000000000000000000000000000000000000009121b242d373f49525b636e74808d929da5a39f99979ea1a69e948e81786c605c524940372d241b1108000000000000000000000000000000000000000000000000000000080f171e262e343b42464f54596063696e73777b7f8285888a8c8e8f9192929292929191908f8d8b8886837f7c78736e68625f58524c443f352f271f170e0600000000000000000000000000030d161f262d3235363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363635322d261f160d03000000000006101a222a303538393939393939392f2e2b2620181006000000000000000000000000000000040d161e24292c2d383939393939393939393937332c251c13090000000000000000000000000000000000000000000000000000000003060b0f121315181b1d1e1f2020201f1e1c1a181513120f0b0603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060b0f121315181b1d1e1f2020201f1e1c1a181513120f0b060300000000000000000000000000000000000000000000000000000000000000000000000000000000000004080d111314171a1c1e1f1f20201f1e1c1a171413110d08040100000000030a0f121415191c1e1f20201f1e1c191514120e090300000000000000000000000000000000000000000000000003090e13191d2023282c2d2f31333637383839393838373634312f2d2b28221f1c17110d0802000000000000000000000000000000000000000000000000000000000000000000000000000001070d1113171c1f20222426292a2b2b2c2c2c2b2b2a28262422211e1a1312100c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010204050506060606050403010000000000000000000002090e1114141a1a1a1a1a1a1a1913120f0b0600000000000000000000000000000000000000000000000814212e3b4754616e7a8283838383828074675a4e414d5a6673808283838383827a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c848e9393939393918c7f726d625b51493f362d241b120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b242d363f49515b626d727f8c9193939393938e847c6f6256493c2f231609000000000000000000000000000000000000000009121b252d374049525c646e74808d939da59f9f9f9fa79f948f82786d665b504a40372e251b12090000000000000000000000000000000000000000000000000000000000050c141c232831363d44484f54575e61666a6e7276797b7e80818384858586868584848382807e7c7a76726f6c65615e56534e46413a3229241d150d0500000000000000000000000000000a151f2831383e424343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343423e3831281f150a00000000020d18222c343b4144464646464646463c3a37312a22180e0300000000000000000000000000010c1620282f35393a4546464646464646464646433e372e251b100500000000000000000000000000000000000000000000000000060b1012171b1f20222527292b2c2c2d2c2c2b29272522201f1b17120f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b1012171b1f20222527292b2c2c2d2c2c2b29272522201f1b17120f0b060000000000000000000000000000000000000000000000000000000000000000000000000001070c1013191d20212427292a2c2c2d2c2c2b29272421201d1913100d0701060b0f151a1f212226292b2c2c2c2c2a282621211e1a140d05000000000000000000000000000000000000000000030a0f151a1e24292c2e34383a3c3e4042444445464645444443403e3b3938332d2c28231c19130d08010000000000000000000000000000000000000000000000000000000000000000000003090e13181d2023282b2d2f3133353737383939393837373533312e2d2a26201f1c17110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080d0d0d0d0d0d0d0c060503000000000000000000000000000000000000000000000000000714202d3946525e686e767676767676746e64584c404b58636e737676767676766e685e5246392d2014070000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a67748186868686868686867f736d635b51493f372d241b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b242d373f49515b636d737f86868686868686868174675a4e4134271b0e01000000000000000000000000000000000000000009131c252e37404a525c606c77818e93939393939393959082796d665c544a3f382e251c130900000000000000000000000000000000000000000000000000000000000000020a11171f262a32383d44484d5354575f6265666c6f717375767778797979787877767573716f6d676662605b53524c47433c3530282018120b03000000000000000000000000000005101c26313a42494e50505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050504e49423a31261c100500000008141f2a343e464d51525353535353534847433c342a20150a0000000000000000000000000008131e28323a41454752535353535353535353534f4940372c21160a0000000000000000000000000000000000000000000002080d11171c1f22272b2d2f323436373939393938373634322f2d2b27221f1c17110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d11171c1f22272b2d2f323436373939393938373634322f2d2b27221f1c17110d0802000000000000000000000000000000000000000000000000000000000000000000060b12181d1f252a2d2e313336373839393939373634312e2d2a25201d18120d11171b1f262b2e2f323537393939393735322e2d2a251f170f0500000000000000000000000000000000000000060b151a1f262b2f35393a404446494b4d4f50515252535251504f4d4b4846443f3a38342e29241e19130c0400000000000000000000000000000000000000000000000000000000000000040a0f151a1d24292c2e34383a3c3e404244444546464545444342403d3b3a36312d2c28231c19130d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e6169696969696967645c52473c47525c6366696969696969615e564c41362a1e11050000000000000000000000000000000000000000000000000000000000000000000000010d1a2733404c58646e747979797979797979736d635b51493f372d251b12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b252d373f49515b636d737979797979797979746e64584c4033271a0d010000000000000000000000000000000000000000010a131c252e384044505b656c7881868686868686868683796d675d544a42382d261c130a01000000000000000000000000000000000000000000000000000000000000000000060b141a21272c32383b4246484e5355545b6062646668696a6b6c6c6c6c6b6a6a68666462605d555553504946413b373229241e160e07010000000000000000000000000000000a16212d38424c545a5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5a544c42382d21160a0000000d1925303b4650585d5f60606060606055534e463c31261b0f030000000000000000000000030c19242f3a444c52545e6060606060606060605f5a52493e33271b0f000000000000000000000000000000000000000001070d13191c23282b2d3337393c3f41434445464646454443413e3c3937332d2b28221c19130d070100000000000000000000000000000000000000000000000000000000000000000000000000000001070d13191c23282b2d3337393c3f41434445464646454443413e3c3937332d2b28221c19130d07010000000000000000000000000000000000000000000000000000000000020a11171d24292c3036393a3e40424445464646454442403e3a3936302c29241d191b22272b31373a3b3f42444546464544423f3b3a36312921170d0300000000000000000000000000000000020a111720262b31373a4145474a515355585a5c5d5e5f5f5f5f5e5d5c5a575553504a46443f38353029241e160d070000000000000000000000000000000000000000000000000000000000070c151b20262b2f35393a3f4446484a4d4f5051525253525251504e4c4a4846423d3a38342e29251e19140d0500000000000000000000000000000000000000000000000000000000000000010407070a0d10111213131211100d0b07070501000000000000000000000000000000010406070a0d0f11121213131211100e0c0908060300000000000000000000000000000000000000000000000000000000000000000000000000010d1925303b444c52545c5c5c5c5c5c5a58524a4136404a52585a5c5c5c5c5c5c54524c443b3025190d010000000000000000000000000000000000000000000000000000000000000000000000000b1824303c48535c64676c6c6c6c6c6c6c6c66635b51493f372d251b130900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b252d373f49515b63666c6c6c6c6c6c6c6c67645c53483c3024180b00000000000000000000000000000000000000000000010a131c2627333f49535b666c757979797979797979776d675d554b42392f261c140a01000000000000000000000000000000000000000000000000000000000000000000000003090e161b21272c31363a3c4247484a50535557595b5c5e5f5f5f5f5f5e5e5d5c5a585553514b4946443f3836302b262019130c0400000000000000000000000000000000000d1926323e49545e666969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969665e54493e3226190d000000101c2935414d5862696c6c6c6c6c6c6c625f584e43372b1f120600000000000000000000000b151e2935414c565d606b6c6c6c6c6c6c6c6c6c6c645a4f43372b1e1200000000000000000000000000000000000000040c13181e24292e34383a3f4446484b4e50515253535352514f4d4b4846443f3938332d29241e18130c0400000000000000000000000000000000000000000000000000000000000000000000000000040c13181e24292e34383a3f4446484b4e50515253535352514f4d4b4846443f3938332d29241e18130c04000000000000000000000000000000000000000000000000000000060c141c23282f35393a4146474a4d4f515252535352514f4d4a4746413a39352f2924262d33373c4347484c4f5152535352514f4c4846423b33291f1409000000000000000000000000000000060c141c232831373c42474c5154545c60626466696a6b6b6c6c6b6b6a69676462605b5453504a45413a352f281f18120b0300000000000000000000000000000000000000000000000000030b121820262b31373a4145474a50535557595c5d5e5e5f5f5f5e5e5d5b595755534d4946443f3835302a251e170e080200000000000000000000000000000000000000000000000000000002080d111314171a1d1e1f201f1f1e1c1a181413110d0803000000000000000000000003080d111314171a1c1e1f1f201f1f1e1d1b181615130f0a0602000000000000000000000000000000000000000000000000000000000000000000000008141e29323b4146475050505050504e4c4741382f3840474b4d5050505050504746413b32291e1408000000000000000000000000000000000000000000000000000000000000000000000000000814202b36414a53585a60606060606060605957514940372e251b1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000109131b252e37404951575960606060606060605a58534a41362b2014080000000000000000000000000000000000000000000000010a1417222d38414a545b60686c6c6c6c6c6c6c6c6a605d554c433930271d140a020000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161b1f252a2d31373a3b3f4446484b4d4e505152525353525151504f4d4b494745403c3937332d2a251e1b150d08020000000000000000000000000000000000000f1c2935424e5a6670767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767670665a4e4235291c0f000000121f2b3844515d697479797979797979766a5f53473a2e2115080000000000000000000007121d27303945525d686d78797979797979797979766c5f5346392d2013000000000000000000000000000000000001070d161d24293035383f444649505355585a5c5e5f5f605f5f5e5c5a585553504946443f38353029241d160d080200000000000000000000000000000000000000000000000000000000000000000001070d161d24293035383f444649505355585a5c5e5f5f605f5f5e5c5a585553504946443f38353029241d160d0802000000000000000000000000000000000000000000000000070f181e262e34394045474c5254575a5c5d5f5f605f5f5e5c5a5754524c47454039352f2f383f44464e5355595c5e5f5f5f5f5d5b5954534d453b31251a0e0200000000000000000000000000070f181e262e343c43474d53555d6064666d6f71737577777879797877777673716e6c6663605c54524c45413a3128231d150c040000000000000000000000000000000000000000000000070c151d232831373c42474b5154545c60626466686a6a6b6c6c6c6b6a6a686664615f575653504a46413a3630292019130d0500000000000000000000000000000000000000000000000003090e13191d202124272a2b2c2c2c2c2b29272421201d1913100c0600000000000000060b0f13191d20212426292a2b2c2c2c2b2b29272522211f1b15120e0903000000000000000000000000000000000000000000000000000000000000000000020d1720293036393b43434343434341403c362f262e353b3f404343434343433b3936302920170d0200000000000000000000000000000000000000000000000000000000000000000000000000030f1a252f3841484c4e53535353535353534c4b4640372e251c1309010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c252e3740464b4c53535353535353534e4c4841382f251a0f030000000000000000000000000000000000000000000000000006111b262f38424a50535b60606060606060605d54514c433a31271e150b020000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e21262b2e2d3338393c3e40424344454646464545444342403e3c3a39352f2d2b27221b19140f0a040000000000000000000000000000000000000000101d293643505c6976828383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838276695c504336291d10000000131f2c3946525f6c79868686868686867c6f6255483c2f221509000000000000000000000c18232e39424f59606d7a85868686868686868686796c605346392d201300000000000000000000000000000000040c13181f282f353a41454a5053535b60626567696a6c6c6c6c6b6a69676562605b5353504a45413a352f281f19130c0400000000000000000000000000000000000000000000000000000000000000040c13181f282f353a41454a5053535b60626567696a6c6c6c6c6b6a69676562605b5353504a45413a352f281f19130c0400000000000000000000000000000000000000000000071019212a30383f444b5153565e616466696a6b6c6c6c6c6a696764615e5653514b45413a3c41495053585f6265686a6c6c6c6c6a6865615e574d42362a1e1205000000000000000000000000081019212a30383f444e53575f62676d7175797c7e8082838485858685848382807e7b7974706d66605d56524c433d342e271e160e050000000000000000000000000000000000000000000810191e272e343c43474d53555d6064666d6f7173757777787979787877767573706e696763605c54524c46413b322a251e170e0600000000000000000000000000000000000000000000060e141a1e24292c2d3134363738393938383634312e2d29251f1c17110a03000000020a11171b1f24292c2d313335373839393938383634322f2e2b26211e1a150e09030000000000000000000000000000000000000000000000000000000000000000050e171e252a2d2e3636363636363433302b241d242a2f32333636363636362e2d2a251e170e0500000000000000000000000000000000000000000000000000000000000000000000000000000008131d262f363c40414646464646464646403e3b352e251c130a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c252e353b3e40464646464646464641403c362f261d13080000000000000000000000000000000000000000000000000000000a141d262f383f44464e5353535353535353504745413a31281f150c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12151a1e2122282b2d2f313335363738393939393837373533312f2d2c2924201f1b17110e08020000000000000000000000000000000000000000000013202d394653606c79868f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f86796c605346392d2013000000131f2c3946525f6c79859293939393887b6f6255483c2f22150900000000000000000005101c2834404b54606b74818e979393939393939386796c605346392d2013000000000000000000000000000000070d161d2429313a40454c52545c6063656c6f727476777879797978777674716f6c6563605b54524c45413a3129241e160e070000000000000000000000000000000000000000000000000000000000070d161d2429313a40454c52545c6063656c6f727476777879797978777674716f6c6563605b54524c45413a3129241e160e070000000000000000000000000000000000000000071019232b333b424a50555d6065686d717375777879797978777573716d6865605d55524c44464e535b60646a6e727577787979787775726e695e53463a2d211407000000000000000000000008111a222b333c424a50585f62696e747a7e8185888b8d8f90919292929291908f8d8a8885817d79736d68605d564f454039302820160e050000000000000000000000000000000000000009111a222a303940454e53575f62676d7175797b7d8082838485858685858483817f7d7b7874706d66615e56524c443e36302920180f070000000000000000000000000000000000000000060f181f262b3035393a3d404344454646454443403e3a3935302c28231c150c0802070b141b22272b2f35393a3d40424445454646454443413f3c3b37322e2b26201a150e060000000000000000000000000000000000000000000000000000000000000000050d14191e20212929292929292726241f1a13191f23262729292929292921201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000010b141d252b303334393939393939393933322f2a231c130a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c232a2f323339393939393939393433302b251d140b01000000000000000000000000000000000000000000000000000000020b141d262d333839424646464646464646443a39352f281f160d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205090e1214171c1f2022242628292b2c2c2c2c2c2b2b2a2927252220201d1813120f0b060000000000000000000000000000000000000000000000000013202d394653606c7986939c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9386796c605346392d2013000000131f2c3946525f6c7985929f9f9f95887b6f6255483c2f2215090000000000000000050e1b242c3845515c666f7c88939fa99f9f9f9f9f9386796c605346392d201300000000000000000000000000000810191f282f353e434b51565d60666d7074787b7e81838485868686858482807e7b7874706c66605d56514b433e353028201910080000000000000000000000000000000000000000000000000000000810191f282f353e434b51565d60666d7074787b7e81838485868686858482807e7b7874706c66605d56514b433e35302820191008000000000000000000000000000000000000050e19222b353d454d545c60676d72767a7e80828485858686858482807d7a76726d67605d565050585f656c71767b7f82848586868584827f7b6e6154483b2e2115080000000000000000000007111a232b343d454d545c606a6e757b81868a8e929897999c9d9e9e9f9f9e9e9d9c9a9797928e8985807a736d686059514b423a322820170e05000000000000000000000000000000000009121b232c343c424b51585f62696e747a7d8185888a8c8f9091919292929191908e8c8a8884807d79736d68615e565046413a322a211910070000000000000000000000000000000000020a1117212a31373a4145474a4d505152535252514f4d4b4746413a38342e261e19130d12181d262d33373a4145474a4d4f51525253525251504e4b4947433c3a37312b2620180f06000000000000000000000000000000000000000000000000000000000000000002080d1114141d1d1d1d1d1d1b1a17140e080e1317191a1d1d1d1d1d1d1414110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b131a202427272d2d2d2d2d2d2d2d2625231e19120a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a12191e2325262d2d2d2d2d2d2d2d272724201a130b020000000000000000000000000000000000000000000000000000000000020b141c22282b2d353939393939393939372d2c29241e160d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000206060b0f121315181a1b1d1e1f1f20201f1e1e1d1c1a18161413110d07050300000000000000000000000000000000000000000000000000000013202d394653606c7986939f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9386796c605346392d2013000000131f2c3946525f6c7985929faca295887b6f6255483c2f22150900000000000000020c16202b37424d57606d7983919aa4afacacacac9f9386796c605346392d20130000000000000000000000000009111a222b313a41454f555d60686d73797d8185888b8d8f919292939292918f8d8b8885817d78726d68605d555046413a322b221a11090000000000000000000000000000000000000000000000000009111a222b313a41454f555d60686d73797d8185888b8d8f919292939292918f8d8b8885817d78726d68605d555046413a322b221a110900000000000000000000000000000000020d17202b343d474f575f666d72797e83878a8d8f909292939292918f8d8a86837e79736d68605b5a626a6e787d83888c8f9192929292908e8c8275685b4f4235281c0f000000000000000000050f19232b353d464e575f666d727c81878e92999b9fa2aaa6a8aaa9a8a7a7a8a9aaa9a6a9a29e9a97928d85807a706b605c544c443a322920170c0300000000000000000000000000000009121b242d353e464e545c606a6f757b81868a8e929797999b9d9d9e9f9f9f9e9d9d9b999796918d8985807a746e68615a524c443c332b22191007000000000000000000000000000000020b141b2227333c42464c5254575a5d5e5f5f5f5f5e5c5a5754524c46443f38302a251e171d24292f383f44464c515457595c5d5e5f5f5f5e5e5c5a5855534e4847423c37312a2117110a020000000000000000000000000000000000000000000000000000000000000000010507081010101010100e0d0b08030002070a0c0d1010101010100807050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080f14181a1b2020202020202020191916120d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d1216191920202020202020201b1a18140f080100000000000000000000000000000000000000000000000000000000000000020a11171c1f20282d2d2d2d2d2d2d2d2a21201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030606090b0d0f101112131313121211100f0d0b090706040100000000000000000000000000000000000000000000000000000000000013202d394653606c798693939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939386796c605346392d2013000000131f2c3946525f6c7985929faca295887b6f6255483c2f2215090000000000000008131e28323a47535f69737f8c95a0acb6b8b9beac9f9386796c605346392d201300000000000000000000000009121b232c343d434b515961676d737a7f848a8e92979899969494989298949496999897918e89847f7a736d67615a524c443d342c231b1209000000000000000000000000000000000000000000000009121b232c343d434b515961676d737a7f848a8e92979899969494989298949496999897918e89847f7a736d67615a524c443d342c231b120900000000000000000000000000000008141e29323d464f5960696e787f858b90939a999c9d9e9f9f9f9f9d9c9a9992908b85807a726c65636c717c838a9095989b9d9f9f9f9f9d9b8e8275685b4f4235281c0f0000000000000000030d17212b353d474f5860696e787f868e93999fa3ababaca8a9a29e9d9b9b9a9b9c9d9fa3aaa9aba9a19e98928c857d736d665d564c443a32291e150a000000000000000000000000000007101b242d363e474f585f666d737c82878e92989b9ea2a9a6a8aaa8a7a6a6a6a7a8a9a8a6a8a19e9a97928c86807a716c615e564d453c342b22190e0500000000000000000000000000000a141d262d333f454d53565d606467696a6b6c6c6b6b696764615e5653504a423e36302920272f353e41495053555d606466686a6b6c6c6c6b6b696765625f5855534e47423c3328221c140b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080b0d0e13131313131313130d0c0a0602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002060a0c0d13131313131313130e0d0b08030000000000000000000000000000000000000000000000000000000000000000000000060b0f12131b20202020202020201d1413110d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202d394653606c798686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796c605346392d2013000000131f2c3946525f6c7985929faca295887b6f6255483c2f221509000000000000030d1925303a44505a616e7b86929fa7afacabadb3ac9f9386796c605346392d2013000000000000000000000009121b242d353e464e555d606c707980868c91969a97918e8c8988878685868788898c8f91979a96918c868079706c615d564e463e352d241b120900000000000000000000000000000000000000000009121b242d353e464e555d606c707980868c91969a97918e8c8988878685868788898c8f91979a96918c868079706c615d564e463e352d241b120900000000000000000000000000020e1925303b444e58606b6f7b838b92979c9fa4a9a19e9c9a9a999a9c9ea1a39f9c97928d857e776e6d737e8690959d9fa7a8aba49f9f9f9f9b8e8275685b4f4235281c0f00000000000000010b151f29333d474f59606a6f7b838c92999fa4abadaaa29f9b979792908f8e8e8e8f909298989d9fa7acaaa29f97918880786d685e564c443a30261c1106000000000000000000000000050e19222d363e485059616a6f7980878f93999fa3aaabaaaaa29f9d9b9a9a999a9a9b9d9fa2aaa9aba9a19e98928d857e756d685f574e463c342a20170c0300000000000000000000000006111b262f383f4451575f61686d7073767778797978777673716d6864605c545046413a322a313940454f535b6064676d707375777878797978777674726f6a67625f57534d453f332d261d140b0200000000000000000000000000000000000002080d10121313131313131313131313131313131313131313131313121211100e0b09070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060f131313131313131311070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090c0f111213131211100e0c0a07060401000000000000000000000000000000000000000000000000000000000013202d3946535f6c767979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979766c5f5346392d2013000000131f2c3946525f6c7985929faca295887b6f6255483c2f2215090000000000010b151f2a36414c56626c76828f98a3aca49f9ea1a9b39f9386796c605346392d20130000000000000000000007111b242d363e474f5860676d747d848c929897928d8985827f7d7b7a7979797a7b7d7f8285898d929798928c857d756d6860584f473f362d241b11070000000000000000000000000000000000000007111b242d363e474f5860676d747d848c929897928d8985827f7d7b7a7979797a7b7d7f8285898d929798928c857d756d6860584f473f362d241b110700000000000000000000000005111e2a36414c56606a6f7d8590959ea1a9a29e9997928f8e8d8d8d8f9197999ea1a29f97928b827a747f8b92989fa7a9a19e999993929292998e8275685b4f4235281c0f0000000000000007121d27313b454f59606b707c8590959fa3abaea9a19e98928e8a87858382818181828386888b90959b9fa4aca9a19a938d837a6d685e564c42382e23170d0400000000000000000000020d17202b343e48505a616b707c838c92999fa4abaca7a09d999892908f8d8d8d8d8d8f909298989c9fa4abaaa29f97928a827a6e6960584e463c32291e150b0000000000000000000000000b17222d384149505b62696e747a7d808384858685858482807e7a76716d66615a524c443b333a434b515961656c71757a7d80828485858685858483817e7c78746e6a625f5751443f382f261d140a0000000000000000000000000000000000060d14191c1f1f202020202020202020202020202020202020202020201f1e1e1c1a18161413100c070501000000000000000000000000000000000000000000000000000000000003080c0e0e131313131313130f0e0c09040000000000000000000000000000000000000000000000000000000000000003070b0d0e131313131313130e0e0c080300000000000000000000000000000000000000000000000000000000000000000001040707090c0e101111121313121211100f0d0b0907060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f131516191c1e1f1f201f1e1d1b19161413110d0801000000000000000000000000000000000000000000000000000000121e2b37434f5a646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e12000000131f2c3946525f6c7985929faca295887b6f6255483c2f221509000000000007121d27313946525e68717e8b949faaa49a939297a1ad9f9386796c605346392d2013000000000000000000060f19232d363e485059616a6f79818a919797918b85817c797572706e6d6d666d6d6e707275797c81858b919697918a817a6f6a615951483f362d23190f060000000000000000000000000000000000060f19232d363e485059616a6f79818a919797918b85817c797572706e6d6d666d6d6e707275797c81858b919697918a817a6f6a615951483f362d23190f0600000000000000000000000714202d3946525e686f7c869297a0a7a49d97928c888582818080808285888c91969ea1a29f948f84818c919fa3aaa39f97928d898685858687898275685b4f4235281c0f000000000000000c18242f39434d57606b707d8692979fa7aeaba39f96918b86817e7b7876757474757677797c7f83888e939a9fa7aca49f9590837a6d685e544a3f34281f160c0100000000000000000009141f29323d46505a626c717d8690959fa3ababa49f9b95908c898584828180808081828385888b8f93999fa2aaa9a19e938f847b6f6a60584e443b30271d120700000000000000000000030f1b27333f49535b606d727b81868a8d909192929292918f8d8a86837e78716c615e564d453c444c555d606c70787d82868a8c8f909192929291918f8d8b8884807b756e69625b504a42382f261b11060000000000000000000000000000000810181f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a29272523201f1c1813110d08020000000000000000000000000000000000000000000000000001090f14181a1b202020202020201c1b191510090200000000000000000000000000000000000000000000000000000001080e1317191a202020202020201b1a18140f0901000000000000000000000000000000000000000000000000000000000206080d11131416181a1c1e1e1f1f201f1f1e1d1b1a18161312100b060603000000000000000000000000000000000000000000000000000000000000000000000000060a0e1011131313131313100f0d0a05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10151b1f222226292a2b2c2c2b2b2a28252321201d19130c0400000000000000000000000000000000000000000000000000000f1b27333e49525a5f60606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605f5a52493e33271b0f000000131f2c3946525f6c7985929faca295887b6f6255483c2f22150900000000020b18232f39434f59616d7a85929ea6a99f938785929eab9f9386796c605346392d20130000000000000000030c18212b353e48505a626b707c848e9398928c857f7974706c6666636161605c6061616366666c7074797f848b9298938e857c706b625b51483e352b21180c03000000000000000000000000000000030c18212b353e48505a626b707c848e9398928c857f7974706c6666636161605c6061616366666c7074797f848b9298938e857c706b625b51483e352b21180c0300000000000000000007131f2c38444f59616e7a859198a2a9a39f928d85807b78757473737475787b7f848b91969ea59f96918d929ca4a9a199928c85807c797878797a7d7e7164574a3e3124170b00000000000004101d2935404b555e69707d879298a2a9b1a8a099928c847f7a75716e696a6868676869666d6f72767b818790959da4afa79f9590837a6d665c50443e31281d13070000000000000000030d1925303b444e58626c717e879298a0a7afa79f99938e88837f7c79777574737373747577797c7f83878d92989ea5ada59e9691857c6f6a5f564c42392e23180c030000000000000000040f19232b3744505b656c747f868d92989a9c9d9e9f9f9e9e9c9a9992908a847e756d685f574e464c565d676d747d838a8f9299999b9d9e9f9f9f9e9e9c9a9896918d87817b726d605b544a41382d22170b040000000000000000000000000006101a222a30353839393939393939393939393939393939393939393939393838373634322f2d2c2923201d19130f0a0300000000000000000000000000000000000000000000030b131a202427282d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000000000000000020b12191f2326272d2d2d2d2d2d2d282724201a130b0300000000000000000000000000000000000000000000000000040a0f1214191d2021232527292a2b2c2c2c2c2b2b2a28272522201f1c1715120f0a050200000000000000000000000000000000000000000000000000000000000000040b11161a1d1e2020202020201d1c1916100a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181d1f272b2e2f3235373839393837363532302d2c29241e160d04000000000000000000000000000000000000000000000000000a16212c3740494f535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534f4940372c21160a000000131f2c3946525f6c7985929faca295887b6f6255483c2f221509000000000a141d2934404b55606b74818e97a1ada1978e8183909da99f9386796c605346392d201300000000000000000b151e2a333d47505a626c717d8691969490867f79726d6763605b54565554535053545556545b6063676d72797f858f949791867d726d625a50473d332a1e150a0000000000000000000000000000000b151e2a333d47505a626c717d8691969490867f79726d6763605b54565554535053545556545b6063676d72797f858f949791867d726d625a50473d332a1e150a0000000000000000000915222f3b4854606b75818e97a1aaa399928a8079736e69696767666769696e73797f848e939fa3a19e9a9da4a8a09691877f79736f6d67666c6e70716c6155493c3023170a000000000005101a232c3945515d676e7b859299a2aab1a79f9691878079726d6764615e575c5b5b5b545c6062656a6e747c838d929fa3aba7a0959082786d60594f433a2f24180d02000000000000010b151f2a36424d56606a717e889299a2aaafa49c959087817c77726f6d6668676766676768666c6f72767b80868e939fa3aaa8a09792867c6f685e544b40342820150900000000000000000b16212c38444f59606c77818b92999fa2aaa9a8a09e9c9b9c9d9fa29f9c96918a827a6e695f584e555d686d79818a90959c9fa3aba39f9e9c9b9c9d9ea1a9a8a19e99938e867f746c665b53493f332720150a000000000000000000000000020d18222c343b4144464646464646464646464646464646464646464646464645454443413e3c3a38342f2d29241e1a150f0a0400000000000000000000000000000000000000010b151d252b303435393939393939393534312c261e150c000000000000000000000000000000000000000000000000000b141d242b303334393939393939393534302b251d150b0100000000000000000000000000000000000000000000070c10151a1f2124292c2d303234363738383939393838373533322f2d2b2823211f1b15120e090300000000000000000000000000000000000000000000000000000000050d151c2227292a2d2d2d2d2d2d292926211c150d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d151d24292c32373b3c3f4244454646454443413f3d3a39352f281f160c0100000000000000000000000000000000000000000000000005101b252e373e4346464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646433e372e251b1005000000131f2c3946525f6c7985929faca295887b6f6255483c2f22150900000006111b262f3845515c67707d89939ea9a69e91857a84919daa9f9386796c605346392d20130000000000000007121d27303c454f59626c717e879298938c827b726d67605c5553504a4d505152535352514e4a5053555c60676d727b828b929892877f726c61594f453c30261c11060000000000000000000000000007121d27303c454f59626c717e879298938c827b726d67605c5553504a4a484746444647484a4a5053555c60676d727b828b929892877f726c61594f453c30261c11060000000000000005111d2a36414c56636f7c89939ea9a59f92877e746d67625f575b5a5a5a575f62666d7279818c9299a3aba7a9aca09691847c736d6762605c5b60616364615a5045392d21140800000000000b16212b37434e58606d79839097a1abb1a79f9590847c736d67605d5554524d4f4e4e4e4a505355585f626a6f78808a9299a3aba79f948d80736b61554b4035291f140900000000000007121d27313946525e696f7c86929aa3ababa39f928d837c756f6a6662605c545a5a5a5a5a545b606265696e747b818a9298a2a9a9a19891847a6e665c51453c31261a0e0500000000000003101b27323b4854606b73808c939fa3aba9a19e9896918f8f8f909297989d9f9e938f847b6e6a5f565d676d7a838e939da0a7a59e9b999291908f8f909297979c9fa6a49f98928b81786c655b50443c32261b0f05000000000000000000000008141f2a343e464d5152535353535353535353535353535353535353535353535251514f4d4b494745403a3935302b26201b150c0700000000000000000000000000000000000009131d272f373c40414646464646464642413d3730271e0e050000000000000000000000000000000000000000000000030d1d262e363c3f414646464646464641403c372f271d13090000000000000000000000000000000000000000070c12181c1f262b2e2f35393a3c3f414344444546464545444342403e3c3a38342e2e2b26211e1a140f0a0400000000000000000000000000000000000000000000000000040d171f272e3336373939393939393635322d261f160d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a10191f272f35383c4347494c4f515252535251504e4c494745413a31281e13080000000000000000000000000000000000000000000000000009131c252c33373939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393937332c251c130900000000131f2c3946525f6c7985929faca295887b6f6255483c2f2215090000000b17222d38414e58606d7984919ea5aa9e948a7e7885919eab9f9386796c605346392d2013000000000000000c18232e39434d57606b717e8b929992887f786e69605d55514b5153575a5c5e5f5f5f5f5d5b5854524d51555c60696e767f879298928b7e716b60574e42382e23170c030000000000000000000000000c18232e39434d57606b717e8b929992887f786e69605d55514b514f4b443b3a3a383a3a3b3d3f44464b51555c60696e767f879298928b7e716b60574e42382e23170c030000000000000713202d3946525e6875828f9ca5ab9e938b7e716c605d55534d4e4d4d4d4d53545c60676d757f87929facb4b7aa9e91847b6f6a605d55535150535456575550483e33281c11050000000004101c27333a47535f6a74808d95a0a9b2a89f9590837a6f6a605c55514b484642424141423f4446494e53585f666d737e879299a4afa69f93887d70675d51453b30251a0e0200000000000c18232f3943505a616e7b859198a3acaca399928b80786f6a625f585653504a4e4d4d4d4e4a505355575e61696e757e869297a2aaaaa1969082786d60574e42372b21170b0000000000000713202c38444f5963707d88939fa5aea69f97918c87848382828385888b90959d9e9691857c6e685e606d798390959da5a8a09d938f8a86848382828385878b8f949da0a7a29f938e81776c60584e43372b21160b00000000000000000000000d1925303b4650585d5f6060606060606060606060606060606060606060605f5f5e5d5c5a585653514b4746413a37312b262018120b03000000000000000000000000000000030f1a252f3941484d4e535353535353534f4d4942393020170d02000000000000000000000000000000000000000000010b151f2e3840474c4d535353535353534e4d4841392f251a0f030000000000000000000000000000000000030b12181c23282c31373a3b414547494b4d4f5151525253525251504e4d4b4946443f3c3a37312d2a251f1b160f0a0400000000000000000000000000000000000000000000000b151f2931393f424446464646464643423e3831281f150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b131c222b31394045474e5455595c5d5e5f5f5e5e5d5b585654514c433a2f24190d01000000000000000000000000000000000000000000000000010a131b21272b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a0100000000131f2c3946525f6c7985929faca295887b6f6255483c2f2215090000040f1b27333f49535f6a73808c96a0aca2988f82757985929fac9f9386796c605346392d201300000000000004101c2834404b555f69707d87929892877e726c665f57514d53555c606467696b6c6c6c6b6a6865615e57544f51575e616d727d86929792877d706a5f544a3f3428201509000000000000000000000004101c2834404b555f69707d87929892877e726c665f57606060605e5c564e44392d2c2d2e323f49515759606060575e616d727d86929792877d706a5f544a3f34282015090000000000000714212e3a4754616d7a86929faca3998e81756d625a514b47424140404142474b51555e69707c86929facb8b0a3968a7d70696058514b46454446474a4a49453e362c22170c00000000000714202c38444f59626e7c87929fa7b1aaa1969083796d685f58514b45413b3a363035342e34383a3c43474e545c606c717e87939fa5afa49a9185796d60574d42362a1e11050000000004101c2934404b55616c76828f97a1aaafa49a92877e736d665f58534e4946443f41404040413f4446484d53565e616c717c859298a2aca89f948d80736a5f53473e33281c100400000000000916222f3b4854606b7683909aa4afa89f948f847f7a7776757676787b7f838990959c9791847a6d666c75818f959fa7a79f959189827e7a7776757676787b7e828990959ea5a59d938c7f736a5f53473d33271c100400000000000000000003101c2935414d5862696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6b6a69676562605c5554524c47433c373228231d150c0700000000000000000000000000000814202b37414b53595b606060606060605c59544b4232291f140900000000000000000000000000000000000000000007121d2731404a52585a606060606060605b59534b41372b20140800000000000000000000000000000001070c151d23282e34383c4347484c525456585a5c5d5e5f5f5f5f5e5e5d5b5a585553504a4847433c3a36312b27201b150d0802000000000000000000000000000000000000000006111c27313b434a4f51535353535353504e49423a31261c1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b141c252e343d434b515358606265686a6b6c6c6b6a69686563605d554c4135291d110400000000000000000000000000000000000000000000000000010910161b1e202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201e1b161009010000000000131f2c3946525f6c7985929faca295887b6f6255483c2f22150900040d1a232b3744505b656f7c87929fa8a79f92867b6e7986939fac9f9386796c605346392d20130000000000050f1a232c3845515c676e7b85929992867d716c605b544d51575f61676d70737677787979787775726e69636059524d525b626b707c85929892857c6e665c50443c31261a0f04000000000000000000050f1a232c3845515c676e7b85929992867d716c605b63666c6c6c6c6b6760564b3f331f25303b44515b62656c6c6c6c6c67646b707c85929892857c6e665c50443c31261a0f0400000000000b1825313e4b5864717e8b99a3ac9f92867b6e625a504540393731343331373c45515c676e7b859299a3aeabaea99c9083786c60564c413a3838393b3d3e3c39332c241a100500000000000916232f3c4855616b76828f99a3afaea39891847a6d675e564e454039352f2d2a25282823282c2d31373c424a505a616c727f8b939ea8aca1978c8073695e52463a2d2014070000000006131f2c3845515c67707d8a949fa9b0a69f93887e716c605c544e47433c3a38342e3433342d3338393c42464d525a616a6f7c86929aa4afa69f92877b6e62594f44392d20150a00000000000a1623303d495663707c89949facaca0958f827a726d686968696a696e72767d838c929f968f82786d717e8b939ea7a79f9590837d75716d676968696a696e71767d838e939ea5a59f92877c6f62594f44382c20140700000000000000000005121f2b3844515d697479797979797979797979797979797979797979797979797878777674716f6d6764615d56534e47433c342e271e191008000000000000000000000000000c1824303c48535d64686c6c6c6c6c6c6c68655d54443b3025190e0000000000000000000000000000000000000000000c18232f3943525c64676c6c6c6c6c6c6c68645d53483c3024180c0000000000000000000000000000030b12181e272e34394044464e5355565d60636567696a6b6b6c6c6c6b6b6a68666562605c5455534e4846423b37322b262019130c04000000000000000000000000000000000000000a16222e39434d555b5d6060606060605c5a544c42382d21160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131c262e3740464f555d60656a6f7275777879797877767472706d675d5145392c201306000000000000000000000000000000000000000000000000000000050a0f1213131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313120f0a0500000000000000131f2c3946525f6c7985929faca295887b6f6255483c2f221509010c161f2a36414c56606c77839099a3aba0958c7f726d7a879aa4af9f9386796c605346392d201300000000000b16212b37434e58606d7983919792877d706b615a504d555c60696e74797d8082848586868584817f7b76706b605d564e5159606a6f7c8692979083786d60584e43372b21160a0000000000000000000b16212b37434e58606d7983919792877d706b615a636d72797979797772675c4f43372a2a36414d56626d727979797979746e646a6f7c8692979083786d60584e43372b21160a00000000000e1b2834414e5b6774818e9aaba99c8f8276695f53483f352f2b262727313c46515b606d79839097a1aaa29fa2aa9f948b7e71685e52463c322b2d2e3031302d28221a1208000000000005121e2a36424d5763707d89949fabb2a89f92867c6f685e554c443c342e2924201e1a1b1b171c1f20262b30383f44505a626d75818e96a0aca79f92867b6e6154473b2e21140800000003101c28343f4a54606d7984919ea6b0aa9e948c7f736c625a504a423c37322d2c282327272722282b2d31363b42465058606a707e88939fa8aea3998f82766c6155493c31261b0f0000000004101d2935404b556774808d9aa6b0a99d91837a6d68615e565c5c575f61656b7078808b9399948c7f737a85929fa5aba095908279706b64605d555c5c565e61646b7079818e939ea8a3999083776b6054483c2f22160900000000000000000006131f2c3946525f6c79868686868686868686868686868686868686868686868685848482807e7c7975716d68625f58534e454039302a221a11090000000000000000000000000e1a2734404d59646f7479797979797979756f65564d42362a1c11060000000000000000000000000000000000000004101c2934404b55646e7479797979797979746f64594d4034271a0e00000000000000000000000000040d151d2329303940454a5153585f6266686d6f7274767777787979787877767573716f6d6666625f5854534d47433d373129241e160e060000000000000000000000000000000000010e1a27333f4a555f676a6c6c6c6c6c6c69665e54493e3226190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101b252e384049515960676d71777c7f8284858586858483817f7d796d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929faca295887b6f6255483c2f22150907121d28313946525e68727e8b949faba3999083786d6e7a8794a1b69f9386796c605346392d20130000000004101c27333a47535f6a73808c95928b7f726b6159504d575e676d737b81858a8d8f9192929292908e8b87827d756d685f584e4f58606a707e8793958c7f726a5f53473d32271b0f040000000000000004101c27333a47535f6a73808c95928b7f726b61595966727f8686868684776b5e51443826303846525e68727f8686868686817467606a707e8793958c7f726a5f53473d32271b0f0400000000101d2a3743505d6a7683909da9a5988c7f7265574d423629241d1a242f39434e58626d74818e959fa9a29892989fa69e92857a6d61584e43372b2021232423211c1710080000000000000714212d3a46535e6975828f9ca6b0aca0968c7f736a60564c433a3228231d1814120e09060c1012131a1e262e343e48515b606d7984919ea09d95908a807366594d4033261a0d00000006121f2b3844505c66727f8c96a0acaea2988f82776c605a50443f38302b26201f1c171a1a1a171c1f20252a30363e464e58616c73808d96a1acab9f948a7d7064584e43372b1d120700000006131f2c3945515d677784909daaada1978a7d70675e56524c4f4f4d53555960666d737e87939f92867b7f8c97a2ada39990837a6d67605954514c4f4f4d52545960676d78818f96a0a49f95897d7063564a3d3023170a00000000000000000006131f2c3946525f6c7985929393939393939393939393939393939393939399929291908f8d8b8985827e7a756f6a625f58514b433c342c231b120900000000000000000000000e1b2835414e5b687481868686868686868175695e5246382d22170b0000000000000000000000000000000000000006131f2c3845515c677480868686868686868174685b4e4135281b0e000000000000000000000000050e161f272f343d434b51545c60646a6e72767a7c7e808284848585868585848381807e7c7976736f6a66615e57544e47433c3530282017110a0200000000000000000000000000000003101d2936424f5b6771777979797979797670665a4e4235291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c19222d37404a525b636b6f797e84888c8f909192929191908e8b897f7266594c3f3326190c0000000000000000000000000003080c0e0e131313131313130f0e0c09040000000000000000000000000000000000000000000000000000000000000003070b0d0e131313131313130e0e0c0803000000000000000000000000000000000000000000000000000000000406070b0e11121313131313130c0c0a0602000000000000131f2c3946525f6c7985929faca295887b6f6255483c2f2215090b18242f39434f59616e7a85929fa6a89f92877c6f666e7b8894a1ac9f9386796c605346392d2013000000000714202c38444f59626f7c8792968e81746d62594f4d575e696e7980868d92989a9c9b999898999b9b9a938f89827a6f6a5f574d4e58616c737f8c9592867c6e62594f43382c20150a000000000000000714202c38444f59626f7c8792968e81746d62594f5966727f8c93939184776b5e5144382e38424f59616e7b8692939391857a6d6058616c737f8c9592867c6e62594f43382c20150a00000000121f2b3845525e6b7885919eaba295897c6f6256493c31231817202935404b555f6a727f8b939da7a298928590949fa1978e81746a5f53473c32261b17171714110c05000000000000000815212e3b4854616e7b87939facb2a89d9184796d60584e443a31292018120d0705020000000306090c151c2328363f45515d676f7d899395908a837e776c605346392d2013060000000713202d3a4653606d7884919ea8b2a99f92867b6e655b50483e342e261e1b1312100c060d060b0f12131a1f252a343d46505a606d7984919ea8b0a69c8f83766a5f5347392e23180c0000000714202d3a4753606d7a86939facab9e9285786c60554c464142434246484f545c606c727f8b9398908385929ea9ab9f92877c6f685d554f47454142434246474f555d666d7984919b9a93908c8276695c4f4336291c1003000000000000000006131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9e9e9d9c9a9898928f8b86817c756f6a605c554e463e352d241b1209000000000000000000000916232f3c4956626f7c89959393939392867b6e61544a3f33281c0f030000000000000000000000000000000000000714202d3a4753606d7985929393939395897c6f6356493c302316090000000000000000000000050f172028313940454f555c60666d71777b7f8386898b8d8f9091929292929191908e8d8b8885827f7c77736e69626058534e46413a3228221c140b03000000000000000000000000000004111e2a3744515d6a77838686868686868276695c504336291d10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e2b343f49525c646d737c848b9095989b9d9e9f9f9e9d9c9b988c7f7266594c3f3326190c000000000000000000000001090f14181a1b202020202020201c1b191510090200000000000000000000000000000000000000000000000000000001080e1317191a202020202020201b1a18140f0901000000000000000000000000000000000000000000000001070c101314171b1e1f202020202020191816120d070000000000131f2c3946525f6c7985929faca295887b6f6255483c2f22150a141d2935404b55616b75818e97a2aca1968d80746a626f7b8895a2ac9f9386796c605346392d2013000000000916232f3c4855606b768390999184796d605b514b555e696e7b838d92999f9c96918e8c8b8b8c8e92979e9c938f847c6f695f564c505a606d788390988f82766b6054483d32271b0f000000000000000916232f3c4855606b768390999184796d605b514c5966727f8c999e9184776b5e514438343f4a54606b75818e989e948a7e71685d525a606d788390988f82766b6054483d32271b0f00000000131f2c3946525f6c7985929faca194887b6e6155483b2e22151f29333b45515d676f7c86929fa5a49a92867b829099a39f93877c6f62584e43372b20150a0a0805000000000000000005121e2a36424d576673808d99a4afaca0968a7e71665c51463c32281f170e0700000000000000000000030a1117242935414b55606b75818e8a837d78706c655b5044372b1f1205000005111e2a36414c5664707d8a96a1adada1978c7f72695e53493f3628231c140c0a060300000000000306090e1419222b343e45515d67717e8a96a0acab9f94887c6f62544b4034281c100400000815212e3b4854616e7b879aa4afa89b8f8275655b50433a363031363a3d424a515a626d75818e9794909297a1ada3998d80736a5f564c433d39352f30363a3d434b545d67707d8a8e8b87837f7c6f6255493c2f22160900000000000000000006131f2c3946525f6c7985929facacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a6a6a7aaa9a7aaa29f9b99928e87827c736d675f584f473f362d241b10070000000000000000000915222e3b4854606a7783909daa9fa3998c7f73665b5044382b1f1409000000000000000000000000000000000006121f2b37434e5864717e8a97a29f9f9d9083776b6054483b2f22150900000000000000000000050e172129323a434b515960676d72797e83888c909399989a9c9d9e9e9f9f9f9e9e9d9b999898928f8c8884807b756f6a625f58524c443d332d261d150c040000000000000000000000000004111e2a3744515d6a778490939393938f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303d46515b646e737f8791969da0a7a8aaa8a4a2a0a0a0a1998c7f7266594c3f3326190c00000000000000000000030b131a202427282d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000000000000000020b12191f2326272d2d2d2d2d2d2d282724201a130b03000000000000000000000000000000000000000000060b12181c1f2024282a2b2c2d2d2d2d2d2625221e18120a01000000131f2c3946525f6c7985929faca295887b6f6255483c2f2215111c262f3845515d67707d8a939ea9a59e9184796d60626f7c8895a2ac9f9386796c605346392d201300000007131f2c38434f5963707d899593897d70675d5145515d676e7b8490959f9f948f898481807e7e7f82858a91969e9691857b6e685d5245505c666f7c879294897c6f63584e43372b1c1106000000000007131f2c38434f5963707d899593897d70675d51494c5966727f8c999e9184776b5e5144383844505c666f7d89939e988f82756c61564c505c666f7c879294897c6f63584e43372b1c110600000013202c3946535f6c7986929faca093877a6d6054473a2d211a25303b45505a606d79839199a3a59f93887e707c87929fa49a8f82756a5f53473c32261b0f01000000000000000000000714212d3a46535f697784919eabb5ab9d9184786c60544b40342b20160d0500000000000000000000000000061218242f3a434f59616e7b837e78716c65605b53493f33271b0f0300000714202d3946525e6876828f9ca8b2ab9e9185796d60574d41382d2417110a02000000000000000000000002091019222935404b55606c7884919dabb0a69a8e8174665c5145382c1f130600000916222f3c4955626f7c8895acb6a79a8d81746753493f312a25262a2d30394044515b616d7a85929f9c9ea1a9ac9f92867a6d61584e433a312c2924252a2d3139424b55606c7783827e7a76736f6a6054473b2e22150800000000000000000006131f2c3946525f6c7985929facb8ada39c9898989898989898989898989898999a9b9d9fa3aaaaacaba39f9a938f8780796f6a615950483f362d22190f05000000000000000007131f2c38434e5865727e8b98a2aeab9e9184786c6053463b30251a0e00000000000000000000000000000000000814212e3a47535f6a7683909ca9aea2988b7f7265594f43382c1f1307000000000000000000030d172029333b444c555c606b6f797f848b9095999c9fa4aba7a9a9a8a7a6a6a7a7a8a9a8a6aaa29f9c9995918c87817c766f6a615d564f443f382f271e160d0400000000000000000000000004111e2a3744515d6a7784909d9f9f9c8f8376695c504336291d100300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e38424e58626d73808c9299a0a8acaaa39f9b979594939394958c7f7266594c3f3326190c000000000000000000010b151d252b303435393939393939393534312c261e150c000000000000000000000000000000000000000000000000000b141d242b303334393939393939393534302b251d150b01000000000000000000000000000000000000020a11171d23292c2d3134373839393939393933322f2a231c130a000000131f2c3946525f6c7985929faca295887b6f6255483c2f221517222d38424e58606d7984919ea5a99e938a7d70675d626f7c8995a2ac9f9386796c605346392d20130000000915222f3b4854606b7683909a8e81756b60554b4e58606d798390969f99928b827c78747372727375797e848e939d9791847a6d605a504a545f6a74808d988f82766a605447382e23170c00000000000915222f3b4854606b7683909a8e81756b60554b414c5966727f8c999e9184776b5e514436414c56606d7883909d9f92867b6e615a50444a545f6a74808d988f82766a605447382e23170c000000121f2c3945525f6c7885929faba194877a6e6154473b2e21202a36424d57616c74818e95a0a89e938c7f736c74808d97a29f93877c6f62584e43372b1e1308000000000000000000000815222e3b4855616e7b8896a0acafa3998c7f72665b5042392e22190e0500000000000000000000000000000007131d28313d46535f696e77716c65605b53504941382d22170b0000000814212e3b4754616e7a87939facafa3998c7f72675d51453b2f261b1206000000000000000000000000000000071018242f3944505b66727e8b99a3aeac9f9285796d6053463a2d2013080000091623303c4956636f7c8996a2afa69a8d8073675a4d403025191a1e21272e343f46525e6873808c99a3abadb3a89c8f8275685e52463c3128201d19191e2027303944505b656c7675716d68666260584e43372b1f130600000000000000000006131f2c3946525f6c7985929facb8a79c918c8b8b8b8b8b8b8b8b8b8b8b8b8b8c8d8e909298999da0a7aaaca49f99928d837c706b625a50483e342b21170d0300000000000000030f1b27323d4754606d7a85929facaca1968a7d7063574d42362a1c110600000000000000000000000000000004101c2934404b55626e7b88949fabac9f92867a6d6054473d32271b0f030000000000000000010b151f29333b454d565d676d747c848c91969da0a7a9aca8a9a19e9c9b9a9a999a9a9b9d9fa2a9a6aaa9a7a09d99928e89827c746d686059504a423930281f160c01000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606a727f8b929fa3abaca49f98928e8b8887868687898b7f7266594c3f3326190c00000000000000000009131d272f373c40414646464646464642413d3730271e0e050000000000000000000000000000000000000000000000030d1d262e363c3f414646464646464641403c372f271d13090000000000000000000000000000000000030b141b22272f34383a3e4144454646464646463f3e3a352e251c12070000131f2c3946525f6c7985929faca295887b6f6255483c2f22151c28333f4a545f6a73808d96a1aca2978e81756b6155626f7c8995a2ac9f9386796c605346392d2013000004101c2934404b55636f7c899493877c6f62594f4754606a74808d95a09892877e766f6c6566656566666d7179818e939d968e81756c61554b4e58616e7b869294897c6f62544a3f34281c100300000004101c2934404b55636f7c899493877c6f62594f433f4c5966727f8c999e9184776b5e51443846525e68727f8b959f958b7f72695e53483e424e58616e7b869294897c6f62544a3f34281c10030000111e2b3844515e6b7784919eaaa295887c6f6255493c2f2428323a46525e69707e8a939da8a0958e81776c606d7a85929fa49a8f82756a5f53473a2f24190d010000000000000000000c1825323f4b5865727e8b98a8b2ac9f92867a6e61544a3f30271d100700000000000000000000000000000000010c161f2a36424d575f616a64605b535049443f382f261b11060000030f1b27333f495364717e8b9aa4afac9f92867a6e61554b4033291d140a000000000000000000000000000000000007121d28333f4a54616d7a86929facaea298897d706356493d2f24190d01000916222f3c4955626f7c8895aab4a79b8e817468564c41362a24201d191c232a36414c56616e7a86929facb9b3a9978a7e7164564c41342a1f161d1d1d1d151e27333f49535b606a6864615e5655544e463c32271b0f0300000000000000000006131f2c3946525f6c7985929facb2a5988c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f80818386888c91959c9ea6acaba39f9591867d716c625a50463d33291f140900000000000000000a16202c3945515d6774818e9aa7b1a89b8f8275695e5246382e23170b00000000000000000000000000000006131f2c3845515c6774808d9aa6b0a79b8e8174685d5245392b21160a00000000000000000007121d27313b454d575e686d79808791959ea1a8acaaa29f9b979791908e8d8d8d8d8e8f909297979a9ea0a8ababa39f9b948f87817a706b605b544b433a31281d1307000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040707121f2c3844505c666f7c87929fa4afaaa39a938d86817e7b7a797a7a7c7e7d6f6356493c302316090000000000000000030f1a252f3941484d4e535353535353534f4d4942393020170d02000000000000000000000000000000000000000000010b151f2e3840474c4d535353535353534e4d4841392f251a0f03000000000000000000000000000000030c151d262d33394045474a4e51525353535353534c4b463f372e23180d0200131f2c3946525f6c7985929faca295887b6f6255483c2f221a242b3844505b666f7c87929fa8a69f92857a6e615956626f7c8995a2ac9f9386796c605346392d2013000006131f2c3845515c6775818e9b8f82756a5f53474d57626f7c87939f9f92867d716c62605b535858545c60676d77818e959e938a7e71675d5146525e6974818d9a8e8174665c5044382c1f120600000006131f2c3845515c6775818e9b8f82756a5f53473d3f4c5966727f8c999e9184776b5e5144424e58616d7a85929f999083786c60574d42363c46525e6974818d9a8e8174665c5044382c1f12060000101d293643505c6976838f9ca9a4978b7e7164564c413529303a44505a616e7b85929ea5a3989183796d655d6873808d98a39f93877c6f62564c4135291d1104000000000000000004101d2935404b556875828f9ba8b5a99c908376685e5242382d1e150b000000000000000000000000000000000000040d1a26313b454d53555d57535049443f38332d261d140a00000005121f2b3744505b6575818e9bacb6a99c8f8276685e5243392f21170b020000000000000000000000000000000000010b17222d3846525d6875828f9ca8b4aa9a8d807367564c4135291d1104000814212e3b4754616e7a8798a2aeaa9d908377685e52463c352f2c2924272625303a46525e6876828f9ca9b6ada197877b6e6154483b302a2a2a2a2a2a2a2a2a222d38414950535d5b5854524c4947433c342b20150a0000000000000000000006131f2c3946525f6c7985929facada093877a7272727272727272727272727273737477797c8084898f949da0a7afa7a09892877e716c61584e453b30251a0d040000000000000004111d2935414b55626f7c88959fabac9f92877b6e61544a3f34281c100300000000000000000000000000000714202d3a4753606d7985929eabaca095897c6f63564c413529190f040000000000000000040e18242f39434d575e696e7a828d9399a0a8ada8a19e98928e8a878583818180808081828385878a8d9196999ea1a9aca69f99928d847d736c665c554b433a2f24180d010000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000000000000000000000000206080d1113141d2935404b55606d78839099a3aeaba3989288817a75716f6d6d6d6e6f716f6b6054483b2f22150900000000000000000814202b37414b53595b606060606060605c59544b4232291f140900000000000000000000000000000000000000000007121d2731404a52585a606060606060605b59534b41372b2014080000000000000000000000000000000b151e272f383f444b5153575b5d5e5f6060606060595751493f352a1e120600131f2c3946525f6c7985929faca295887b6f6255483c2f221f2a36424d57606c78839099a3ab9f948b7e71685e5256626f7c8995a2ac9f9386796c605346392d201300000714202d3a4753606d79859296897c6f63584e46535f6975828f9a9f948b7f726b615a5350494b4b4b51555d656d78839099999184796d6053474d56616e7b88959285796d6053463a2d2013070000000714202d3a4753606d79859296897c6f63584e43353f4c5966727f8c999e9184776b5e513f4a54606a74818e979f92877c6f665b50453b3136424d56616e7b88959285796d6053463a2d20130700000d1a2633404d596673808c99a9a79b8e8174685d52453b3136414c56616c75828f97a2a59f92867c6f675d56616e7a86929fa49a8e8174685d5245392c20150a000000000000000006131f2c3845515d677884919eabb6ac998c7f7266564c412f261c0c030000000000000000000000000000000000000009141f29333b424648504a46443f38332d27221b140b020000000613202d394653606c7885929eabb3a9988b7f7265564c4131271d0f050000000000000000000000000000000000000006111c2935414c5665727f8b98aab4aa9d918477685d5245392c201306000714202d3a46525e697885929fabac9f92867a6e61584e45403a39352f3433333236414c566673808c99a6b3ab9e928578695e53463a3737373737373737373737372f383f4446504f4b4746413c3b37322b2620180f0600000000000000000006131f2c3946525f6c7985929facada093877a6d656565656565656565656565666768666d6f73777c828990959fa4acaaa299928b7e716a60574d42362a1f160c01000000000000010d18242f3a47535f6a7683909da9afa3998c7f73665c5044382b1f14090a0a0a0a0a0a0a0a0a0a0a0a0a0a121f2b37434e5864717e8b97a2adaa9d9083776b6054443a2f2419070000000000000000020c16202935404b555e696e7b8390949fa4abaaa29f96918b86817e7b78767574737374747577787b7d8084888d92979ea1a8aba39f96918780786d675d554b4035291d11040000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214191d2021242c3945515d67727f8b95a0abafa39992867d746d6864626160606162656360594f43382c1f130700000000000000000c1824303c48535d64686c6c6c6c6c6c6c68655d54443b3025190e0000000000000000000000000000000000000000000c18232f3943525c64676c6c6c6c6c6c6c68645d53483c3024180c000000000000000000000000000007121d273039414950555c6064676a6b6c6c6c6c6c6c66635b51463a2f22160a00131f2c3946525f6c7985929faca295887b6f6255483c2f2228313a46525e69727f8b959faba3999082776c60564c56626f7c8995a2ac9f9386796c605346392d201300000a1724313d4a5764707d8a989184786c6053464855616e7b88949e9c9083786c60595046443f3f3f40454b535c666e7b878e8a86827c6f62554846535f6976839097897d7063564a3d2f23180c0000000a1724313d4a5764707d8a989184786c6053463c313f4c5966727f8c999e9184776b5e5144505b666f7c87939f968d80736a5f544a3f3329303b46535f6976839097897d7063564a3d2f23180c00000a1723303d4a5663707d8997a1ac9f92867a6d60574d43393946525e68717e8a949ea89e938b7f726a5f55525e6874818d9aa49f92867a6d6054473d32271b0f03000000000000000714202d3a4753606d7a86939facafa49a897c6f6356493c3023140a0000000000000000000000000000000000000000030d17212931363a3b443e3937332d27221b17110a02000000000815222e3b4855616e7b8897a1adada197887b6e6255483b3022150b0000000000000000000000000000000000000000000d1924303c4855626f7b8898a2aeaca095877a6d6054473a2d2114070005111e2a36424d566976828f9caaafa3998c80736a5f58514b4745414240403f3f3f3e4a5764717d8a97a4b0a99c8f827669574d4244444444444444444444444444444444444444444444444444443b3a37312a21180e03000000000000000006131f2c3946525f6c7985929facada093877a6d605858585858585858585858595a545c6062666b6f767c838d939aa3ababa39f92867c6f695e52463e31281d13070000000000000007131d2b37434e5864717e8b97a2adab9e9184786d6053463b31251a16161616161616161616161616161616212e3a47535f6a7683909ca9aea2988b7f7265594f4332281e1308000000000000000008131e28323a45515d676e7b8491959fa6afa7a098928c847f7a75716e6969686767666767686a696e7173777b80858b91969fa2aaa9a199938c81796d675d5145392c2013060000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000000000000000060c10151a1e2124292c2d30333f4a54606d7985929ea7b1a79f92877d706b615e565554535354565856544f473d32271b0f0300000000000000000e1a2734404d59646f7479797979797979756f65564d42362a1c11060000000000000000000000000000000000000004101c2934404b55646e7479797979797979746f64594d4034271a0e00000000000000000000000000040d18232e39434b535b60676d71747778797979797979726d63574b3e3225180c00131f2c3946525f6c7985929faca295887b6f6255483c2f242f3a43505a616e7b86929fa7a89f92867c6e655b504956626f7c8995a2ac9f9386796c605346392d20130004111d2935414c566874818e9a8d8073655b50444b5566737f8c99a096897d70665b50473e37332d2e3439414a545f697380827e7a766f6a5f5347424d5765727f8c988d817467554b4034291c10040004111d2935414c566874818e9a8d8073655b504437333f4c5966727f8c999e9184776b5e514c56606c7883909a9e9184796d60584e42382d212a36424d5765727f8c988d817467554b4034291c1004000713202d3a4653606d7985929eaaa2988c7f72695f554b43424f59616d7a85929ea6a1968f81756d62584e4c56616e7b87939fa2988b7f7265584e43372b1f1306000000000000000915222f3c4855626f7b889aa4afac9f93867a6d6054473a2d211407000000000000000000000000000000000000000000060f171f262a2d2e37312d2b27221b17110b060000000000000a1724303d4a5763707d8a96a9b3ab9e928578695f53473a2e2114030000000000000000000000000000000000000000000813202d394653606c7985929facb1a795897c6f6256493c2f23160900020e1925303f4b5865727e8b98a2aeab9f92867c6f6a605d5554524c4e4d4d4c4c4b4b4b5663707c8996a3afa79b8e8174685b505050505050505050505050505050505050505050505050505050504847433c332a201509000000000000000006131f2c3946525f6c7985929facada093877a6d60544c4c4c4c4c4c4c4c4c4c4c4d4a5053555960636a6f7980889299a3abaea39891857b6e615a50433a2f24180d00000000000000010f1b26323c4753606d7985929fabada1968a7d7063574d42362a23232323232323232323232323232323232934404b55626e7b88949fabac9f92867a6d6054473d3221160c0100000000000000010d1925303a44505a606d79839096a0a8b0a69e9591867f79726d6764615e575b5a5a5a5a5b5c575e6164676a6e73797e848c92989fa7aba49f938e82796d6053473a2d2014070000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000000000000000000000000000000000000030a11171c1f262b2e2f35393a3d4044505b66727f8b97a1adaca0958c7f736b6159524c4847464747494b4948433d352b21160a0000000000000000000e1b2835414e5b687481868686868686868175695e5246382d22170b0000000000000000000000000000000000000006131f2c3845515c677480868686868686868174685b4e4135281b0e000000000000000000000000010c161f2834404b555c656c71797d8184858686868686867f7266594c3f3326190c00131f2c3946525f6c7985929faca295887b6f6255483c2f2935414c55616c75828f98a2aca0968c80736a5f53494956626f7c8995a2ac9f9386796c605346392d2013000713202c3945525d6877849199897c6f62534945515d677683909d9e9184786c60544a3f352b272223282f38424d57636e7375716d68625f584e433b4854616e7b8797908477675c5145382c1f1306000713202c3945525d6877849199897c6f6253493f33333f4c5966727f8c999e9184776b5e53535d68717e8b959e93897d70675d51463c2f261c26313b4854616e7b8797908477675c5145382c1f13060006131f2c3845515c6773808c98a2aa9f92867b6e675d554c4a54616b75818e97a1a59e91847a6d605b514646535f697683909caa9d9083776a6054473b2e221509000000000000000b1724313e4a5764717d8a97acb6aa9e918477675d5145392c20130600000000000000000000000000000000000000000000060d141a1e21222a24201f1b17110b0600000000000000000c1926323f4c5965727f8c98a5b2a99c8f837669574d42372b1e120600000000000000000000000000000000000000000006121f2b3844505b667783909daab1a4978b7e7164584b3e3125180b00000914212d3a4754606d7a85929fa7aea29891847c726d6763605d565b5a59595858585857626f7c8995a2afa79a8d8074675d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d55534e463c31261a0f020000000000000006131f2c3946525f6c7985929facada093877a6d6054473f3f3f3f3f3f3f3f3f40403f4446494f545860676d737e879299a3aeaaa1978f82766c61554b4135291d1207000000000000000a151f2c3845515d6774808d9aa6b0a89c8f8275695e5346382e3030303030303030303030303030303030303845515c6774808d9aa6b0a79b8e8174685d5245392c201304000000000000000005111d2935414c56626d75818e959fa8b0a69e948f837b726d66605d5554534d4e4e4d4d4d4e4f4d525457585f62666d71797f8690959ea5afa59e948d8073665a4d4033271a0d0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000000003090c151c23282c31373a3b4145474a4d4e53606c7884919ea9b1a79d9083786c60594f46413c3a3a3a3b3c3e3c3b38322b23190f040000000000000000000916232f3c4956626f7c89959393939392867b6e61544a3f33281c0f030000000000000000000000000000000000000714202d3a4753606d7985929393939395897c6f6356493c3023160900000000000000000000000007131d28313a45515c676d777e848a8e909192999393938c7f7266594c3f3326190c00131f2c3946525f6c7985929faca295887b6f6255483c2f303845515d67707d8a939eaaa49a9184796d60584e414956626f7c8995a2ac9f9386796c605346392d2013000714212d3a4754606d7a87969286796d6053464753606d7a86939f998d8073655b5042382d231b17181d26303b45525c63666864615d56534e463c3a46535e697885919286796d6053473a2d201407000714212d3a4754606d7a87969286796d6053463a2d333f4c5966727f8c999e9184776b606060606d7a85929e978e81746b60554b40342a1d14212d3a46535e697885919286796d6053473a2d2014070004101c2834404b55616e7a86929fa6a2989083796d675e56515c66707d8a939ea99e938a7d70685d52493f424d5765717e8b98a3a095897c6f6256493c31261a0e020000000000000c1926323f4c5965727f8c98a5b2a99c8f837669554b4135291d1104000000000000000000000000000000000000000000000003090e1214151d1713120f0b06000000000000000000000e1b2834414e5b6774818e9aa7b3a79a8d8074675a4d4131261a0e02000000000000000000000000000000000000000000030f1c28333f4a546875818e9ba8b3a6998d8073665a4d4033271a0d00000713202c3945525d68737f8c95a0a8aaa19691867f7974706d6869686766666565656464646f7c8995a2afa6998c7f736a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a625f584e43372b1f12060000000000000006131f2c3946525f6c7985929facada093877a6d6054473a3232323232323232332e34383a3d43484e555c606c717e87929fa5afa99f948a7e71675d5145392e23180c0000000000000004101d2935404b55626e7b88949fabac9f93877b6e61544a3f3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d4753606d7985929eabaca095897c6f63564c4135291d110400000000000000000713202d3946525e68717e8b939ea7b1a79e948f82796e69605c54514b484642424140404141424246484a4e53545c60666d727b838f939ea8afa69a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000000000000000000000000000000050d141a1e262e34383c4247484c525457595b5563707d8996a0acab9f95897d70665b504745403a37322d2e2f32302f2c2721191007000000000000000000000915222e3b4854606a7783909daa9fa3998c7f73665b5044382b1f1409000000000000000000000000000000000006121f2b37434e5864717e8a97a29f9f9d9083776b6054483b2f2215090000000000000000000000010d18242f3a43515b606d79818b91969a9d9e9fa39f9f998c7f7266594c3f3326190c00131f2c3946525f6c7985929faca295887b6f6255483c2e38424e58606d7a84919ea6a99f93887d70675c51463c4956626f7c8995a2ac9f9386796c605346392d2013000a1623303d495663707d8996908377665c51454956626f7c8999a4978a7d706453493f2f261c0f0b0b151e2a33404a5257595b5754524c47433c3436424d576976828f99897c6f6256493c2f231609000a1623303d495663707d8996908377665c5145382c333f4c5966727f8c999e9184776d6d6d6d6d74808d979e92857a6d61594f433b322920171e2a36424d576976828f99897c6f6256493c2f23160900000c18232e3946525e68727f8b949fa89f958f82796e68615a606d7884919ea5a1978e81756b61564c41373b4754606d7a86929fa79a8d807467574d42372b1e12060000000000000d192633404c5966737f8c99a6b2a89b8e8175685b4e422f24180d010000000000000000000000000000000000000000000000000002050708110b060503000000000000000000000000101c2936434f5c6976828f9ca9b2a5998c7f7266594c3f3326190900000000000000000000000000000000000000000000000b17222d404d5a6773808d9aa6b3a89b8e8175685b4f4235281c0f000004111d2935414c56606d79839096a0a7a8a198928c85807d7a787675737372727271717171707c8995a2afa5988c7f777777777777777777777777777777777777777777777777777777777777776e6a5f53473a2e2114080000000000000006131f2c3946525f6c7985929facada093877a6d6054473a2d252525252525252623282c2d32383d434b515a616c727f8b939ea9b0a69e91847a6d60544b4034281c1004000000000000000c18242f3947535f6a7683909ca9afa4998c8073665c504949494949494949494949494949494949494949494e5864717e8b97a2adaa9d9083776b6054443a2f24190d010000000000000006121f2b37434e58616d7a85929ea5afa9a0958f82796d675f57514a45403b3a3631343433343430363a3b3e43474b51545c60696e79818f96a0aca79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000080f171f252a30383f44464d5355565d60636668696775818e9ba8b2aa9d9083776b605b5353514b47433c3731292423221f1b160f07000000000000000000000007131f2c38434e5865727e8b98a2aeab9e9184786c6053463b30251a0e00000000000000000000000000000000000814212e3a47535f6a7683909ca9aea2988b7f7265594f43382c1f1307000000000000000000000004111d2935414b55626d75818e939ea1a8aaa29f9c9998988c7f7266594c3f3326190c00131f2c3946525f6c7985929faca295887b6f6255483c343f4a54606a74808d96a1ada1978e81746b60554b403c4956626f7c8995a2ac9f9386796c605346392d2013000c1925323f4c5865727f8b988e817467544b404b5864717e8b97a398877b6e6154473b2d21140a00030c18212e3840474b4d4f4b4746413a37322a31404d596673808c988b7e7165584b3e3225180b000c1925323f4c5865727f8b988e817467544b403428333f4c5966727f8c999e9184797a7a7a7a7a7c87929f978b7e7168605b544d443b32291d1a2531404d596673808c988b7e7165584b3e3225180b000007121d2a36414c56606c78829096a1a79e948f837a716c6268727f8c96a0a69e91857a6d61594f443a303945525d6875828f9bac9e918477695f53473a2e2114080000000000000d1a2734404d5a6773808d9aa6b3a79a8d8074675a4d4134271a070000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000101d2a3643505d697683909ca9b1a4978a7e7164574b3e3124180b0000000000000000000000000000000000000000000000061926323f4c5965727f8c98a5b2a89c8f8275695c4f4236291c0f0000010d19242f3a45515c666e7b8490959fa3aaa29f97928d898784838180807f7f7e7e7e7e7d7d7f8c98a5b2ab9e9184838383838383838383838383838383838383838383838383838383838383837c6e6255483b2f2215080000000000000006131f2c3946525f6c7985929facada093877a6d6054473a2d2119191919191919171c1f20272c30394045505a626d74818e97a1adada1968c7f73665c5145382c1f14090000000000000007121d2b37434e5864717e8a97a1adab9e9184796d6056565656565656565656565656565656565656565656565f6a7683909ca9aea2988b7f7265594f4332281e130800000000000000000815212e3a47535f6a74818e97a2adada2979083796d675d554d444039352f2d2a252727272728252a2d2e31373940454b51575f676d7884919eaaa79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000000000000000000000000020a121a212931363e424a5053575f6266686d70737576777986929facb1a4988b7e716e6c6564605d55534e47433c352f281f180f0a04000000000000000000000000030f1b27323d4754606d7a85929facaca1968a7d7063574d42362a1c110600000000000000000000000000000004101c2934404b55626e7b88949fabac9f92867a6d6054473d32271b0f0300000000000000000000000613202c3945515d67727f8b939ea5ada49d98928f8d8c8b8b7f7266594c3f3326190c00131f2c3946525f6c7985929faca295887b6f6255483c3844505c666f7c87939fa9a69e92857a6d60594f43393c4956626f7c8995a2ac9f9386796c605346392d2013000d1a2733404d5a6673808d998c7f7366594c404c5966727f8c999f928579695e52463a2d2014020000060f1c262e353b3f40423e3a3935302b2625323e4b5865717e8b988c7f7266594c3f3326190c000d1a2733404d5a6673808d998c7f7366594c402e23333f4c5966727f8c99a096918686868686868892999e92857c78716c665e564d443b2f261b25323e4b5865717e8b988c7f7266594c3f3326190c0000000d1925303b44505b666e7b849197a1a69e9590857e756f6d7a85929fa89f948a7e71685d52473e322935414c5664717e8a9aa4a096887b6e6255483b2f2215080000000000000e1b2734414e5a6774818d9aa7b3a69a8d8073675a4d4034271a0d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111e2a3744515d6a7783909daab0a3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a99c908376695d5043362a1d1000000008131e2834404b545e696e7b838d92999fa2a9a29e9a9696918f8e8d8c8c8b8b8b8b8a8a8a8c919ba7b4ada19691909090909090909090909090909090909090909090909090909090909090887c6f6255493c2f2216090000000000000006131f2c3946525f6c7985929facada093877a6d6054473a2d21140c0c0c0c0c060c1012131b1e272e343e47515b606d7985919ea7b1a99e9185796d6053463b31251a0e02000000000000010f1a26313c4653606d7985929eacada1968a7d70646363636363636363636363636363636363636363636363636e7b88949fabac9f92867a6d6054473d3221160c010000000000000005111d2935414c56626f7c87939fa9b0a69f92857b6e675d554b433c342e2924211e1a1b1a1a1a1b1a1e2021262b2e343940454d555c667784909daaa79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000000020b141c242c333b424650545c6065696e73777a7d80818384869298a2aeb3a69a8d807d7b7975716d67625f58534e454039312a211a1108000000000000000000000000000a16202c3945515d6774818e9aa7b1a89b8f8275695e5246382e23170b00000000000000000000000000000006131f2c3845515c6774808d9aa6b0a79b8e8174685d5245392b21160a0000000000000000000000000714212d3a4754606d7a85929fa6ada39c928d8682807f7f7f7c6f6255493c2f22160900131f2c3946525f6c7985929faca295887b6f6255483c424d57606d78839099a4aa9e948a7e71685d52473d303c4956626f7c8995a2ac9f9386796c605346392d2013000e1b2734414e5a6774818d988b7e7265584b404d5a6773808d9a9e9185786b574d42362a1e11050000000a131c242a2f323335312e2d29241e1b24313e4a5764717d8a978d8073665a4d4033271a0d000e1b2734414e5a6774818d988b7e7265584b3f3226333f4c5966727f8c99a8a09e939393939393959fa3a1979289847e786e685e564d41382d2224313e4a5764717d8a978d8073665a4d4033271a0d00000008141e28333f4a545e696e7b8591969fa69f97918a827c76808d97a2a3998f82766c61564c41352c242f3a4754616d7a87939fa1988c7f7265594c3f3226190c0000000000000e1b2835414e5b6874818e9ba7b3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111e2b3844515e6b7784919eaaafa396897c706356493d3023160a00000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1aa9d9083776a5d5044372a1d11000000010c18232e39424d575e696e7980878e92989b9ea1a9a8a19e9c9b9a999998989897979797989ba3adb8b2a8a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d95887b6e6255483b2f2215080000000000000006131f2c3946525f6c7985929facada093877a6d6054473a2d21140700000000000003060a0c151d2328353f45515d67717e8b95a0acada1978b7e7164574d42362a1e12050000000000000009151f2c3845515c6673808d9aa4afa99c8f82757070707070707070707070707070707070707070707070707074808d9aa6b0a79b8e8174685d5245392c20130400000000000000000713202d3946525e6874818e9aa4afab9f948b7e71695e554b433a3128231c1814120e090d0d0e090e1214151a1d23282e343c434b546a7784909daaa79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000000000000000000000020b141c262e363e454d535a61666d71767b8084868a8c8e90919298a2aab4b5a89d928d8a8885817e7a756f6a625f58514b433c332c231a120800000000000000000000000004111d2935414b55626f7c88959fabac9f92877b6e61544a3f34281c100300000000000000000000000000000714202d3a4753606d7985929eabaca095897c6f63564c413529190f04000000000000000000000004101c2934404b5565727f8b98a2aea79c918c807a75737272726f6a5f54473b2e22150800131f2c3946525f6c7985929faca295887b6f6255483c46535f69727f8c95a0aba2988f82766c61564c41352f3c4956626f7c8995a2ac9f9386796c605346392d2013000f1b2835424e5b6875818e978a7e7164574b414d5a6774808d9a9d9184776a5e514430251a0e02000000010a12191f232626282421201d19131723303d4a5663707d89968d8174675a4e4134271b0e000f1b2835424e5b6875818e978a7e7164574b3e3126333f4c5966727f8c99a8a09393939393939393939496999e96918b827a6e685e53493f332723303d4a5663707d89968d8174675a4e4134271b0e000000020b17222d38424d575f696f7c8490949fa3a19e948f888287929fa99f92877c6e625a50443a3028232d3946525e687783909997928e8376695c504336291d100300000000000e1b2835414e5b6874818e9ba7b3a6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0aa9e9184776b5e5144382b1e110000000007121d27303b454d575e676d747b81868b8e929796989a9b9c9d9d9d9e9e9e9e9e9f9f9f9fa4acb6c0b6aea9a79f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa8aaaaaaaaab94887b6e6155483b2e2215080000000000000006131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000000030b1218232935414b55606c7883909da9b3a99d908377695e53463a2d2114060000000000000004101c2834404b54616e7b87939facac9f93877d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d85929fabaca095897c6f63564c4135291d110400000000000000000714212e3a4754616d7a86929facb0a69c9082766c62574d433930281f18120d07050c111517181c1c1c1c1c1c1c181d23283144515d6a7784909daaa79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000000000000000000000a141c262e38404850575e616c71787e83888d90939a999b9c9e9fa2aab4b1b2aea49d9a9797928e8b86817c756f6a605d554e463e352c241a11080000000000000000000000010d18242f3a47535f6a7683909da9afa3998c7f73665c5044382b1f14090a0a0a0a0a0a0a0a0a0a0a0a0a0a121f2b37434e5864717e8b97a2adaa9d9083776b6054443a2f24190700000000000000000000000006131f2c3845515c677683909daaaca0958c7f746d6866656565625f584e43372b1f130600131f2c3946525f6c7985929faca295887b6f62554844505a616e7b86929fa7a79f92867b6e615a50443a302f3c4956626f7c8995a2ac9f9386796c605346392d2013000f1c2935424f5c6875828f978a7d7064574a414e5a6774818d9a9d9184776a5e51442f24180d0100000000040c13181d2020201d1814120f0916232f3c4956626f7c89958e8175685b4e4235281b0f000f1c2935424f5c6875828f978a7d7064574a3d3126333f4c5966727f8c99a09689868686868686868687898d92989e948f847a6e655b5044372b232f3c4956626f7c89958e8175685b4e4235281b0f0000000006111c262f3b454d575f6a6f7a828d92999fa69e9c948f9299a3a2978d80746a5f534b454039342e2a36414c566673808d8c8985817e7064574a3d3124170a0000000000000e1b2734414e5a6774818d9aa7b3a69a8d8073675a4d4034271a0d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7884919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0aa9d9184776a5e5144372b1e1100000000000b151e29333b454d555d60696e747a7e8285888a8c8d8e8f9090919191919192929292939aa4afbbaea49d9a93939393939393939393939393939393939393939393939b9ea5afafa499877a6d6154473a2e2114070000000000000003131f2c3946525f6c7985929facada093877a6d6054473a2d21140c0c0c0c0c0c0c0c07060400071118242f3a44505b65717e8b97a2adab9f95877b6e6154483b2e23170c00000000000000000c18232e3946535f6976828f9ca9afa499938a89898989898989898989898989898989898989898989898989899297a2adaa9d9084776b6054443a2f24190d010000000000000005111e2a36424d5666727f8c98a3aeab9f94897c6f635a50453b31271e160d07000911181d212425292929292929292929292a3744515d6a7784909daaa79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000000000000000000009121c262e38404a525a61696e767e848b9095999d9fa4aca8a9a8a6a5a4a4a4a5a6a8aaa6a9a19e9b98928e88827c736d675f584f473e362c231a1007000000000000000000000007131d2b37434e5864717e8b97a2adab9e9184786d6053463b31251a16161616161616161616161616161616212e3a47535f6a7683909ca9aea2988b7f7265594f4332281e13080000000000000000000000000714202d3a4753606d7986929facac9d9083786c605d5659585855544e463c32261b0f0300131f2c3946525f6c7985929faca295887b6f6255484c56616c76828f98a2aba0958c7f72695e53483e32282f3c4956626f7c8995a2ac9f9386796c605346392d2013000f1b2835424e5b6875818e978a7e7164574b404d5a6773808d9a9e9184786b554b4035291d1004000000080d161d24292c2d2c2924211f1a151723303d4a5663707d89968d8174675a4e4134271b0e000f1b2835424e5b6875818e978a7e7164574b3e3126333f4c5966727f8c999e918479797979797979797a7c808590959f969082776c6053463c3126303d4a5663707d89968d8174675a4e4134271b0e00000000000a141d29333c454e585f686d78808790959ea0a69e9c9fa3ab9f92857a6d65605c54514b443f3830303d495663707d83807c7874706c6155493c3023160a0000000000000d1a2734404d5a6773808d9aa6b3a79a8d8174675a4e4134271b090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111e2b3844515e6b7784919eaab0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a99d9083766a5d5043372a1d100000000000030c172129333b434b51575f62686d7175787b7d7f808283838484848485858585858687939facb9a99d928d86868686868686868686868686868686868686868686868e939eaaac9f9386796c605346392d2013060000000000040a0f131f2c3946525f6c7985929facada093877a6d6054473a2d211919191919191919191313100c0707131d27333f4953606d7985929fabb1a7988b7e7265544a3f34281c10030000000000000007121d2a36424d5764707d8a96a1adaba49f9796969696969696969696969696969696969696969696969696969fa2a9aea2988b7f7265594f4332281e130800000000000000000714202d3a46525e697784909daab4aa9c9083766b6054483f33291f150c040009121b22292e313236363636363636363636363744515d6a7784909daaa79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000000000000000006101b242e38404a525c636c717b838a91969d9fa7aaacaba39f9d9b999897979898999b9d9fa3ababaaa29f9b948f8780796e6a615950483e352c22180d0400000000000000000000010f1b26323c4753606d7985929fabada1968a7d7063574d42362a23232323232323232323232323232323232934404b55626e7b88949fabac9f92867a6d6054473d3221160c010000000000000000000000000916232f3c4956626f7c8999a3aea49a8b7e71665b524c4c4c4c4947433c342a20150a0000131f2c3946525f6c7985929faca295887b6f625548525d68717e8a949faaa4999083786d60574d42362c232f3c4956626f7c8995a2ac9f9386796c605346392d2013000e1b2734414e5a6774818d988b7f7265584c404d596673808c999f928578675d5145392c20130600000811191f282f35393a39352f2e2b26201824313e4a5764717d8a978d8073665a4d4033271a0d000e1b2734414e5a6774818d988b7f7265584c3f3226333f4c5966727f8c999e9184776c6c6c6c6c666c6d6f737b8390969f948b7e7165574d42372b313e4a5764717d8a978d8073665a4d4033271a0d0000000000020b17202a333c464e565e666d737c838b91969ea1a9acafaa9d90837d77716d66605d55504a423d353b4854606b7077736f6c656461594f44392d2014080000000000000d192633404c5966737f8c99a6b2a89b8f8275685c4f4230251a0e0200000000000000000000000000000000000000000000000000000102030000000000000000000000000000000000111e2a3744515d6a7784909daab0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1a99c8f8276695c504336291d100000000000040d161e2429313940454d53565d606468696e707274757676777777787878787879797c8995a2afa79a8d807979797979797979797979797979797979797979797979818e9ba8ab9e928578665b5044382b1f120600000000070e151b1f222c3946525f6c7985929facada093877a6d6054473a2d26262626262626262626201f1c18120b0b17222d3845515d6774818e9aabb5a89c8f8275665c5044382c1f120600000000000000000e1a26313b4653606d7984919eabb5afaca3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3abadb3ac9f92867a6d6054473d3221160c0100000000000000000814212e3b4754616e7b8795a0acaea2988a7e7164594f44362d21170d030006111b242d343a3d3e43434343434343434343434344515d6a7784909daaa79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000000000000000030c18222d36404a525c646e737e8590949da0a8abaaa29f9b9992908e8c8b8b8a8b8b8c8e9092999a9ea1a9aca69e99928d837c706b615a50473e342a1f160c01000000000000000000000a151f2c3845515d6774808d9aa6b0a89c8f8275695e5346382e3030303030303030303030303030303030303845515c6774808d9aa6b0a79b8e8174685d5245392c201304000000000000000000000000000a1724313d4a5764707d8a97abac9f93867a6d61544a413f3f3f3c3b37322a22190e040000131f2c3946525f6c7985929faca295887b6f62554f59606d7a85929ea6a89f93877c6f665c50453b3124232f3c4956626f7c8995a2ac9f9386796c605346392d2013000d1a2733404d5a6673808d998c7f7366594c404b5865727e8b989f93867a6d6053473a2d20140900030d19232b313a40454745403b3a37312a2125323e4b5865717e8b988c7f7266594c3f3326190c000d1a2733404d5a6673808d998c7f7366594c402e23333f4c5966727f8c999e9184776b606060605b606163696e7a84919e9d908377695f53463a2d323e4b5865717e8b988c7f7266594c3f3326190c000000000000050e18212a343c444c545c606a6f787e848b9297a1adb8aca0959089837e79726d67605c544f45403a444f5960636a6662605b53554f473e33281c10040000000000000b1825313e4b5864717e8b97a4b1a99d9083766a574d42362a1e1105000000000000000000000000000000000000000000000003080c0e0e0f0b07070401000000000000000000000000101d2a3643505d697683909ca9b1a5988b7e7265584b3f3225180700000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3a89b8f8275685c4f4235291c0f00000000010c161f282f35393a3e3f42474c525458575f6163656768696a6a6a6b6b6b6b6b6c6c6f7c8995a2afa89b8e82756c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c7783909daaa99d9083766a544a3f33281c0f0300000007101920262b2e2f3946525f6c7985929facada093877a6d6054473a33333333333333333333332d2c28231d150c111b2935404b5564717d8a99a3afac9f9285796d6053463a2d201307000000000000000009141f2c3844505c6673808c99a3afbbb9b1acaa9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa7a9afb8bab1a79b8e8174685d5245392c2013040000000000000000000b1825323e4b5865717e8b98a7b1ac9f9285796d6053473d32201b0f0500010c18222d363f454a4b4f4f4f4f4f4f4f4f4f4f4f4f4f515d6a7784909daaa79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000000000000000b151e2a343f48525c646e73808a92979fa6aca9a29f98928e8a868381807f7e7e7e7f80818386898d92979ea0a8aba39f9591867d716c61594f463c31281e13080000000000000000000004101d2935404b55626e7b88949fabac9f93877b6e61544a3f3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d4753606d7985929eabaca095897c6f63564c4135291d1104000000000000000000000000000b1825313e4b5864717e8b97a4ab9e918478685e5242382f32322f2e2b2620191007000000131f2c3946525f6c7985929faca295887b6f625554606b74818e97a1ada1968d80746a60544a3f33291f232f3c4956626f7c8995a2ac9f9386796c605346392d2013000c1925323f4c5865727f8b988e817468554b404a5663707d8996a49a897c6f6356493c30251a0e090c151f2b353d434b5153514b4847433c332f2633404d596673808c988b7e7165584b3e3225180b000c1925323f4c5865727f8b988e817468554b403428333f4c5966727f8c999e9184776b5e53534a505354565e68727e8b9aa095887b6e6155483b2e33404d596673808c988b7e7165584b3e3225180b00000000000000060f18222a323a424b51585f666c71787e85929eabadaba7a09d95908b847f79726d666059514b433d474f54565d595653504949443e352c21170b000000000000000a1723303d4a5663707d8996aab4ab9f928578695e52463a2d20140700000000000000000000000000000000000000000001090f14181a1b1c181413110d0805010000000000000000000f1c2835424f5b6875818e9ba8b3a6998c807366594d402f23180c00000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4a79a8e8174675b4e4134281b0e0000000008131e28313a4145474b4c4d4e4f5052504d535557595a5b5c5d5d5e5e5e5e5e5f5f626f7c8995a2afa99c908376655b60606060606060606060606060606060605e697885929faba79b8e8174685b4e412d22170b000000040e19222a32373b3c3f46525f6c7985929facada093877a6d6054473f3f3f3f3f3f3f3f3f3f3f3f3a38342e271e150c18242f3a4754606d7a86929facaea298887b6e6255483b2f221508000000000000000003101c28343f4a54616e7b87929facb9b1a7a0939393939393939393939393939393939393939393939b9ea5afb8aca095897c6f63564c4135291d1104000000000000000004101d2935404b556875828e9ba8b5a89b8f8275675d5145392c1f1309000005111d29343f485056585c5c5c5c5c5c5c5c5c5c5c5c5c5c5d6a7784909daaa79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000000000000007121d27303c46505a646e73808d929fa2a9aea59e97928c86817d7a77757372717171727375777a7d81858b91969fa3aba7a09892877e716b61584e433a2f24190c03000000000000000000000c18242f3947535f6a7683909ca9afa4998c8073665c504949494949494949494949494949494949494949494e5864717e8b97a2adaa9d9083776b6054443a2f24190d01000000000000000000000000000c1925323f4c5865727f8b98a5a99c8f827669564c412f26252522221f1b150e0700000000131f2c3946525f6c7985929faca295887b6f62555c666f7d88939fa9a59e9184796d60584e42382e2117232f3c4956626f7c8995a2ac9f9386796c605346392d2013000a1623303d495663707d8996908377675c51454754616e7a8796a1988b7f7265574d42362a201a19191e27313d474f555d605d5555534e4641382a36424d576976828f99897c6f6256493c2f231609000a1623303d495663707d8996908377675c5145382c333f4c5966727f8c999e9184776b5e51463f4446474d56616d7a87939f978a7e7164574b3e3136424d576976828f99897c6f6256493c2f23160900000000000000000610182029303940454e545b60666d7a85929fa9a19e989ea0a09d97918c857f78706b605d554e463d444849514d4946443f3839332c231a1005000000000000000815222e3b4855616e7b8898a2aeada297877b6e6154473b2e21140a0000000000000000000000000000000000000000030b131a20242728292521201d1913110d0802000000000000000d1a2734404d5a6773808d9aa6b3a89b8e817568554b4034291c100400000000000000000000000000000000000000000005121e2a36424d576976838f9ca9b2a5988c7f7265594c3f3226190c000000010d19242f3a434c525457595a5b5c5d5e5d5a54484a4c4d4f5050515151515252525663707d8996a3b0ab9e9285796c605353535353535353535353535353535354616e7b8798a2aeaa988c7f7265594c3f322619060000000a15202a343c4347494c4c525f6c7985929facada093877a6d60544c4c4c4c4c4c4c4c4c4c4c4c4c4645403930271d1213202c3945525d687783909daab4aa978a7d7064574a3d3124170a0000000000000000000c17232e3846525e6975828f9ca8b2aca095898686868686868686868686868686868686868686868e939ea9b4aa9d9084776b6054443a2f24190d01000000000000000006131f2c3845515d677884919eabb5ab988b7e7265554b4035291d100400000915212e3a45505a62656969696969696969696969696969696a7784909daaa79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000000000c18232e39434e58626c73808d929ca4adaaa39f938e857f7a75706d67686665646465656668676d7074797e848c9299a1a9aaa29992877d706a5f554c4135291e150a0000000000000000000007121d2b37434e5864717e8a97a1adab9e9184796d6056565656565656565656565656565656565656565656565f6a7683909ca9aea2988b7f7265594f4332281e130800000000000000000000000000000c1925323f4c5865727f8b98a5a89b8e8275685b4f42302814191615130f0a040000000000131f2c3946525f6c7985929faca295887b6f6257606d7984919aa4a99e938a7d70675d51463c30261c16232f3c4956626f7c8995a2ac9f9386796c605346392d2013000714212d3a4754606d7a87969286796d60534646525e687884919e9c8f8275695e52463c332a262524293039434f5960676d6765625f58534a41363a46535f697885919286796d6053473a2d201407000714212d3a4754606d7a87969286796d6053463a2d333f4c5966727f8c999e9184776b5e51443338393b46525d687784919e998c7f7366594c40333a46535f697885919286796d6053473a2d201407000000000000000000060e171e272e343c424a505b66727f8c98a2a197918c91969d9fa19e97918b837d746d675f584f473d3b3d44403c3937332d2d28211a110800000000000000000613202d394653606c7985929facb3a9968a7d7063574a3d31261b0f01000000000000000000000000000000000000000b151d252b30343536312d2c2924201d19130c070100000000000c1925323f4c5865727f8b98abb5aa9d908477675c5145382c1f13060000000000000000000000000000000000000000000714212d3a46535f697885929fabb4aa968a7d7063574a3d3024170a00000004111d2935414c565d6064656668696a6b69665e54423f414243434444444545454a5764717d8a97a4b0ada297887b6f625548464646464646464646464646414c5665717e8b98aaaea298897c6f6256493c2f2316090000030f1b26323c464e54555959595f6c7985929facada093877a6d60595959595959595959595959595953514b43392e2318111d2935414c566875818e9ba8b2a5998c7f7266594c3f3326190c00000000000000000006111c2a36424d5763707d8a96a1acaa9d9083797979797979797979797979797979797979797979818e9ba7aea2988b7f7265594f4332281e13080000000000000000000714202d3a4753606d7986939facaea399887b6f6255483c2f24180c0000000b1724313d4a56626c71767676767676767676767676767676767784909daaa79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000000000004101c2834404b555f6a717e8b929da4aeaaa298928b817a736d6863605d5559585857585859555d6063676d717980879197a0a8aba39992867c6f675d51453d30261c1106000000000000000000010f1a26313c4653606d7985929eacada1968a7d70646363636363636363636363636363636363636363636363636e7b88949fabac9f92867a6d6054473d3221160c0100000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0908060300000000000000131f2c3946525f6c7985929faca195887b6e625f69737f8c95a0aca2978e81756b61554b40342b1e1516232f3c4956626f7c8995a2ac9f9386796c605346392d2013000713202c3945525d6877849199897c6f635349414d566774818e9a9f92877b6e61584e453c3631322f353a424b55606b707a76726e6a645c53483c3b4855616e7b8897908477675c5145382c1f1306000713202c3945525d6877849199897c6f6353493f33333f4c5966727f8c999e9184776b5e5144382e2e35414c566a7683909d9a8d8073675a4d40343b4855616e7b8897908477675c5145382c1f130600000000000000000000050c151d23282f394653606c7884919eaa9e91857f848a90959c9fa19e95918981796e6a60594f463c3237332f2d2b27221b1c17100800000000000000000006121f2b3844505b667683909ca9b3a79a8d807467584e43372b1e1308000000000000000000000000000000000000060f1d272f373c4041423e3a39352f2d29251e18120b0300000000091623303c4956636f7c8999a4afac9f9286796d6053473a2d22170b0000000000000000000000000000000000000000000815222e3b4855616e7b8897a2adaea298887b6e6155483b2e2215080000000613202c3945525d686d71727374757778767066544b403435363737373838383f4b5865727e8b98a5b1b3a9988b7f7265594f42392e393939393939392d3945525d6875828e9ba8ac9f9285796d6053463a2d201307000006131f2b37434e585f62666666666c7985929facada093877a6d666666666666666666666666666666605c554b4034281c1019242f404d596673808c99a6b3a79b8e8174685b4e4135281b0e000000000000000000000e1a25303b4653606c7884919eabaca095897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d7a86929facac9f92867a6d6054473d3221160c010000000000000000000916222f3c4955626f7c889aa4afac9f9286796d6053463a2d2013070000000b1825323e4b5865717e828282828282828282828282828282828286929faca79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000000000006131f2c3845515c676f7c86929fa4aeaaa29892867e756d68605d5654514b4d4c4b4b4b4c4d4b5153555c60676d737d859196a0a8aba29891847a6d60594f42382e23170c0000000000000000000009151f2c3845515c6673808d9aa4afa99c8f82757070707070707070707070707070707070707070707070707074808d9aa6b0a79b8e8174685d5245392c2013040000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929faca194887b6e61626e7b86929fa8a69f92857b6e61594f433a2f22190c16232f3c4956626f7c8995a2ac9f9386796c605346392d20130004111d2935414c566875818e9a8d8074655b5044495663707d8996a0998d80736a5f574e4642403f3f41454c545d67707d86837f7b746e64584c40424d5765727f8c988e817467554b4034291c10040004111d2935414c566875818e9a8d8074655b504437333f4c5966727f8c999e9184776b5e51443b3b3b3c44505c667783909d998d8073665a4d4037424d5765727f8c988e817467554b4034291c10040000000000000000000000030b121b27333f4953636f7c8996a1a3998c7f73787d83898f949da0a09d938e847c706b60584e443b302523201f1b1711100b0500000000000000000000030f1c28333f4a546774808d9aaab4aa9d9184776a5f53473a2f24190b0200000000000000000000000000000000030e18212f3941484d4e4f4b4745413a39353029241d150d030000000714202d3a4753606d7a86939facaea399897d706353493f33271b0f030000000000000000000000000000000000000004111d2935414c5565717e8b98a9b3ac9f9285786d6053463a2d2013070000000714212d3a4754606d7a7e7f80818283858276665c5145382f2c2924262a2d37434e586774818e9aa7b4b7aa9d9083776b60544b40352f2b2623282b2f38414c56606d7a85929faca99b8e8275665c5144382c1f120600000815222e3b47545f6a6f72727272727985929facada093877a727272727272727272727272727272726d675c5145382c1f131824313e4b5764717e8a97a4b1a89c8f8275695c4f4236291c0f0000000000000000000009141f2b3844505b66727f8c99a3aea79a8d8174675c606060606060606060606060605765717e8b98a2aea79b8e8174685d5245392c201304000000000000000000000b1824313e4b5764717e8a97acb6aa9d908477665c5144382c1f12060000010d1a2734404d5a6773808d8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f9298a2aea79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000004111d2935414c56606d79839198a2aeaea39892867d716c615e56524c474541403f3e3e3e3f404045474b51555c606b6f7b849196a1abaaa0968e81746b60544a3f34281c110600000000000000000004101c2834404b54616e7b87939facac9f93877d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d85929fabaca095897c6f63564c4135291d11040000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929faca194877a6e616c76828f98a3ab9f948b7e72685e52473e31281d100916232f3c4956626f7c8995a2ac9f9386796c605346392d201300010d19242f3d4a5764707d8a989184786c6053464653606c7884919e9f92877c6f695f58534d4d4c4c4c51565d666d7983918f8c888174675a4e4147535f6977839097897d7063564a3d2f23180c0000010d19242f3d4a5764707d8a989184786c6053463c323f4c5966727f8c999e9184776b5e5148484848494e56606d7985929f988b7f7265584c3f3a47535f6977839097897d7063564a3d2f23180c0000000000000000000000000005121f2b3744505b6574808d9aa89f92867a6e6c70767c828991959fa39d9691867d706a5f564c41362a2113120f0b0600000000000000000000000000000b17222d3d4a5763707d8a98a2aeaca095887c6f62564c4135291d140a000000000000000000000000000000000915202a33414b53595b5c5854524c4746413a352f271f150b0100000613202c3945515d677784909daab4ab9a8d8073655b5044372b1f140a000000000000000000000000000000000000010c13202c3945515d6775828e9ba8b5a89c8f8275665c5044382b1f12060000000714212d3a4754606d7a878c8d8e8f909186796d60544a403a39352f31363a3f47535f6a7783909daab6b8aca095897d70665c5145413a37312e34383b424a525e68727f8c98a2ada1978a7d7164544a4034281c100400000916222f3c4955626f7c7f7f7f7f7f7f86929facb3a6998c807f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f796d6053463a2d20131724303d4a5763707d8a96a3b0a99c908376695d5043362a1d1000000000000000000000030f1c28333f4a54616e7a86929facab9f9285796d60535353535353535353535353535f697683909caaaca095897c6f63564c4135291d1104000000000000000000000c1926333f4c5966727f8c99a5b2a99c8f827669544a4034281c10040000010d1a2734404d5a6773808d9a9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9fa2aab4a79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000000000713202c3945525d68727f8c95a0aaafa59f92867d706b625a524c45413a39352f32313132322f35383a40454b515960696e7b849199a3aea89e93897d70665c5044382d22170b000000000000000000000c18232e3946535f6976828f9ca9afa499938a89898989898989898989898989898989898989898989898989899297a2adaa9d9084776b6054443a2f24190d010000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929faca094877a6d68717e8b949faaa3999083776c60564d41352c1f160c0916232f3c4956626f7c8995a2ac9f9386796c605346392d201300000813202d3a4653606d79859296897c7063584e44505b66717e8b959f9991847b6f6a615f57595859555d60686d78818e959c93877c6f625548424d57616e7b88959285796d6053463a2d2013070000000813202d3a4653606d79859296897c7063584e43373f4c5966727f8c999e9184776b5e545454545556585f68707d8a98a298897d7063564a3d424d57616e7b88959285796d6053463a2d201307000000000000000000000000000613202d394653606c7884919eac9b8f82756860646b6f767d838c9299a2a09892867c6f685e52463d32271b1003000000000000000000000000000000000614202d3a4753606d7985929facb1a79a8d8073685d52453b2f261b1106000000000000000000000000000006101a26313c45535d64686964605d5654524c45403931271d1207000004101d2935404b556773808d9aa9b3ab9e9184786c6053463c2f261b1106000000000000000000000000000000000007131d28333f4a54606d7a86929facb1a7988b7f7265544a3f34281c10030000000613202c3945515d67778390999b9c9d988a7d71665b514b4745404343424648505a626f7b8895a0acb8bcb1a79d9083796d605b524c464242413f44464d545b616d7a85919eaaa99e9184796d6053463a2e23180c0000000c1925323f4c5865727f8b8c8c8c8c8c9299a3aeb4a89c928c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c877a6d6054473a2d21141623303d495663707c8996a3afaa9d9083776a5d5044372a1d1100000000000000000000000b17222d3846525e6875828e9ba8ada2978a7e7164574d42464646464646463f4a54626e7b88949fabaa9d9084776b6054443a2f24190d01000000000000000000000d1a2633404d596673808c99a6b3a79a8e8174675b4e412e23180c000000010d1a2734404d5a6773808d9aa6a9a9a9a9a9a9a9a9a9a9a9a9a9a9acaeb4aca79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000000004111d2935404b55606d7a85929fa7b1a99d938b7e716b60595046413a352f2c2924252524252524292c2e343940454f575e696f7c87929fa7afa59d9183786d60544a3f33281c0f0300000000000000000007121d2a36424d5764707d8a96a1adaba49f9796969696969696969696969696969696969696969696969696969fa2a9aea2988b7f7265594f4332281e1308000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929faca093867a6d6d7a85929ea6a89f92867c6e655b50443b30231a0d040916232f3c4956626f7c8995a2ac9f9386796c605346392d2013000006131f2c3845515c6775818e9b8f82756a6054474a54606c78839098a09691847c746e696766656567676d727a828e939e958d80746a5f534746535e6974818e9a8e8174665c5044382c1f120600000006131f2c3845515c6775818e9b8f82756a6054473e3f4c5966727f8c999e9184776b61616161616162656a6f7a84919e9f9285796d6053463a46535e6974818e9a8e8174665c5044382c1f1206000000000000000000000000000815222f3b4855626e7b8896a1a49a8b7e7164565960636b70787f879297a2a29891847a6e61594f44382c1e13080000000000000000000000000000000006131f2c3845515c6775828f9ba8b2ab9f92857a6d60574d41382d2217110a020000000000000000000001081018222b37424e57646f7475716d6865615e56514b43392f24180c0000010d18242f3d495663707c8997a1adaca196897d7063584e41382d22170f06000000000000000000000000000000071118242f3844505b66717e8b98a2aeaca095887b6e6155483b2e23170b0000000004111d2935414c556673808d99a3a8aa9d9083786c605d5553514b50504d53555a626c74818e9aa7b1b6b4b6aca0958d80736d605d56534d4e4e4a5053575e666c75828f97a1ada1978c7f73665c5145382c1c12070000000c1925323f4c5865727f8b98999999999fa3abb4b9ada49c99999999999999999999999999999993877a6d6054473a2d211416222f3c4955626f7c8895a2afaa9e9184776b5e5144382b1e11000000000000000000000006111c2a36414c5663707d8996a0aca99c8f8276695e5246382d393939393844505c6673808d99a6aea2988b7f7265594f4332281e130800000000000000000000000e1a2734414d5a6774808d9aa7b3a69a8d8073675a4d4034271a07000000010d1a2734404d5a6773808d9a9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000613202c3945515d6773808d97a2adada1978e81746c61594f473e36302924201d181918181819181d1f23282f343d454d57606a727f8c95a0acaca0958b7e71665b5044382b1f1308000000000000000000000e1a26313b4653606d7984919eabb5afaca3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3abadb3ac9f92867a6d6054473d3221160c01000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929faca39986796d75818e97a2aca0968c80736a5f53493f32291f1108000916232f3c4956626f7c8995a2ac9f9386796c605346392d2013000004101c2834404b55636f7c899494887c6f62594f44505b666e7b869298a0969187807b777473727273767a7f858f939e969083796d60584e434e58616e7b869294897c6f62544a3f34281c100300000004101c2834404b55636f7c899494887c6f62594f443f4c5966727f8c999e9184776e6e6e6e6e6e6e6f72757c839096a0978d8074665c5145434e58616e7b869294897c6f62544a3f34281c1003000000000000000000000000000b1825323e4b5865717e8b98a89f93877a6d61544f545960666d737d859297a2a1968f82756b6054483a2f24190d0100000000000000000000000000000004101c2934404b5563707d8a96a1acaea2988c7f73695e53493f3327221b140b090603000001000205080d1319222a343c47535f6a7481827e7a76716d68605d554b4035291d100400000713202d3a4653606d7985929eacb2a89c8f82756a5f53493f332721180f0802000000000000000000000003091119232935404b55606c7884919daab3a99d908477695f53463a2d1c110600000000010d19242f3b4854616e7b86929fa9ab9f958c7f736d6762605d555d5d575f61656d717e8a939da9afa9a7a9aba79c928c7f746d68615f575b5b545c6062696e78808d949ea9a59e9184796d60544b4034281c0b000000000c1925323f4c5865727f8b98a5a5a5a5acaeb4bdbfb6ada8a6a5a5a5a5a5a5a5a5a5a5a5a5a5a093877a6d6054473a2d211416222f3c4955626f7c8895a2afab9e9184786b5e5145382b1e120000000000000000000000000d1925303b4854606b7784919daaac9f93877b6e6153493f33272d2d2d3a4653606d7984919eabac9f92867a6d6054473d3221160c0100000000000000000000000e1b2834414e5b6774818e9aa7b3a6998c807366594d4033261a0d000000010d1a2734404d5a6773808d939393939393939393939393939393939393939393938d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000714202d3a4753606d7a85929fa9b2a89e91857a6d605a50473d352a251e1913110d070b0b0b070c1013181d2329333b454e58606d7883909da7b1a79e9184786c6053463a3024190d0100000000000000000009141f2c3844505c6673808c99a3afbbb9b1acaa9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa7a9afb8bab1a79b8e8174685d5245392c20130400000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929fac9f928679707d89939ea9a59d9184796d60584e41382d20170d00000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130000000c18232e394854606b76828f9c8f82756c61564c4a545f69707d8692979f99928d888481807f7f8082868b91979e9691847b6e675c51464b55606a74818d998f82766a605442382e23170c00000000000c18232e394854606b76828f9c8f82756c61564c414c5966727f8c999e91847b7b7b7b7b7b7b7b7c7e82879095a09892857a6d61544b404b55606a74818d998f82766a605442382e23170c00000000000000000000000000010e1b2834414e5b6774818e9aa79e918477685e5246484f545c606b707c85929fa59e93897d7063564c4135291d1104000000000000000000000000000000000c18232f394653606c7884919ea8b2aa9f92867b6e655b50443e332d261d1a1312100b060e090e1214191e2429343c46505a626e7b878f8b86827e7a766d675d5145392c1f1306000006121f2c3844505c6673808d9aa4afaa9e94887c6f655b50443d332a2219140e09060400000100000406090e141a232b353d45515d67717e8a95a0acada2978b7e7265574d42362a1e0a0000000000000814212d3a46535e6974818e97a1aba79c918c8079736f6d676a6a6a6a696e71777e87929fa5afa59d9b9c9fa6a49c918c807a726e6969686768666d6f747b828d929da6a69e938a7e71675d5142392e23180c000000000c1925323f4c5865727f8b989f9f9f9fa0aeb4bcb9b0a8a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f93877a6d6054473a2d211416232f3c4956626f7c8995a2afaa9d9184776a5e5144372b1e1100000000000000000000000008141e2c38444f5965727f8c98a3aea4998c7f73655b5044372b1f2a36414c5663707d8a97a1ada79b8e8174685d5245392c2013040000000000000000000000000f1c2835424f5b6875818e9ba8b2a5998c7f7266594c3f3326190c000000010d1a2734404d5a6773808686868686868686868686868686868686868686868686868074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000006121e2b37424d5765717e8b98a2aeaca0968b7e71685d52483e352b2319130d08040100000000000004070c12182129333d44505c66707d89959fabaca0968a7d7064564c4135291d110400000000000000000003101c28343f4a54616e7b87929facb9b1a7a0939393939393939393939393939393939393939393939b9ea5afb8aca095897c6f63564c4135291d110400000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929fac9f9285797984919ea5a99d93897d70675c51463c2f261b0e0500000916232f3c4956626f7c8995a2ac9f9386796c605346392d201300000007121d2c38434f5963707d8994948a7d70685d52454d57606b707d858f949c9f9a95918e8c8b8c8d8f92989e9c938e847b6e695f554b45515c676f7c879394897c6f63584e4330261c1106000000000007121d2c38434f5963707d8994948a7d70685d52454c5966727f8c99a196918787878787878788898b8f93999e9691867d6f685d524245515c676f7c879394897c6f63584e4330261c11060000000000000000000000000004111d2a3744505d6a7783909da89b8e827568564c413d424a5159606a707d8a939ea69c8f8276685d5245392c2013070000000000000000000000000000000007121f2b3844505b66727f8b96a1acaea2988f82776c605a50443f382f2b26201f1c171b1a1b1a1e2124292f353e464e58626c75828f9999928f8b8682796d6053473a2d201407000003101c28343f4a54616e7b87939fabb0a69c9083776c60584e453c342a251e1a1312100c070e070c1013131a1f262a353d47505a606d7984919ea7b1a99f9285796d6053473b31261a0e00000000000005121e2a36424d57616e7b859299a3aba39c928d84807c7a7877767677787b7e838b9299a3aea69d938e90949fa6a39c928d857f7b777675747576797c80868f949da4a69f948e81746c61554b4030271d1207000000000c1925323f4c5865727f8b939393939393a2aab4b3a89e9693939393939393939393939393939393877a6d6054473a2d21141623303d495663707c8996a3afaa9d9083776a5d5044372a1d1100000000000000000000000002101c27333d4754616d7a86929facab9e9184786c6053463a2f242d3946525e6875828f9ba9aca095897c6f63564c4135291d11040000000000000000000000000f1b2835424e5b6875818e9ba8b2a6998c7f7366594c403326190d000000000d1926333f4c58646e73797979797979797979797979797979797979797979797979746e64584c3f33261a0d0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000000814212e3a47535f697683909daab4aa9e9184786d60564c41362d2319110802000000000000000000000001070f172128343f4a54606b7783909daab2a89b8f8275685d5245392c201307000000000000000000000c17232e3846525e6975828f9ca8b2aca095898686868686868686868686868686868686868686868e939ea9b4aa9d9084776b6054443a2f24190d0100000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929fab9e918578808d96a0aca1978e81746b60554b40342a1d140a0000000916232f3c4956626f7c8995a2ac9f9386796c605346392d2013000000000f1b27323d4854606b7682909991847a6d605b51484f59606b707b828a8f939a9a9d9a9998989a9c9a99928f8981796e695f574d47505a606d798491988f82766b6054463d321e150a000000000000000f1b27323d4854606b7682909991847a6d605b514c5966727f8c99a8a19e949494949494949495989c9a97928d847d6f6b60564c47505a606d798491988f82766b6054463d321e150a000000000000000000000000000004101d2935404b556b7885919ea6998c807366594d40303940444f58616b75818e9ba99f92867a6d6054473a2d21140700000000000000000000000000000000030f1c28333f4a54606d7984919ea6b0aa9e948c7f726c615a5049413c37312d2b2823272728252a2d2f353a41454f585f6a717e8b939ea39f9c998f8275675d5145392c1f13060000000c17232e3846535f6975828e99a3afab9f948b7f726a60574e463e36302a25201f1c181b1a1b181c1f20262b31363f474f59616c74808d96a1adada2978d8073675d5145392a1f1409000000000000020e1a25313b46525e69707d879299a1a9a49c96918d8986858483838485888b90959fa3aba59d948e818390949da5a49d97928c8884828181828385898d92989ea6a49f948f82796d605a5043392f1e150b00000000000c1925323f4c5865727f8686868686868998a2aeafa2968c87868686868686868686868686868686867a6d6054473a2d21141824313e4b5764717e8a97a4b1a99c8f8376695c504336291d10000000000000000000000000000b16202d3946525d6875818e9ba7aca096897c7063554b4135292e3a4754616d7a86929facaa9d9084776b6054443a2f24190d010000000000000000000000000e1b2834414e5b6774818e9aa7b3a6998d8073665a4d4033271a0d000000000b17232f3b47525c64676c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c3023170b0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000000815222f3b4855626e7b88959fabaea3988b7e72665c50443a2f241b1107000000000000000000000000000000050f17232e38424f5964717e8a98a2aeac9f92867a6d6054473a2d2114080000000000000000000006111c2a36424d5763707d8a96a1acaa9d9083797979797979797979797979797979797979797979818e9ba7aea2988b7f7265594f4332281e13080000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929faa9d91847b87929fa8a69e92857a6d61594f43392e22180b020000000916232f3c4956626f7c8995a2ac9f9386796c605346392d2013000000000a16212c38444f59626f7c8692978e81746d625a50474f5960696e767d83878b8e909192929291908e8b86827c756d675f574d474f59626c73808d9592867c6e62594f44342b200c03000000000000000a16212c38444f59626f7c8692978e81746d625a505966727f8c9393939393939393939399929291908d8a8580796f6b60594f474f59626c73808d9592867c6e62594f44342b200c03000000000000000000000000000006131f2c3945515d677986929fa5988b7f7265584c3f322e343d464f59626f7c8997a2a3998a7d7164574a3e3124170b00000000000000000000000000000000000b17222d3845515c67717e8b949ea9b0a69f92877e716c605b534d47423c3a38342e34343531363a3b41454c5159616a6f7c86929fa5aea99f93877c6f62554b4035291d100400000006111c2a36424d57626e7b87929fa8b0a69f92877c6f695f585046413b36312d2c282327272723282c2d31373b42465159606b717e8a929da8b1a79f92857a6d61554b4035291d10040000000000000009141f2a36424d57606b717e8792979fa2a8a19e999a9391909090919297989da0a7a8a19e938e82797a828e939da0a8a19e9996918f8e8e8f9092989a9fa3a7a09a938d82796d675d51483e31281d0c0300000000000b1824313e4a56626d7279797979797986929facada093877a7979797979797979797979797979797976685d5245392c20131926333f4c5966727f8c99a5b2a79b8e8174685b4e4135281b0e0000000000000000000000000005111d2935414c56636f7c8995a0aca89b8e8174675d5145392c37434e5865727f8b99a3aea2988b7f7265594f4332281e1308000000000000000000000000000e1b2734414e5a6774818d9aa7b3a79a8d8074675a4d4134271a080000000007131f2b36404a52585a6060606060606060606060606060606060606060606060605a58524a40362b1f13070000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000030f1c28333f4a5465727f8b98a7b1ac9f92867a6d60544a3f32281e1209000000000000000000000000000000000006111c26303d4753606d7a85929facaea3998b7e7164584b3e3025190e02000000000000000000000e1a25303b4653606c7884919eabaca095897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d7a86929facac9f92867a6d6054473d3221160c010000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929faa9d9083839099a3aa9f948a7e71685d52473d30271d0f06000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130000000004101c27333d47535f6a737f8c95938c7f726c615950444f575f616b70767b7e8183858586858583817e7a756f6a605d554d445059606b717e8b92958c7f736a5f53473d3222190f000000000000000004101c27333d47535f6a737f8c95938c7f726c61595966727f86868686868686868686868686858483807d79736d6760594f445059606b717e8b92958c7f736a5f53473d3222190f0000000000000000000000000000000714202d3a4753606d7a8699a3a4978b7e7164584b3e312328343e4653606c7985929fab998c7f7266594c3f3326190c000000000000000000000000000000000006111c2834404b55616c75828f97a2abafa39992877e726c655f57534d4946443f41414141424246484c52555d606b707c859298a2aeada2978f82756a5f5343392f24180c00000000000e1a26313b47535f6974808d96a0abaea39991857b6e6a615a524c46423c3a38342e3434342e34383a3c42474d535b626b707d86929fa4aeaaa0958b7f72685e5243392f24180d0100000000000000030e1a25303b454f59626c717d858d92989d9fa4aca49f9e9d9d9d9d9ea1a9aba49f9c96918a81786d6d78818991959c9fa3a8a09e9c9b9a9b9c9fa2aaa39f9b95908880786d675d554b40362c1f160c0000000000000915222e3a46515b62656c6c6c6c6c7985929facada093877a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5d564c4135291d111c2934404b556774818e9aa7b3a6998c807366594d4033261a0d00000000000000000000000000010d1924303a4854606b7783909daaac9f92857a6d6054473c313b4754606a7783909dabac9f92867a6d6054473d3221160c01000000000000000000000000000d1a2733404d5a6673808d99a6b3a89b8e8175685b4e422f24190d01000000020e19242e3840474c4d5353535353535353535353535353535353535353535353534d4c4740382f24190e030000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000006121f2b3844505b6675828f9ba8b5a89b8f8275685d5242382e20160c000000000000000000000000000000000000000a15202c3945515d6775828e9ba8b4ab9b8e817468564c41362a1e11050000000000000000000009141f2b3844505b66727f8c99a3aea79a8d8174675c606060606060606060606060605765717e8b98a2aea79b8e8174685d5245392c201304000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929fac9f928790959faba2988f82766c61564c41352b1e150b00000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d201300000000000b16212b37434e58606d7883909793887e716b625a514a4d53596163696e71747678797979787674716d68626058514b4a505a616b707d8792979083786d60584e43352b2110070000000000000000000b16212b37434e58606d7883909793887e716b625a636d727979797979797979797979797978777673716d67605d554f4a505a616b707d8792979083786d60584e43352b2110070000000000000000000000000000000613202d394653606c7986929fa5988b7e7265584b3f3025212b3744505b657784909da79a8d8074675a4d4134271a0e0100000000000000000000000000000000000c18232e3943505a616e7b859299a3afaba39992877f776e69615f575553504a4e4e4d4e4f4d5354565d60676d747d859297a1aaaea49e92857b6e61584e4331271d1207000000000009141f2b37424d57606d79849199a4afaba19791847c706c615e56534d494644404141414141404546494d53575f616d727d869298a2aeaca2989083786c60564c4131281d120700000000000000000009141f29333d47505a626b6f7a80868c90939a999b9d9e9e9f9f9f9e9d9c9a9993908b847d746d66666d747d848a8f92999a9c9d9e9f9f9f9e9d9b9998928f89837d746d665d554c43392f241a0d0400000000000006121e29343f49515658606060606c7985929facada093877a6d6060606060606060606060606060605f524c443a2f2419131f2c3845515c677783909daab4aa988b7e7165584b3e3225180b000000000000000000000000000008131e2c38434f5965727f8b98a2aea2988b7e7165574d4237404b55626f7c8895a0aca79b8e8174685d5245392c20130400000000000000000000000000000c1825323f4b5865727e8b98a5b1a99c8f837669554c4135291d11040000000008121c262e363b3f40464646464646464646464646464646464646464646464646413f3c362f261d1208000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000613202d394653606c7885929fabb2a9988b7e7165564c4130261c0d040000000000000000000000000000000000000004101d2935404b5565717e8b98aab3ab9e918478685e5246392d20140700000000000000000000030f1c28333f4a54616e7a86929facab9f9285796d60535353535353535353535353535f697683909caaaca095897c6f63564c4135291d1104000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929faca39992999fa7a79f92867b6e615a50443a3023190c0300000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130000000000050f1a26313c44505c666e7b85929992867d716c605c544e464f55575e6165676a6b6c6c6c6b6a6765615e56544e454e545c606c717d86929992857b6e665c50463c3123190f00000000000000000000050f1a26313c44505c666e7b85929992867d716c605c63666c6c6c6c6c6c6c6c6c6c6c6c6c6b6b696764605c55514b4e545c606c717d86929992857b6e665c50463c3123190f0000000000000000000000000000000005121f2b3744505b657885929ea6998c807366564c41362e2e2e3844505b667784909da79a8d8074675a4d4134271a0e01000000000000000000000000000000000007121d27303e46525e69707d87929fa4acaba399938c827b746e696562605c545b5a5a5b5c575e6164686d737a808a9297a1a9afa59d928a7e70695e52463c321f150b010000000000030e1a26313c45515d676f7d87939fa4aea9a19691867e756e68615e575653514a4e4e4d4e4e4b515356575f62696e767f879298a2aaafa49a92867c6f665b50443a301f160c01000000000000000000030d17212c353f48505960686d737a7f83878a8c8e90919192929292908f8d8a86837e79706c605c5c606b70787d82868a8d8f919292929292908f8c8986827d776f6b605c544c433a31271d120800000000000000010d18232d373f464a4c5353535f6c7985929facada093877a6d6054535353535353535353535353535345413a32281e1314202d3a4753606d7986929facaea298887c6f6255493c2f2216090000000000000000000000000000020f1b27323d4754606d7a86929facaa9c908376695f53473845515c6774808d9aa7aca095897c6f63564c4135291d110400000000000000000000000000000a1724313d4a5764707d8a97abb5ab9e918478675d5145392c20130600000000010a141c242b2f33343939393939393939393939393939393939393939393939393433302b241d140b01000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000815222f3b4855626e7b8897a2adada197877b6e6154483b2f21140a0000000000000000000000000000000000000000010d18242f3b4855616e7b8898a2aeada196877a6e6154473b2e21140800000000000000000000000b17222d3846525e6875828e9ba8ada2978a7e7164574d42464646464646463f4a54626e7b88949fabaa9d9084776b6054443a2f24190d01000000000000000000000000000000000000000c1926323f4c5965727f8c98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929facaba39fa3ababa0958c7f72695f53483e32281e11070000000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130000000000000a152028343f4a545f696f7d87929892877e736d665f58524c484d5254585b5d5e5f5f5f5e5d5b5854524c474b51575f666d737e87929892877d6f695f544a3f342a20110700000000000000000000000a152028343f4a545f696f7d87929892877e736d665f586060606060606060606060605f5f5e5d5a5753514b4b51575f666d737e87929892877d6f695f544a3f342a20110700000000000000000000000000000000030f1b27333f49536a7784909da99c8f8276685e52463f3b3b3b404653606c7985929fac998c7f7266594c3f3326190c000000000000000000000000000000000000000b151e2a36424d56606b717f8b939aa3ababa49f948f86817b76726f6d6668686767686869696e71757a7f858d929ea2a9afa59e938d80746c61574d42342a200d030000000000000009151f2935404b55606b727f8b929da4ada9a198928a817a746e696562605c545b5a5a5a5b545c606266696e747b828b9299a2aaaea39f93887e706a5f544a3f32291e0d040000000000000000000000050f1a232d363f474f565d60686e72767b7d7f82838485858685858482807d7a76716d66615a51515960666c71767a7d80828485858685858382807d7a75706b636059514a423a31281f150b00000000000000000006111b252d343a3e3f4646525f6c7985929facada093877a6d6054474646464646464646464646464639352f282016101d2935404b5563707d8a99a3aeac9f9285796d6053463a2d2013070000000000000000000000000000000a16202c3945515d6774818e9aa7ab9f94887b6e62544a3f4653606d7985929fabaa9d9084776b6054443a3024190d0100000000000000000000000000000916222f3c4955626f7c8899a3aeaca196877a6d6054473a2d2114080000000000020a12191f2326272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2726231f19120b0200000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000a1724313d4a5764707d8a97a9b3ab9e918578695e53463a2d2114020000000000000000000000000000000000000000000714212d3a46535f697885929fabb2a896897d7063564a3d3023170a000000000000000000000006111c2a36414c5663707d8996a0aca99c8f8276695e5246382d393939393844505c6673808d99a6aea2988b7f7265594f4332281e1308000000000000000000000000000000000003060809192633404c5966737f8c99a6a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929facb5afacafafa4999083786d60574d42362c20160c000000000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d2013000000000000030c17232e38424d57606b717e8a9299928b80786f6a605d56524c46474b4e505252535252504e4b47464b51555d606a6e787f889299928a7e716b60574d42382e22180e000000000000000000000000030c17232e38424d57606b717e8a9299928b80786f6a605d56524c5353535353535353535251504d4a474b51555d606a6e787f889299928a7e716b60574d42382e22180e0000000000000000000000000000000000000b17222d414e5a6774818d9aa99f92867a6d6159504a4847484b515b636f7c8998a2a49a8a7e7164574b3e3124180b00000000000000000000000000000000000000030c1925303b444f59626d727f889299a1a8afa69f99928e88837f7c797775747474747576787b7e82868c92979da4adaba39f938e81786d605a50453b3022180e0000000000000000030d18242f3a434f59626d74808d929ca3adaaa29f938e86807b76726f6d6669686767676869666d6f72777b81868f949fa3ababa39f918c7f726c61584e42382d20170d0000000000000000000000000008111b242d353d444c52565e6165696e71737577777879797978777573716e6864605c545044454f545b6064686d717376777879797978777573706d67636059544f44403930281f160d030000000000000000000009131b23292e31323946525f6c7985929facada093877a6d6054473a3939393939393939393939392c29241e160e19222c3945515d6774818e9aabb4a99c908376665c5044382c1f120600000000000000000000000000000004111d2935414c55626f7c88959faba6998d8073665c50444d5764717e8a97a2ada2988b7f7265594f4332281e13080000000000000000000000000000000713202d3a4653606d7986929facb2a896897c6f6356493c3025190e00000000000001080e1317191a20202020202020202020202020252728292622211f1a20201a1a17130e08010000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000c1926333f4c5966727f8c99a5b2a99c8f827669574d42362a1e120500000000000000000000000000000000000000000005121e2b37424d576a7683909da9b2a5988c7f7265594c3f3226190c0000000000000000000000000d1925303b4854606b7784919daaac9f93877b6e6153493f33272d2d2d3a4653606d7984919eabac9f92867a6d6054473d3221160c01000000000000000000000000000000040a0f1315161a2734404d5a6773808d9aa6a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929facb8bbb9b2a89f93877c6f665c50453b31241a0e04000000000003050916232f3c4956626f7c8995a2ac9f9386796c605346392d20130000000000000006111c26303c454f59616c717e879298928d837c736d68605d5653514a4a484847464748484a4a5053555d60676d737b838c939892877e716c61594f453c30261c0f060000000000000000000000000006111c26303c454f59616c717e879298928d837c736d68605d5653514a4a484847464748484a4a5053555d60676d737b838c939892877e716c61594f453c30261c0f06000000000000000000000000000000000000061724313d4a5764707d8a97a2a3988d80736b605c54555455555c606d75828f9caa9f93877a6e6154473b2e211408000000000000000000000000000000000000000009141f29323d47505a626d727e8791969ea5acaba39f9a95908c8885848281818081828385878b8f92989fa2a9ada8a099928d81786d665c50483e33291f100600000000000000000007131d28313d47515b606c77808c919ea1a9aea59e98928d87837f7c79777674747474747677797c7f83888e92999fa6aea8a199928b7f736d635a50463c2f261c0e05000000000000000000000000000009121b232b323a41454c5254565e616466686a6b6b6c6c6c6b6a696764615e5653514a423e3d424a5053565e616467696a6b6c6c6c6b6a686663605d55554f48433d342e271e160d040000000000000000000000010911181e22242c3946525f6c7985929facada093877a6d6054473a2d2d2d2d2d2d2d2d2d2d2d2d201d19130e17202935404b55606d7985929fabb1a7988c7f7265544a3f34281c1003000000000000000000000000000000010d19242f3a47545f6a7783909da9ab9e9184796d605346525e6976828f9ca9ac9f92867a6d6054473d3221160c0200000000000000000000000000000006131f2c3845515c677783909daab2a6998c7f7366564d41362a1c11060000000000000002070b0d0d131313131313131313151e252c31343536322f2e2b26201f1c18120b0300000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000e1b2834414e5b6774818e9aa7b3a69a8d8073675a4d4031251a0e02000000000000000000000000000000000000000000020e1a2631414e5b6874818e9ba7b3a79a8d8074675a4d4134271a0e00000000000000000000000008141e2c38444f5965727f8c98a3aea4998c7f73655b5044372b1f2a36414c5663707d8a97a1ada79b8e8174685d5245392c201304000000000000000000000000000000070f151b1f2222262b38434e586875828f9ba8a79a8d8074675a4d4134271a0e0100000000000000000000131f2c3946525f6c7985929facacacacada1968d80746a60544a3f33291f120900010407070c10121316232f3c4956626f7c8995a2ac9f9386796c605346392d201300000000000000000a151e2a333d47505a626c717d869196959087807a736d6863605c54575554545354545557545c6063676d727a7f8690959691867d716c625a50473d332a1e150a0000000000000000000000000000000a151e2a333d47505a626c717d869196959087807a736d6863605c54575554545354545557545c6063676d727a7f8690959691867d716c625a50473d332a1e150a000000000000000000000000000000000000000714202d3a4753606d7a85929ea89f93887d726d666362616263676d737f8b949ea69d908376685e5246392d2014070000000000000000000000000000000000000000020d17202b353f48515b626c717d848e939da0a7abaca79f9d989892908f8e8d8d8e8f909298979c9fa3aaada9a29f96918780786c665c544a3f362c21170d00000000000000000000010c161f2b353f44505b656c747f8a92979ea6acaaa29f9a93908c898684828181808181828486898c90959a9fa3ababa49f9691877e736d635b51473e342a1d140a00000000000000000000000000000000091119202830353b4146474d525457595b5d5e5e5f5f5f5f5d5c5a5754524c46444039302f383f44464c5254575a5c5e5f5f5f5f5f5d5c595653514b48443d383228231c150c040000000000000000000000000000060d12151f2c3946525f6c7985929facada093877a6d6054473a2d212020202020202020201413110d0f182029323b45515d67727e8b97a2adab9f95887b6e6155483b2e23170c000000000000000000000000000000000008131e2b37434e5865717e8b97a2ada1968a7d7063564c54616e7b87939faca79b8e8174685d5245392c2013040000000000000000000000000000000004101c2834404b556774818e9aabb5a99c908376685e5246382e23170c0100000000000000000000010606060606060008111e272f373d4042433f3b3a37312d2c29231d150d04000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000101c2936434f5c6976828f9ca9b2a5988c7f7265594c3f322619090000000000000000000000000000000000000000000000091a2733404d5a6673808d99a6b3a89b8e8175685b4f4235281c0f00000000000000000000000002101c27333d4754616d7a86929facab9e9184786c6053463a2f242d3946525e6875828f9ba9aca095897c6f63564c4135291d1104000000000000000000000000000007101920272b2e2f31363e4754606a7885919eabaa998c7f7266594c3f3326190c0000000000000000000000131f2c3946525f6c7985929f9f9f9f9fa59e9184796d60584e42382e21170d02080d111314181c1f201f232f3c4956626f7c89959f9f9f9386796c605346392d20130000000000000000030c18212b353e48505a626b707c848e9399928d85807a75706d666664626160606061626466666d70757a7f858c9298938e847c706b625a50483e352b21180c03000000000000000000000000000000030c18212b353e48505a626b707c848e9399928d85807a75706d666664626160606061626466666d70757a7f858c9298938e847c706b625a50483e352b21180c03000000000000000000000000000000000000000613202c3945515d67727f8c96a1a49a92877f7873706e6e6e7073798088939fa69f948a7e7164564d41362a1e1105000000000000000000000000000000000000000000050e19232d363f49515a626b6f7a818990959c9fa6a9aca9aaa29f9d9b9b9a9a9b9b9c9fa2aaa8acaaa9a19e97928c847c736c665b544a42382e241a0f050000000000000000000000040d192327333f49535b606d737d858f949da0a7acaca49f9c989892918f8e8d8d8d8e8f919298999d9fa7acaca69f99938d847d716c635b51493f352c22180b020000000000000000000000000000000000070e161e24293036393b4246474a4c4f50515252535252514f4d4a4746413b38342e27262d33383a4146474a4d4f515252535252504f4d4a4745403a38332c272118120b03000000000000000000000000000000000106131f2c3946525f6c7985929facada093877a6d6054473a2d21141313131313131313060b0f151a212a323b444e58606d7984919ea9b2a89d908376695f53463a2d1c11060000000000000000000000000000000000010f1b26323c4753606d7985929faba99b8e8275685d525966737f8c99a4aca095897c6f63564c4135291d110400000000000000000000000000000000000c18232e3e4a5764717e8a99a3afac9f93877b6e61544a3f34281d13070000000000000000000000000000000000040e1a232f3941484d4f504c4847433d3a38342f271f160e040000000000000000000001040606111e2a3744515d6a7784909daaa99c8f8376695c504336291d10060000000000000000000000000000000000101d2a3743505d6a7683909da9b1a4978a7e7164574b3e3124180b00000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2a99c908376695d5043362a1d10000000000000000000000000000b16202d3946525d6875818e9ba7aca096897c7063554b4135292e3a4754616d7a86929facaa9d9084776b6054443a2f24190d0100000000000000000000000000040f19222b32373b3c3f4246505a626f7c8997a1ada298897d7063564a3d3023170a0000000000000000000000131f2c3946525f6c798692939393939393938a7d70675d51463d30261c0f080d13191d202125292b2c2c292f3c4956626f7c89939393939386796c605346392d2013000000000000000000060f19232c363f485059616a6f7a818a919697928c86817d797673706f6e6d6c6d6e6f707376797d81858c929796918a817a6f6a615950483f362c23190f060000000000000000000000000000000000060f19232c363f485059616a6f7a818a919697928c86817d797673706f6e6d6c6d6e6f707376797d81858c929796918a817a6f6a615950483f362c23190f06000000000000000000000000000000000000000004111d2935404b55606d79849197a1a399928b84807d7b7a7b7d80858d939aa4a0968f82766c6155443b3025190e020000000000000000000000000000000000000000000008111b242d373f48505960686d757d83898f94989c9fa3aba7a8aaa8a7a7a7a7a8a9a9a7a5a8a09e9a97918c8580796f6b605b544a423830261c110800000000000000000000000000071017222d384149505b636b707b828990959c9fa4acaca9aaa39f9d9c9b9a9a9a9b9c9d9fa3aaaaababa39f9b948f878079706b625a514940372e231a100600000000000000000000000000000000000000040c13191e252a2d30363a3b3e4042444445464646454442403e3b3936302c28231c1c22282b3036393a3e40434445464646454442403d3a39352f2c27211b160c070000000000000000000000000000000000000006131f2c3946525f6c7985929facada093877a6d6054473a2d21140c0c0c0c0d090e1114171b1f262b333b444c56606a73808c96a1adada1968a7e7164574d42362a1e0a000000000000000000000000000000000000000a151f2c3945515d6774808d9aa6ac9f92867a6d6154606b7784919eabaa9d9084776b6054443a3024190d0100000000000000000000000000000000000714212d3a4754606d7a86929facafa4998c7f72665c50443a2f24181007000000000000000000000000000000030c16202c35414b53595b5c5955534e4a47454039312820160c020000000000000004090e111213131e2a3744515d6a7784909daaa99c8f8376695c504336291d13130807050200000000000000000000000000111e2a3744515d6a7783909daab0a3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1aa9d9083776a5d5044372a1d110000000000000000000000000005111d2935414c56636f7c8995a0aca89b8e8174675d5145392c37434e5865727f8b99a3aea2988b7f7265594f4332281e130800000000000000000000000000000a15202b343c4347494c4d5359616c75818e9ba9aa9f92867a6d6054473a2d2114070000000000000000000000131f2c3946525f6c7986868686868686868681756c61554b40342b1e150c13191e24292c2d323638393836323c4956626f7c86868686868686796c605346392d20130000000000000000000007111a242d363f474f5860686d747d848c929898928e8a8582807d7b7b7a797a7b7b7d8082858a8e929898928c847d746d675f584f473f362d241a11070000000000000000000000000000000000000007111a242d363f474f5860686d747d848c929898928e8a8582807d7b7b7a797a7b7b7d8082858a8e929898928c847d746d675f584f473f362d241a1107000000000000000000000000000000000000000000010d18242f3a45515d676e7c8592979fa39f96918c89888788898d91979fa49d9691847b6e615a504532291f140800000000000000000000000000000000000000000000000009121b252d363f474f565e616b70787d82878b909299989a9c9d9e9f9f9f9e9e9d9c9b999696918d89857f7a736d676059504a42382f261e140a00000000000000000000000000000006111b262f383f44515961696e757d83898f939a9c9fa2aaa7a8aaa9a7a7a7a7a7a9a9a8a6a9a29e9b99928e88827c746d676059504840372e251c110800000000000000000000000000000000000000000002080d14191e20252a2d2e31333537383839393938373634312e2d2a251f1c181211171c1f252a2d2e313436373839393938373533302d2c29241d1c160f0a04000000000000000000000000000000000000000006131f2c3946525f6c7985929facada093877a6d6054473a2d211919191919191a191e2022272b31373e454d565e686f7c87929fa8b1a79e9184786d6053463b31261a0e0000000000000000000000000000000000000004101d2935404b55626f7b88949faba3998b7e726557636f7c8996a0aca2988b7f7265594f4332281e13080000000000000000000000000000000000000713202c3945525d6876838f9ca9b3ab9e9184796d60554b4035292219100903000000000000000000000000040c151e28323d47535d65686965625f585653514b433a32281e1308000000000000080f151a1d1f2020202a3744515d6a7784909d9f9f9c8f8376695c504336292020201514120e09030000000000000000000000121e2b3845515e6b7884919eabafa396897c706356493d3023160a00000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1aa9d9184776a5e5144372b1e1100000000000000000000000000010d1924303a4854606b7783909daaac9f92857a6d6054473c313b4754606a7783909dabac9f92867a6d6054473d3221160c0100000000000000000000000000030f1b27323c464e545559575f616b707e8a939eaaa3988e8174675d5145392c2013060000000000000000000000121f2b3844515d6974797979797979797979756f65594f433a342e261e191e252a3035393a3f43454645433f3a4754606a6f79797979797979766c5f5346392d2013000000000000000000000009121b242d353e464e565d606b70797f858c91969a97928f8d8a888787868787888a8c8f92979a96918c857f79706b605d554e463d352d241b120900000000000000000000000000000000000000000009121b242d353e464e565d606b70797f858c91969a97928f8d8a888787868787888a8c8f92979a96918c857f79706b605d554e463d352d241b1209000000000000000000000000000000000000000000000007131d2935404b555f6a6f7d858f949c9fa09e999695949596999ea19f9b938e847b6e695e52483e3320170d020000000000000000000000000000000000000000000000000009131b242d353d444c525960656c70767b7f8386898b8d8f9091929292929190908e8c8a8784807c79726d67605d554f443f382f261d140c02000000000000000000000000000000000a141d262d3340474f575e616b70777d82878b8f9298989a9b9d9e9e9f9f9f9e9d9d9b999797928e8a86817c766f6a605d554f473e362e251c130a00000000000000000000000000000000000000000000000002080e1114191e20212426282a2b2b2c2c2c2c2a29272421201e1914100c07060b0f13191d20212427292b2c2c2c2c2c2a29262320201d1813100b050000000000000000000000000000000000000000000006131f2c3946525f6c7985929facada093877a6d6054473a2d2525252525262627252a2d2d33373c434750575f686e7a849199a3afaa9f958b7e71665c504438291f140900000000000000000000000000000000000000000c18242f3947535f6a7683909ca9ab9d908376695f6774818e9aa8ac9f92867a6d6054473d3221160c0200000000000000000000000000000000000004111d2935414c5664717e8a97a1adaca0968b7e71675d51453e342b221a140e09060400000101000205060c10161e27303a444f59656f7576726e6a6763605c554c443a3025190d010000000009121920262a2c2c2d2d2d3744515d6a778490939393938f8376695c5043362d2d2d2d22211e1a140e0600000000000000000000121f2c3845525f6b7885929eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0aa9e9184776b5e5144382b1e11000000000000000000000000000008131e2c38434f5965727f8b98a2aea2988b7e7165574d4237404b55626f7c8895a0aca79b8e8174685d5245392c201304000000000000000000000000000006131f2b37434e5860626567696e747d86929fa5a49f92867b6e61554c4135291d11040000000000000000000000101c2935414d5862696c6c6c6c6c6c6c6c6c68655d535246443f383026252a30363a4145474b4f525352504c47454e5860626c6c6c6c6c6c6c6c645a4f43372b1e1200000000000000000000000009121b232c343c434c525961676d737a7f84898e91979899979594939393949597999897918e89847f7a736d676159514c433c342c231b1209000000000000000000000000000000000000000000000009121b232c343c434c525961676d737a7f84898e91979899979594939393949597999897918e89847f7a736d676159514c433c342c231b1209000000000000000000000000000000000000000000000000010c18242f39434e58606b6f7b828a8f94979a9d9e9e9f9f9e9d9a99928f89817a6e695e574d42362c220e0500000000000000000000000000000000000000000000000000000109121b232b323a41464f535b6063696e7276797c7f8182848585868685848483817f7d7b7773706d66605d55514b433d332d261d140b020000000000000000000000000000000000020b141b2227353e454d525960636b70757b7e8285888b8d8f9091929292929191908e8c8a8885817e7a746f6a626058514b433d352d241c130a0100000000000000000000000000000000000000000000000000000205090e11141417191c1d1e1f1f201f1f1e1c1a171414110d08040000000003080d111314171a1c1e1f1f201f1f1d1c1a171413110d070100000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facada093877a6d6054473a32323232323232333430363a3b3f44464e535a61696e7a839096a1abaea3989083786c60544a3f34281c1003000000000000000000000000000000000000000007121d2b37434e5864717e8a97a1ab9f95887b6e616d7985929faba79b8e8174685d5245392c20130400000000000000000000000000000000000000010d19242f3a4653606d7985929ea9b2a89e9184796d605a50463d342a251f1a1313100c070e0e080e1114171c1f283039424c56606b7581837f7b7774706d675e564c4135291d110500000008121b242b313638393939393844515d6a77838686868686868276695c504337393939392e2d2b261f180f06000000000000000000121f2b3845525e6b7884919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0aa9d9184776a5e5144372b1e110000000000000000000000000000020f1b27323d4754606d7a86929facaa9c908376695f53473845515c6774808d9aa7aca095897c6f63564c4135291d110400000000000000000000000000000815222e3b4754606a6f7274777b81879298a2a39f928c7f72695f53433a2f24190d0100000000000000000000000d1925303b4650585d5f60606060606060605b5e60605f53504a42382e30363a41464c5254585c5e5f5f5c5853514b4e5456606060606060605f5a52493e33271b0f0000000000000000000000000009111a222b313a41454f555d60686d72787d8185888b8d8f919292939292918f8d8b8885817d78726d68605d554f45413a312a221a11090000000000000000000000000000000000000000000000000009111a222b313a41454f555d60686d72787d8185888b8d8f919292939292918f8d8b8885817d78726d68605d554f45413a312a221a1109000000000000000000000000000000000000000000000000000007121d27313c464f5960696e777d82888b8e909192929291908d8b86827d746d685e574d453b30241a100000000000000000000000000000000000000000000000000000000000091019202830363d41495053575e6165676d6f7274757778787979787877767472706e696763605c54514c45403a3128221c140b0200000000000000000000000000000000000000020a1117232c333b42464f54596063696e7276797c7e808283848585868585848382807d7b7975716d68625f58544e45403a312b231b120a01000000000000000000000000000000000000000000000000000000000000020507080b0d0f11111213131312110f0d0b080705010000000000000000010507070b0d10111213131312110f0d0a07060401000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facada093877a6d6054473f3f3f3f3f3f3f3f404042424647495053585f626c717b839095a0a8afa59f92867c6f655b5042382e23170c000000000000000000000000000000000000000000010f1a26313c4653606d7985929eaca7998c7f7366717d8a98a2aca095897c6f63564c4135291d1104000000000000000000000000000000000000000008131f2c3845515c6773808c97a1adada1968d80746c61584e463e36302a26201f1c181b1a1b1b191e2023282c313a424a545d68707d898f8c8884807d796d685e5246392d2013070000040f19242d353d424546464646453d4f5b6771777979797979797670665a4e3b44464646463b3a37312a21180e030000000000000000111e2b3844515e6b7784919eaab0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a99d9083766a5d5043372a1d100000000000000000000000000000000a16202c3945515d6774818e9aa7ab9f94887b6e62544a3f4653606d7985929fabaa9d9084776b6054443a3024190d0100000000000000000000000000000916222f3c4955626f7c7f8084888e9299a29f99928c80746d63574d4231281e130800000000000000000000000008141f2a343e464d51525353535353535761686b6c6c6c605c544a3f353a41464c52565d6065696b6c6b6965605c554e474953535353535353534f4940372c21160a00000000000000000000000000000810191f282f353e434b51565d60666c7074787b7e80828485858685858482807e7b7874706c66605d56514b433e352f281f1910080000000000000000000000000000000000000000000000000000000810191f282f353e434b51565d60666c7074787b7e80828485858685858482807e7b7874706c66605d56514b433e352f281f191008000000000000000000000000000000000000000000000000000000010b151f2a343d474f575e656c70767b7e8183848586858483817e7b756f6b605d564d453b33291f1208000000000000000000000000000000000000000000000000000000000000070e161e252a2f383f44464d5354555c60636567696a6b6c6c6c6b6b6a69686663615e575653504a45413a352f281f17110a020000000000000000000000000000000000000000000006111a202930363d44484f54565e6165666d6f7174757778787979787877767573716f6d6664605d56534e47433d352f281f1911090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facada093877a6d60544c4c4c4c4c4c4c4c4c4c4d4e4d5254535b60636a6e757e859195a0a7afa59d938b7f726a5f53493f30261c1106000000000000000000000000000000000000000000000a151f2c3845515c6773808d9aa4aa9d9184776a75828e9baaaa9d9084776b6054443a3024190d01000000000000000000000000000000000000000004101c2834404b55606d7a85929ea7b1a89d928a7e706a60585046423b36312d2c282327272728252a2d2e34383e434c545c666d7a84919c9896918d89857a6d6154473a2e21140700000915202b353f474e5253535353514948555f676a6c6c6c6c6c6c69665e54474851535353534846423c332a1f14090000000000000000111e2a3744515d6a7784909daab0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1a99c8f8276695c504336291d1000000000000000000000000000000004111d2935414c55626f7c88959faba6998d8073665c50444d5764717e8a97a2ada2988b7f7265594f4332281e13080000000000000000000000000000000e1a2734414d5a6774808c8d90959b9fa098928e877f746e645b51453c311f160c01000000000000000000000000020d18222c343b4144464646464646505c6873787979796d665c504441454c52565e61686d727678797876726d675f584e464646464646464646433e372e251b1005000000000000000000000000000000070d161e2429313a40454c52545b6063656c6e717476777879797978777674716e6c6563605b54524c4540393129241e160d070000000000000000000000000000000000000000000000000000000000070d161e2429313a40454c52545b6063656c6e717476777879797978777674716e6c6563605b54524c4540393129241e160d070000000000000000000000000000000000000000000000000000000000030d18222b353d454d535b6063696e71747677787978777674716e69636059524c433b332921170d0000000000000000000000000000000000000000000000000000000000000000050c13191d262d33373b4246484b515356585a5c5d5e5f5f5f5f5e5d5d5b595754534d4946443f38352f29241d160d0600000000000000000000000000000000000000000000000000080e171f252a33383d44484d5254545c60626567686a6b6b6c6c6c6b6a6a68666462605c5454524c47433c383229241d160d07000000000000000000000000000000000000000004080a0b1313131313131311110e0b060100000000000000000004090e11121313131313131313070705010000000000000000000000060b0e1011131313131313130a0a0804000000000000000000000000000000000000000006131f2c3946525f6c7985929facada093877a6d6058585858585858585859595a5b565e6164656c70757c828a9297a0a8afa59e938e81746d62584e41382d1e150a000000000000000000000000000000000000000000000004101c2834404b55616e7b87939faca095887b6f7985929faca3988b7f7265594f4332281e1308000000000000000000000000000000000000000000000c18232e3945525d68727f8c959faaaea49f92867c6f6a625a524d46423c3a38342e343434353036393b3f444650565d666d78828f96a0a8a09e988d8074685e5246392d20130700000e1a26313d4751595e5f6060605e56544f555b5d6060606060605c5a544d53555d6060606055534d453c31261a0e0200000000000000101d2a3643505d697683909ca9b1a5988b7e7265584b3f3225180700000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3a89b8f8275685c4f4235291c0f000000000000000000000000000000010d19242f3a47545f6a7783909da9ab9e9184796d605346525e6976828f9ca9ac9f92867a6d6054473d3221160c020000000000000000000000000000000e1a2734414d5a6774808d9a9da0a7a0969186817b726d645c53493f332a1f0d04000000000000000000000000000006101a222a303538393939393945525e6b7885868686786d60534a4c51565e61686d737a7f82858685837f796f6a5f584e42382e393939393937332c251c13090000000000000000000000000000000000040c13191f282f353a41454a5053535b60626567696a6b6c6c6c6b6a69676562605b5353504a45413a352f281f19130c0400000000000000000000000000000000000000000000000000000000000000040c13191f282f353a41454a5053535b60626567696a6b6c6c6c6b6a69676562605b5353504a45413a352f281f19130c0400000000000000000000000000000000000000000000000000000000000000060f19232b333b41495053575f6164676a6b6b6c6c6b6a6764615e57544f45413a312921170f0500000000000000000000000000000000000000000000000000000000000000000002080b141b22272b31363a3b404547494c4e4f5152525353525151504e4c4a4846423d3a38342e29241e18130c04000000000000000000000000000000000000000000000000000000050d141a21272c33383b4246474a505355585a5c5d5e5f5f5f5f5e5e5d5b59575553504a4745413a37312b272018130c0400000000000000000000000000000000000000050c11141717202020202020201e1d1b17120c0400000000000000080f151a1d1f20202020202020201413110d080200000000000000040b11171a1d1e20202020202020171614100b0500000000000000000000000000000000000006131f2c3946525f6c7985929facada093877a6d656565656565656565656566676869696e7074787d81878f939ea1a9aca49f938e81786d605b51463c2f261b0c030000000000000000000000000000000000000000000000000c18232e3946535f6976828f9ca9a7998c7f737d8a98a2ac9f92867a6d6054473d3221160c020000000000000000000000000000000000000000000007121d2935414c56606d78839098a2acaea29892857c716c615e57534d494645404141414141424146474a50535a61686d78818e949fa8b0a69f92857a6d61564c4135291d11050000111d2a36424e59636a6c6c6c6c6b636059514a51535353535353504e50575f626a6c6c6c6c6c5f574d42372b1e1205000000000000000f1b2835424e5b6875818e9ba8b3a6998c807366594d402f24180c00000000000000000000000000000000000000000000020e1b2835414e5b6874818e9ba7b4a79a8e8174675b4e4134281b0e0000000000000000000000000000000008131e2b37434e5865717e8b97a2ada1968a7d7063564c54616e7b87939faca79b8e8174685d5245392c201304000000000000000000000000000000000e1a2734414d5a6774808d9aa5a9aa9e91847d78716c605d554b43392f24180c050000000000000000000000000000000810181f25292b2c2d2d2d3643505d6976839098897c6f635a56555d60686d737a80858b8f9192928f8b847c6f6a5f544a3f34282d2d2d2d2b27211b130a0100000000000000000000000000000000000001080d161d24292f35383f444649505355585a5c5e5f5f605f5f5e5c5a585553504946443f38352f29241d160d080100000000000000000000000000000000000000000000000000000000000000000001080d161d24292f35383f444649505355585a5c5e5f5f605f5f5e5c5a585553504946443f38352f29241d160d080100000000000000000000000000000000000000000000000000000000000000000007111920292f383f44464d5355585b5d5e5f5f5f5e5d5a5854524d48443d352f281f170f05000000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f252a2d2f34383a3c3f4142444545464645454443413f3d3b3a36312d2c28231c19130d0701000000000000000000000000000000000000000000000000000000000002090e161c21272c30363a3b3f4446494b4d4f5051525253525251504f4d4a4846443f3a39352f2b26201b160d0701000000000000000000000000000000000000000810171c2123242d2d2d2d2d2d2d2b2a27231d160e06000000000009121920262a2c2c2d2d2d2d2d2d2d21201d19130c050000000000050e161d22272a2a2d2d2d2d2d2d2d2423201c171008000000000000000000000000000000000006131f2c3946525f6c7985929facada093877a72727272727272727272727273737576787a7d8184898e93999ea6ada8a19a938c81786d665c50493f342a1d140a0000000000000000000000000000000000000000000000000007121d2b37424d5764717d8a97a1aa9d908377818e9baaa79b8e8174685d5245392c2013040000000000000000000000000000000000000000000000000d19242f3a44505c666e7b86929aa4afaaa29792867e756e69615f575653514b4e4e4d4e4e4f4c5254545c60646c717a828e939ea6b0a89f948c7f72685e52443a3025190d010000121f2c3845525e6a757979797978706b605c544d4546464646434b515a61696e777979797976695f53463a2d211407000000000000000d1a2734404d5a6773808d9aa6b3a89b8e817568554b4035291d100400000000000000000000000000000000000000000005121e2b37424d57697683909ca9b2a5988c7f7265594c3f3226190c00000000000000000000000000000000010f1b26323c4753606d7985929faba99b8e8275685d525966737f8c99a4aca095897c6f63564c4135291d1104000000000000000000000000000000000e1a2734414d5a6774808d95999c9fa096918a847e756d675d554b40352921160b00000000000000000000000000000000060d14191c1f1f20202834414e5b6774818e9a8e81756c656364676d737a80868d92989c9e9f9e9c9691857c6f665c5044382b1f2020201e1b16100901000000000000000000000000000000000000000000040c13181e24292d3338393f4446484b4d4f515252535252514f4d4b4846443f3938332d29241e18120c0400000000000000000000000000000000000000000000000000000000000000000000000000040c13181e24292d3338393f4446484b4d4f515252535252514f4d4b4846443f3938332d29241e18120c04000000000000000000000000000000000000000000000000000000000000000000000000070e171d262d33373b4246484b4e505152535251504e4b4746423b383229241e160d05000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f141a1e2123292c2d303234363738393939383837363533302e2d2a25201f1c17110d0801000000000000000000000000000000000000000000000000000000000000000000050b10161c1f252a2d2e34383a3c3e414244454546464545444342403e3c3a38342e2c29241e1b150f0a04000000000000000000000000000000000000000008121a22282d3031393939393939393837332e2820180e0400000008121b242b31363839393939393939392e2d2a251e160e05000000040e1720272e3336373939393939393931302d28221a11080000000000000000000000000000000006131f2c3946525f6c7985929facb2a5988c7f7f7f7f7f7f7f7f7f7f7f7f7f7f80818385878a8d91969b9fa4ababa39f9691887f776d665c544a3f372d22180b0200000000000000000000000000000000000000000000000000000e1a26313c4653606d7984919eaba095887b85929faba095897c6f63564c4135291d110400000000000000000000000000000000000000000000000008131e28343f4a545f69717e88939fa3afa9a298928b827b746e696662605c545b5a5a5a5b5c565e6164666d71767e848f949ea5afaaa1968f82786c60564c4132281e130800000013202c3946535f6c7987868686847d736d665f575146413e454d555c606c717b83868686867b6e6155483b2e221508000000000000000c1825323f4b5865727e8b98abb5aa9d908477675d5145392c1f13060000000000000000000000000000000000000000000714212d3a46535f697885929fabb4aa968a7d7063574a3d3024170a00000000000000000000000000000000000a151f2c3945515d6774808d9aa6ac9f92867a6d6154606b7784919eabaa9d9084776b6054443a3024190d01000000000000000000000000000000000e1a2734414d5a67748087898c90949da09e96918a81796d675d51453d33271c10030000000000000000000000000000000002080d101213131825323f4b5865727e8b98938b7f75717071747a80858d92989fa2aaa4a3a5a8a1979083786d6053463a2f24190d13120f0a0500000000000000000000000000000000000000000000000001070d13191c22282b2d3337393b3e41434445464646454443413e3b3937332d2b28221c19130d070100000000000000000000000000000000000000000000000000000000000000000000000000000001070d13191c22282b2d3337393b3e41434445464646454443413e3b3937332d2b28221c19130d07010000000000000000000000000000000000000000000000000000000000000000000000000000050b141b22272b31363a3b3e4143444546454443413e3b3a36302c272119130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214181c1f20232527292a2b2c2c2c2c2b2a2a28262421211e1a1312100c060000000000000000000000000000000000000000000000000000000000000000000000000000050b1014191e2023282c2d2f3234353738383939393837373533312f2d2b2823201d19130f0a0400000000000000000000000000000000000000000005101a242c33393c3e4646464646464644433f39322a20160c0100040f19242d353d42454646464646464646463936302820160c0200000b16202932393f4344464646464646463d3c39332c231a100500000000000000000000000000000006131f2c3946525f6c7985929facb8a79c918c8b8b8b8b8b8b8b8b8b8b8b8c8c8d8e909297979a9ea1a8acaba39f99928d847d736c655c544a42382e241b100600000000000000000000000000000000000000000000000000000009141f2c3844505c6673808c99a4a79c8f828f97a2aa9d9084776b6054443a3024190d01000000000000000000000000000000000000000000000000010b17232e38424d57616c727f8c919fa3abaaa39f938f86817b76726f6d66696867676768686a686e7174797d838a91969fa6afa9a19891847a6d665b50443a3020160c020000000b1825323e4b5865717e8b9296918780786e69625b524c4550575f676d747e869095948d8074695f53463a2d211407000000000000000916232f3c4956626f7c8999a3afac9f92867a6d6053473a2d22170b0000000000000000000000000000000000000000000815222e3b4855616e7b8898a2aeaea298887b6e6155483b2e221508000000000000000000000000000000000004101d2935404b55626f7b88949faba3998b7e726557636f7c8996a0aca2988b7f7265594f4332281e130800000000000000000000000000000000000713202d3a4653606d787b7c7f838990959fa09d938e82796d60594f44382c1f1409000000000000000000000000000000000000000305060815222f3b4855626e7b88959b918b827e7d7e81858c92989fa2a29f9a9796989c9f9f958a7d7164554c4135291d110405020000000000000000000000000000000000000000000000000000000001080d11171c1f22272b2d2f323436373839393938373634322f2d2b27221f1c17110d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d11171c1f22272b2d2f323436373839393938373634322f2d2b27221f1c17110d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f262a2d2e31343738383939383734312e2d2a251f1b160d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205070c10131416191b1c1e1f1f20201f1e1e1d1b19171514120e09060300000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e1114171c1f20222527292a2b2c2c2c2c2b2b2a28262422201f1c1713110d080100000000000000000000000000000000000000000000000c17222c363e45494a53535353535353514f4b443c32281d1206000915202b353f474e5253535353535353535346413a32281e13080006111d27323b444a4f51535353535353534a49443e362c22170b00000000000000000000000000000006131f2c3946525f6c7985929facb8ada39c98989898989898989898989898999a9b9c9ea1a9a7aba9a8a19e99928e87817a706b605b534a423930261c12090000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939fac9e948f949ea9a3988b7f7265594f4332281e1308000000000000000000000000000000000000000000000000000006111c26303c45505a636d737f8b9299a1a8aea59e98928d87837f7c79777674747474747577787a7d81848a90949ea1a9afa8a19792867c6f685e544a3f32281e0e04000000000b1724313d4a56626d73808c9399938d837b726d615e56515a61696e79818a9298958f82786d60574d42372b1e1205000000000000000714202d3a4753606d7a86929facafa399897d7063544a3f33281c0f030000000000000000000000000000000000000004111d2935414c5665727e8b98aab3ab9f9285786c605346392d2013060000000000000000000000000000000000000c18242f3947535f6a7683909ca9ab9d908376695f6774818e9aa8ac9f92867a6d6054473d3221160c02000000000000000000000000000000000006121f2b3844505c666d6e6f72767c838f949fa59e948e81746b6054483b31251a0e020000000000000000000000000000000000000000000814212e3a47535f6a7784919d9b948f8b898a8d92989fa2a29f98928d8a898b90949c9c8f8276675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000060b0f12171b1f20222527292b2c2c2d2c2c2b29272522201f1b17120f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12171b1f20222527292b2c2c2d2c2c2b29272522201f1b17120f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f141a1e212225282a2b2c2c2c2b2a272521201e1a140f0b04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090c0e0f1112121313121211100e0c0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205060c10121316181a1c1d1e1f1f201f1f1e1d1c1a17151312100b06040100000000000000000000000000000000000000000000000004111c28333e48505557606060606060605e5c564e44392e23170b010e1a26313d4751595e5f606060606060605f524c443a3025190d010b17222e39444d555b5d60606060606060575550483e33281c1004000000000000000000000000000006131f2c3946525f6c7985929facacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a6a6a8a9a8a6aba39f9c9996918c87817b746d6761595049413930271e140a0000000000000000000000000000000000000000000000000000000000000c17232e3846535e6975828f9ca8a69e9c9ea6ac9f92867a6d6054473d3221160c020000000000000000000000000000000000000000000000000000000a141e2a333e48515b636d737f8791969fa4acaaa29f9a93908c898684828181808181828385878a8e91979c9fa6adaca59d9691857c6f6a60564c42382d20160c00000000000915212e3a45505a636e74818e939f9590867e756d68605c606c717b838e939f969083796d665c50453c31261a0e020000000000000006131f2c3945515d677783909daab5ab9a8d8073665b5044382b1f140a000000000000000000000000000000000000010c13202c3945525d6875828f9ba8b5a89b8f8275665b5044382b1f120600000000000000000000000000000000000007121d2b37434e5864717e8a97a1ab9f95887b6e616d7985929faba79b8e8174685d5245392c20130400000000000000000000000000000000000003101c28343f4a545c606162666b6f79828f97a1a69d93897d7063574d42362a1e120500000000000000000000000000000000000000000006121e2b37424e5765727e8b95a09e9c9896979a9fa2a39f98928c85817e7d7e838c929f92867a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000003060b0f121315181a1c1e1f1f201f1f1e1c1a181513120f0b0603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060b0f121315181a1c1e1f1f201f1f1e1c1a181513120f0b0603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1e1d1b181414110e090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607090b0e0f1112121313121211100f0d0b09070603000000000000000000000000000000000000000000000000000000000814212d3945505a61646c6c6c6c6c6c6c6b6760564b3f33271b0e04111d2a36424e59636a6c6c6c6c6c6c6c6c6c5e564c41362a1d11050e1a27333f4a555f676a6c6c6c6c6c6c6c64615a5044392d201408000000000000000000000000000006131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9d9c9b99979992908c89847f7b746e69605d554f443f382f271e150c0200000000000000000000000000000000000000000000000000000000000006111c2a36424d5763707d8a96a1acaaa8aab0a79b8e8174685d5245392c20130400000000000000000000000000000000000000000000000000000000020c18212c363f49515b636d727d848e939a9fa6acaca49f9d999992918f8e8d8d8d8e8f909298979a9ea1a9abaca7a09d938e847c6f6a60584e443a2f261c0e05000000000005111d29343f48525b606d78818f959f98928b827a706b676d747e8690959d9891847b6e675d544a3f332a1f1409000000000000000004101d2935404b556673808d99a9b3ab9e9184786c6053463d2f261c1106000000000000000000000000000000000008131e28343f4a54606d7a86929facb1a7988b7e7265544a3f33281c0f03000000000000000000000000000000000000010f1a26313c4653606d7985929eaca7998c7f7366717d8a98a2aca095897c6f63564c4135291d1104000000000000000000000000000000000000000b17232e38424a505354565960676d7a85919eaba59c8f8276695e53463a2d211407000000000000000000000000000000000000000000020e1a26313c4653606c78839097a1a8a4a3a4aaa29f98928d86807a74717072767f8c94998a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000000030506080b0e1011121313131211100e0b080605030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506080b0e1011121313131211100e0b0806050300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e101112131211100e0b0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040613131313131313130d0c0a070200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303c4955616c71797979797979797772675c4f43372a1d1106121f2c3845525e6a75797979797979797976685e5246392d201307101d2a36434f5b67717779797979797979706c6155493c3023160a000000000000000000000000000006131f2c3946525f6c798592939393939393939393939393939393939398929291918f8e8d8b8886837f7c78736e69615f57514c433e332d261d150c0300000000000000000000000000000000000000000000000000000000000000000e1a25313b4653606c7884919e9f9f9f9f9fa095897c6f63564c4135291d11040000000000000000000000000000000000000000000000000000000000060f1a242d374049515b626b6f7a818790949b9fa3ababa9aba39f9d9c9b9a9a9a9b9b9d9fa2aaa7ababaca49f9c959189817a6e6a60584e463d32281d140a000000000000010c18222d364044505c666d79829095a09f938f857d746f79818a9298a09992867c6f695e554b42382e21180e030000000000000000000c18242f3c4956636f7c8997a1adada196897d7063584e42382d22170f06000000000000000000000000000000081119242f3844505c66727e8b98a3aeaca095877b6e6154483b2d22170b00000000000000000000000000000000000000000a151f2c3845515c6773808d9aa4aa9d9184776a75828e9baaaa9d9084776b6054443a3024190d010000000000000000000000000000000000000006111c2630383f444647494f555e68727f8c99a3ab9f94877b6e6154483b2e2115080000000000000000000000000000000000000000000009151f2b3844505b666f7c8591969c9f9f9e9c98928d86807a736d686463656d76828f998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d111320202020202020201a1917130e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000002080c101212131313131313131306040000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717e8686868686868684776b5e5144382b1e110613202c3946535f6c7987868686868686867a6d6154473a2e211407111e2a3744515d6a7783868686868686867e7064574a3d3124170a000000000000000000000000000006131f2c3946525f6c798686868686868686868686868686868686868686858585848381807e7c7976736f6c65615e57534d45413a3127221b140b0300000000000000000000000000000000000000000000000000000000000000000009141f2b3844505b66737f8c999393939393939084776b6054443a3024190d0100000000000000000000000000000000000000000000000000000000000008121c252e374048515960686d757c83898e92999b9fa2a9a6a8a9a9a7a7a7a7a7a8aaa9a8a6aaa29f9c9a938f89847d746d685f584e463d342b20160b020000000000000006111b2428343f4a545d676d7a839196a19e979188807b838e929fa29f93877d706a5f574d433a30261c0f06000000000000000000000713202d3a4653606d7985919eabb2a89c8f82766a60544a3f3328211810080200000000000000000000000309111a232935414c56606d7884919eaab3a99d908377695e53463a2d1c1106000000000000000000000000000000000000000004101c2834404b55616e7b87939faca095887b6f7985929faca3988b7f7265594f4332281e13080000000000000000000000000000000000000000000a141e262e34383a3b3d434c56606d7a86929faca6978a7e7164574b3e3124180b00000000000000000000000000000000000000000000030f1c28333f4a545f6a6f7c848c909292918f8b86807b746e68605d56565b64707d8a998f8275685c4f4235291c0f0200000000000000000000000000050a0d0f10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010100f0d0a05000000000000000000000000000000000000000000000105090b0b131313131309090703000000000000000003070b0d0e1313131311100e0a0600000306080913131313100f0d09040004090e111213131313130a090704000000000000000000000000000000000003080b0d0e13131313070604000000000000000005090d0f1013131312110f0c07010000000000000000000000000000000000000000000000000000000000000000040c13181d202d2d2d2d2d2d2d2d2626231f19120a01000000000000000000000000000000000000000000000000000000000000000000000000000000060d13181c1e1f202020202020202013100c07010000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a93939393939184776b5e5144382b1e110613202c3946535f6c7986929393939393877a6d6154473a2e211407111e2a3744515d6a77849093939393938a7d7064574a3d3124170a000000000000000000000000000005121f2b3844515d6974797979797979797979797979797979797979797979787877767573716f6d666662605b53534d47423c352f281f17110a0200000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616e7a8786868686868686867f7265594f4332281e130800000000000000000000000000000000000000000000000000000000000000000a131c252e363f474f565d606a6f767c81868b8e929797999b9c9e9e9f9f9f9e9e9d9d9b999798928f8b87827d78706b605d564e463c342b22190e05000000000000000000091217232e38424b555d686e7b849197a2a19a938d8890959da59d928b7f726b61584e453b31281e140a000000000000000000000006121f2b3844505c6673808d99a4afaa9f94897c6f665b50443d332a2219140e09060400000100000406090e151a232b353d45525d68717e8b96a0acada1978b7e7165574d42362a1e0a000000000000000000000000000000000000000000000c18232e3946535f6976828f9ca9a7998c7f737d8a98a2ac9f92867a6d6054473d3221160c02000000000000000000000000000000000000000000020c141c23282b2d2e313a45525d687783909daaa6998d8073665a4d4033271a0d00000000000000000000000000000000000000000000000b17222d38424e585f6a6f797f83858684827f7a736e69615e56524c4a54606d7987868683776a5e5144372b1e11040000000000000000000000030a1016191c1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1c1916100a0300000000000000000000000000000000000000060c1115171820202020201615130f0a040000000001080e13171a1a202020201e1d1a16110b0a0f131516202020201c1b1915100a0f151a1d1f2020202020171614100b050000000000000000000000000001080e14171a1b202020201413100c0701000000020a1015191c1c2020201f1e1b18130c05000000000000000000000000000000000000000000000000000000000000040d161d24292c393939393939393933322f2a241c130a00000000000000000000000000000000000000000000000000000000000000000000000000000710181f24282b2c2d2d2d2d2d2d2d2d1f1c18120b0300000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a979f9f9f9e9184776b5e5144382b1e110613202c3946535f6c7986929f9f9f9f94877a6d6154473a2e211407111e2a3744515d6a7784909d9f9f9f978a7d7064574a3d3124170a000000000000000000000000000003101c2935414d5862696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a6968666462605c545653504946423b373129241e160d06000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3846525e686e797979797979797979726d6256473d3220160c020000000000000000000000000000000000000000000000000000000000000000010a131c242d353d444c525860626a6f757a7e8285888a8d8e909192929292929191908e8c8a8985827f7b75706c656059524c433c332b22191007000000000000000000000006111c263039434c565e696f7c859299a3a49f9a959da0a79e948d80746d62594f463c33291f160c02000000000000000000000003101c28343f4a54616e7b87939fabb0a69d9083786c60594f453c342a251f1a1312100c070e070c1013131a1f262b353d47505a606d7a84919ea8b2a99e9285796d6053473b31251a0e0000000000000000000000000000000000000000000007121d2b37424d5764717d8a97a1aa9d908377818e9baaa79b8e8174685d5245392c2013040000000000000000000000000000000000000000000000020a11171c1f20212935414c566774818e9aa7a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000006111c262f3c464e585f676d727678797876726d68615e56524c454145515d67757979797771675b4f43362a1d100400000000000000000000040d151c21262929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292926211c150d0400000000000000000000000000000000000911181d2124252d2d2d2d2d23221f1b160f070000020b12191f2326272d2d2d2d2a2927221c15151b1f22232d2d2d2d292825211b141920262a2c2c2d2d2d2d2423201c1610080000000000000000000000020b131a1f2426272d2d2d2c201f1d18120b0300040c141b212528292d2d2d2b2a28231e170f0600000000000000000000000000000000000000000000000000000000010c161f282f35394646464646464646403f3b352e261c120700000000000000000000000000000000000000000000000000000000000000000000000006101922293035383939393939393939392c29231d150d03000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4acaa9e9184776b5e5144382b1e110613202c3946535f6c7986929facaca094877a6d6154473a2e211407111e2a3744515d6a7784909daaaca3978a7d7064574a3d3124170a0000000000000000000000000000000d1925303b4650585d5f606060606060606060606060606060606060605f5f5e5e5c5b5a585553514b4946443f3836312b261f19130c04000000000000000000000000000000000000000000000000000000000000000000000000000006111c2a36414d565e616c6c6c6c6c6c6c6c6c65625b5146342b210e0400000000000000000000000000000000000000000000000000000000000000000000010a121b232b323a41454e54586062686d7175797b7e80818384858586858584848381807e7c7975726e6963605b534f45413a312a21191007000000000000000000000000000a141e27313a444d575f6a707d879299a49f9f9f9fa9a0958f82786d605b51473e342a21170d04000000000000000000000000000b17232e3846535e6975818e99a3aeab9f958b7f726b60574e463e36302a25201f1c181b1a1b181c1f20262b31373f474f59626c74818e97a1adada1978d8073675c514538291f140900000000000000000000000000000000000000000000000e1a26313c4653606d7984919eaba095887b85929faba095897c6f63564c4135291d110400000000000000000000000000000000000000000000000000060b10121319242f404d5a6673808d99a6a79b8e8174685b4e4135281b0e0200000000000000000000000000000000000000000000000a141d2a343c464e555d6065696c6c6b6965615e56524d46413b35414b555d6b6c6c6c6a675f564b3f33271b0e02000000000000000000030d161f262d3235363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363635322d261f160d0300000000000000000000000000000009121b22292e31323939393939302f2c2721191007010b141d242b303334393939393736332e271f20272b2e2f393939393635312c261e242b3136383939393939302f2c28211a1108000000000000000000010b141d242b303334393939392d2c29241d150d030c161e262d3235363939393837342f2921180f0000000000000000000000000000000000000000000000000000000007131d28313a404553535353535353534d4b4740382e24190e0200000000000000000000000000000000000000000000000000000000000000000000020d18222b343b414445464646464646464638342f271f150b010000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0aa9e9184776b5e5144382b1e110613202c3946535f6c7986929facada094877a6d6154473a2e211407111e2a3744515d6a7784909daab0a3978a7d7064574a3d3124170a00000000000000000000000000000008141f2a343e464d51525353535353535353535353535353535353535352525251504e4d4b494645403c3937332d2a251f1a150d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000e1925303b444d52545f6060606060606060585651493f3422190f00000000000000000000000000000000000000000000000000000000000000000000000000091119202830353d43474e54565e6164656c6e717375767778797979787877767573716f6d6665615f57535049413d352f281f180f070000000000000000000000000000020c151f28323b454e58606b717e8793939393939393969083796d665c50493f352c22190f05000000000000000000000000000006111c2a36424d57616e7b86929fa8b1a79f92877d6f6a5f585046413b36312d2c282327272723282c2d31373c42475159606b717e8b939da9b1a79e92857a6d61554b4034291c1004000000000000000000000000000000000000000000000009141f2c3844505c6673808c99a4a79c8f828f97a2aa9d9084776b6054443a3024190d010000000000000000000000000000000000000000000000000000000306081926323f4c5965727f8c98a5a79b8e8174685b4e4135281b0e020000000000000000000000000000000000000000000000020b18222a343c434b5154595d5f5f5e5c5854524c46423b36302f3a434b515e6060605e5b564d44392e22170b000000000000000000000a151f2831383e424343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343423e3831281f150a000000000000000000000000000006111b242d343a3d3e46464646463c3b38322b23190f08121d262f363c3f414646464644423f3931292b32373b3c4646464643413d3830282d353d424546464646463d3c38332c231a1005000000000000000008131d262f363c4041464646463a39352f271f150b141e2830383e41434646464544403a332a210f050000000000000000000000000000000000000000000000000000010d18242f3a434b515f606060606060605957524a40352a1f13070000000000000000000000000000000000000000000000000000000000000000000008131f29343d464c5152535353535353535345403931271d12070000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4acaa9e9184776b5e5144382b1e110613202c3946535f6c7986929facaca094877a6d6154473a2e211407111e2a3744515d6a7784909daaaca3978a7d7064574a3d3124170a000000000000000000000000000000020d18222c343b41444646464646464646464646464646464646464646464545444342403e3c3a38342e2d2b27221b1a140e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f29323b4146475353535353535353534c4a463f372d2310070000000000000000000000000000000000000000000000000000000000000000000000000000070e161e242932373d43484c5254535b6062646668696b6b6c6c6c6b6b6a6a68666462605c5455534d46443f382f29241e160d0600000000000000000000000000000000030d162029333c464f59616c727f8686868686868686847b6e675d544a3f372d231a1007000000000000000000000000000000000e1a25313b46535f6973808d96a0abaea39991857c6f6a615a524d46423c3a38342e3434342e34383a3c42474d535b626b707d86929fa5afaa9f958b7e71685e5243392f23180c00000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939fac9e948f949ea9a3988b7f7265594f4332281e13080000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e02000000000000000000000000000000000000000000000000061018222a313a4145474c50525352504c4746413a36302a2528313a414547535353514f4b443b32281d110600000000000000000005101c26313a42494e50505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050504e49423a31261c1005000000000000000000000000010c18222d363f454a4b53535353534948433d352b21160e19242f3840474c4d53535353514f4a433b31343d434749535353534f4e49423a30353f474e5253535353534a48443e352c21160b00000000000000030e1a242f3841474c4e535353534745403931271d121b26303a42494e4f53535352504c453c3321170d030000000000000000000000000000000000000000000000000004111d2935404b555d6c6c6c6c6c6c6c6c66635c52473b2f23170a000000000000000000000000000000000000000000000000000000000000000000000c1824303b464f575d5f606060606060605f514b43392f23180c0000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a979f9f9f9e9184776b5e5144382b1e110613202c3946535f6c7986929f9f9f9f94877a6d6154473a2e211407111e2a3744515d6a7784909d9f9f9f978a7d7064574a3d3124170a0000000000000000000000000000000006101a222a303538393939393939393939393939393939393939393939393837363533312f2d2c2823201f1b17110e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393b4646464646464646463f3e3a342d251b1100000000000000000000000000000000000000000000000000000000000000000000000000000000040c131920272b32383a41464749505355575a5b5d5e5f5f5f5f5f5e5e5d5b59575653514a4846423b37332d261d19130c04000000000000000000000000000000000000040e17212a343d47505a626d727979797979797979786e695e554b42382e251b1108000000000000000000000000000000000009141f2a36424d57606d79849199a3afaba19791857c716c615e56534d494644404141414141404546494e53575f616d727d869298a3aeaba2989083776c60564c4131271d1207000000000000000000000000000000000000000000000000000c17232e3846535e6975828f9ca8a69e9c9ea6ac9f92867a6d6054473d3221160c020000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e02000000000000000000000000000000000000000000000000000610181f282f35393a3f43454645433f3a3936302a251f191f282f35393a46464644433f39322920160b000000000000000000000a16212d38424c545a5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5a544c42382d21160a00000000000000000000000005111d29343f48505658606060606056544f473d32271b131f2b36404a52585a606060605d5b554d43393d464e5456606060605c5a544c42333d4751595e5f6060606057554f473e33281c100400000000000008141f2b36414a52585a6060605f5e514b43392f2418212d38424c545a5c6060605e5c574f4533291f1409000000000000000000000000000000000000000000000000000613202c3945515d677679797979797979736e63574b3f3226190c00000000000000000000000000000000000000000000000000000000000000000003101c2835414c5761696c6c6c6c6c6c6c6c6c5c554b4034291c100400000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a93939393939184776b5e5144382b1e110613202c3946535f6c7986929393939393877a6d6154473a2e211407111e2a3744515d6a77849093939393938a7d7064574a3d3124170a00000000000000000000000000000000000810181f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2b2928272522201f1c1813120f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171f252a2d2e39393939393939393932312e29231b1309000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d151b21272c3035393a3f4446484b4d4e505152525352525151504e4d4b494644403b3a36312b27221b140b08010000000000000000000000000000000000000000050f18222b353e48515b62656c6c6c6c6c6c6c6c6b615e574d433a30261c1309000000000000000000000000000000000000030e1a26313b45515d676f7c87929fa4aea9a19791867e756e68615e575653514a4e4e4d4e4e4b515356575f62696e767f879298a2aaafa39992857c6e655b50443a301f150b010000000000000000000000000000000000000000000000000006111c2a36424d5763707d8a96a1acaaa8aab0a79b8e8174685d5245392c201304000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e020000000000000000000000000000000000000000000000000000060d161d24292c2d323639393836322e2d2a251e19140d161d24292c2d3939393736332e2820170e04000000000000000000000d1926323e49545e666969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969665e54493e3226190d0000000000000000000000000915212e3a45505a62656c6c6c6c6c6360594f43382c1f1723303c47525c64676c6c6c6c6a675f554a3f434e5860626c6c6c6c69655e54453b424e59636a6c6c6c6c6c6361594f44382c2014070000000000000b1724303c47525c64676c6c6c6c6a5d554b4035291d25323e49545e66696c6c6c6b686157453b31251a0e020000000000000000000000000000000000000000000000000714202d3a4753606d7986868686868686807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000005121e2b3844515d6973787979797979797976675c5145382c1f130600000000000000000000000000000000000000000000000000000000000b1724313e4a5764717e8686868686868684776b5e5144382b1e110613202c3946535f6c7987868686868686867a6d6154473a2e211407111e2a3744515d6a7783868686868686867e7064574a3d3124170a000000000000000000000000000000000000060d14191c1f1f202020202020202020202020202020202020201f1f1f1e1d1b1a18161313100c070503000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191e20212c2d2d2d2d2d2d2d2d2524221e1811090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161b1e25292d2d3337393b3e40424344454646464545444342403e3c3a38342e2d2a261f1b17110a020000000000000000000000000000000000000000000000061019232c363f4951565860606060606060605e54524d453b31281e140a010000000000000000000000000000000000000009141f2935404b55606a717e8b929ca4afa9a198928a817b746e696562605c545b5a5a5a5b545c6063666a6e747b828b9299a2aaaca49f92877d706a5f53493f32281e0d030000000000000000000000000000000000000000000000000003090e1a25313b4653606c7884919e9f9f9f9f9fa095897c6f63564c4135291d1109030000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e02000000000000000000000000000000000000000000000000000000040c13181d2021262a2c2c2b292521201d19130e09040c13181d20212d2d2d2b2a27221d160e0500000000000000000000000f1c2935424e5a6670767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767670665a4e4235291c0f0000000000000000000000000b1724313d4a56626c7179797979796f6b6054483b2f221a26333f4c58646e74797979797771675b4f424754606a6f79797979767065574d4245525e6a757979797979706b6155483c2f2316090000000000000d1a2633404c58646e747979797975675d5145392c1f2835414e5a667076797979787368574d42362a1e12050000000000000000000000000000000000000000000000000714202d3a4753606d7a8693939393938c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c788586868686868686796d6053473a2d20140700000000000000000000000000000000000000000000000000000000000a1723303c4955616c71797979797979797772675c4f43372a1d1106121f2c3845525e6a75797979797979797976685e5246392d201307101d2a36434f5b67717779797979797979706c6155493c3023160a0000000000000000000000000000000000000002080d1012131313131313131313131313131313131313131313121211100f0d0b09070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e111414202020202020202020191816120d060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13191d2022272b2d2f313335363838393939383837373533312f2d2c2823211e1a140f0b06000000000000000000000000000000000000000000000000000007111a242d373f464a4c5353535353535353524846423b33291f160c020000000000000000000000000000000000000000030c18242f39434e58626d73808d929fa4acaaa29f938e86807b76726f6d6669686767676869666d6f72777b81868f949fa3ababa39a938c7f726b61584e41382d20160c00000000000000000000000000000000000000000000000000050d141a1e212b3844505b66737f8c999393939393939084776b6054443a30241e1a140d0500000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e020000000000000000000000000000000000000000000000000000000001070d111314191d1f201f1d191413110d0802000001070d1113142020201e1d1b17110b04000000000000000000000000101d293643505c6976828383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838276695c504336291d100000000000000000000000000b1825323e4b5865717e86868686867d6f6356493c30231a2734414d5a6774808686868683776a5d51404b55626f7c868686868276695e534646535f6c7987868686867d7063574a3d3024170a0000000000010e1b2734414e5a67748086868687796d6053473a2d202936434f5c6976828686868578695e53463a2d2114070000000000000000000000000000000000000000000000000714202d3a4753606d7a86939f9f9f998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929393939393867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000814212d3945505a61646c6c6c6c6c6c6c6b6760564b3f33271b0e04111d2a36424e59636a6c6c6c6c6c6c6c6c6c5e564c41362a1d11050e1a27333f4a555f676a6c6c6c6c6c6c6c64615a5044392d201408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507081313131313131313130c0b090601000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1113171b1f20222427282a2b2c2c2c2c2c2b2b2a28262423201f1c1814120e0903000000000000000000000000000000000000000000000000000000000008121b252d343a3e3f4646464646464646453b3a36302921170d040000000000000000000000000000000000000000000007121d27313d46505a636e73808c939aa1a9aea59e98928d87837f7c79777674747474747677797c7f83888e92999fa6afa8a09992887f726d62594f463c2f261b0e04000000000000000000000000000000000000000000000000050f171f252a2d2e333f4a54616e7a8786868686868686867f7265594f43322e2d2a251f170f05000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e02000000000000000000000000000000000000000000000000000000000000010406070c10121312100c070705010000000000000104060713131311100e0b06000000000000000000000000000013202d394653606c79868f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f86796c605346392d20130000000000000000000000000b1825323e4b5865717e8b939393897c6f6356493c30231a2734414d5a6774808d93939084776a5d5145515d6774818e939393877b6e61544a3f535f6c79869293938a7d7063574a3d3024170a0000000000000b1825313e4b5864717e8b9399897c6f6356493c30232633404d596673808c9397877b6e6154483b2e2115070000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0aca6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929f9f9f9f93867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000004111c28333e48505557606060606060605e5c564e44392e23170b010e1a26313d4751595e5f606060606060605f524c443a3025190d010b17222e39444d555b5d60606060606060575550483e33281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105060b0f121315181a1b1d1e1f1f201f1f1e1e1d1b1a18161312100c070502000000000000000000000000000000000000000000000000000000000000000009131b23292e31323939393939393939382e2d2a251f170f050000000000000000000000000000000000000000000000010b151f2b343f48525c646e737f8892979ea5acaaa29f9a93908c898684828181808181828486898c90959b9fa3ababa39f9691877e726d635b51473e332a1d140a000000000000000000000000000000000000000000000000030d17212931363a3b464646525e686e797979797979797979726d62564746463b3a36312921170d030000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202d394653606c7986939c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9386796c605346392d20130000000000000000000000000b1825323e4b5865717e8b989f96897c6f6356493c30231a2734414d5a6774808d9a9d9084776a5d514753606d7a85929fa4998c8073665c5044535f6c7986929f968a7d7063574a3d3024170a0000000000000915222f3c4855626f7b8898988c7f7265594c3f302424303d4a5763707d8a96978a7e7164574a3e2e23180c0000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabaca093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000c17222c363e45494a53535353535353514f4b443c32281d1206000915202b353f474e5253535353535353535346413a32281e13080006111d27323b444a4f51535353535353534a49443e362c22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809131313131312070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105090b0b1313131313130d0d0b07070b0d0d1313131313130b0b09050100000000000000000000000000000000000000000000000000000000000000000000030506080b0d0f101112131313121211100f0d0b09070604000000000000000000000000000000000000000000000000000000000000000000000000010911181e2224252d2d2d2d2d2d2d2d2b21201e1a140d0500000000000000000000000000000000000000000000000000030d19222d36404a525c646d727d858f939da0a7acaca49f9c989892918f8e8d8d8d8e8f919299999da0a7acaca49f99928d847d716c635b51493f352c21180b0200000000000000000000000000000000000000000000000009141f29333b4246485353534d565e616c6c6c6c6c6c6c6c6c65625b515353534846423b33291f14090000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e02000000000000000000000000000000000000000000000000000000000000000003070b0d0e13131313131312100d0a06050300000000000000000000000000000000000000000000000000000013202d394653606c7986939f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9386796c605346392d20130000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a5d514e5764717e8b98a2ab9e9184796d605346535f6c7986929f968a7d7063574a3d3024170a0000000000000613202d394653606c7985929b8e817568564c413529212e3a4754616d7a87969a8d807467544b4034281c100400000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000005101a242c33393c3e4646464646464644433f39322a20160c0100040f19242d353d42454646464646464646463936302820160c0200000b16202932393f4344464646464646463d3c39332c231a100500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f12151520202020201f1413110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c111517182020202020201a1917131317191a202020202020181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d1216181920202020202020201f1514120e090200000000000000000000000000000000000000000000000000000007101b242e38404a525b636b707a828990959c9fa4abaca9aaa39f9d9c9b9a9a9a9b9c9d9fa3abaaababa39f9a938f8780796f6b615a51493f372d231a0f06000000000000000000000000000000000000000000000000020e1a25313b454d535f6060606060605d5f60606060606060605c6060606060605f534d453b31251a0e0200000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000000000000000000000000000000000000000000001080e13171a1a20202020201f1e1d1a1613120f0b060000000000000000000000000000000000000000000000000013202d394653606c798693939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939386796c605346392d20130000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a5d51535f6a7683909caaa9a1978a7d7064574d535f6c7986929f968a7d7063574a3d3024170a00000000000006121f2b3844505b6676838f9c918477685d5246392d202d3946525e687884919d908376665c5145382c1f130600000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000008121a22282d3031393939393939393837332e2820180e0400000008121b242b31363839393939393939392e2d2a251e160e05000000040e1720272e3336373939393939393931302d28221a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151b1f21222c2d2d2d2d2c21201d19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000911181d2124252d2d2d2d2d2d2726231f1f2326272d2d2d2d2d2d2524211d1811090000000000000000000000000000000000000000000000020608080b0e1011121313131312100f0d0a0706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c1313131313131313120807050200000000000000000000000000000000000000000000000000000000000009121c262e384049515961686e757d83898f93999c9fa2aaa7a8aaa9a7a7a7a7a7a9a9a8a6a9a19e9b99928e87827c736d67605950483f372d251b11080000000000000000000000000000000000000000000000000005121e2a36424d575e6c6c6c6c6c6c6c6a665f55535353545e66696c6c6c6c6c6c6c5e574d42362a1e120500000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e020000000000000000000000000000000000000000000000000000000000020b12191f2326272d2d2d2d2d2c2b2a2723201f1b17110a02000000000000000000000000000000000000000000000013202d394653606c798686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796c605346392d20130000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a5d4a54626e7b88949f9f9c9f9c8f8276695e53535f6c7986929f968a7d7063574a3d3024170a000000000000030f1c28333f4a546773808d9a96877a6d6154473a2e212a36414c566875818e9b9286796d6053463a2d20130700000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000810171c2123242d2d2d2d2d2d2d2b2a27231d160e06000000000009121920262a2c2c2d2d2d2d2d2d2d21201d19130c050000000000050e161d22272a2a2d2d2d2d2d2d2d2423201c1710080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f3939393939382e2d29251e160e04000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b22292e313239393939393934332f2b2b2f333439393939393932312e29221b1209000000000000000000000000000000000000000306090f121415181a1c1e1f1f20201f1e1d1c19171413100d0704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141c262e373f474f565e616b70777d82878b8f9298989a9b9d9e9e9f9f9f9e9d9d9b999797928e8a86817b756f6a605d554f473e362d251c130900000000000000000000000000000000000000000000000000000714212d3a46535e69767979797979797771665b4f464e5a66707679797979797976695e53463a2d21140700000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000000000000000000000000000000000000000010b141d242b303334393939393939383734302d2b27221b140b080000000000000000000000000000000000000000000013202d3946535f6c767979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979766c5f5346392d20130000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a5d515c6673808d9a9f948f949f93877b6e61544a5f6c7986929f968a7d7063574a3d3024170a000000000000000b17222d3e4a5764717d8a9796897d7063564a3d302325303f4c5965727f8c9898897c6f6256493c2f23160800000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000050c11141717202020202020201e1d1b17120c0400000000000000080f151a1d1f20202020202020201413110d080200000000000000040b11171a1d1e20202020202020171614100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222a31373a3c4646464646453a3935302820160c0200000000000000000000000000000000000000000000000000000000000000000000000000000006111b242d343a3d3e464646464646403f3b36363b3f404646464646463e3d3a342d241b110600000000000000000000000000000000040a0f13151a1f21222527292a2c2c2d2c2c2b2a28262320201d1813100c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070a0d0f11121313131212100e0c0906060300000000000000000000000000000000000000000000000000000000000000020a141c252e353d444c525960636b70757b7e8285888b8d8f9091929292929191908e8c8a8885817d7a746e6a626058514b433d352c241c130a0100000000000000000000000000000000000000000000000000000815212e3b4854616e7b86868686868683776a5d50444f5c6976828686868686867b6e6154483b2e21150800000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e020000000000000000000000000000000000000000000000000000000008121d262f363c3f414646464646464543403d3937332d261d1a110a010000000000000000000000000000000000000000121e2b37434f5a646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e120000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a5d53606d7985929e978f828f99998c8073665c505f6c7986929f968a7d7063574a3d3024170a000000000000000615212e3b4854616e7b8797998c7f7366594c40302523303c4956636f7c8999988b7f7265584c3f3025190d01060606000000000000000000000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000004080a0b1313131313131311110e0b060100000000000000000004090e11121313131313131313070705010000000000000000000000060b0e1011131313131313130a0a08040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c4347485353535353524746413a32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000010c18222d363f454a4b5353535353534d4c474040474c4d5353535353534b4a453f362d22180c0100000000000000000000000000040a0f151b1f21262b2e2f32343637383939393938373533302d2c29241f1c18120c0700000000000000000000000000000000000000000000000000000000000000000000000000000001070c10131416191c1d1f1f20201f1e1d1b191613120f0b06000000000000000000000000000000000000000000000000000000000000020a131c232c323b41464f54596063686e7276797c7e808283848585868585848382807d7b7974716d68625f58544e454039312b231a120a010000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87939393939083776a5d50444f5c6976828f93939393877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0709080603000000000000000000000000000000000000000000000000030e19242f3840474c4d53535353535251504d4946443f382f2b231c130a01000000000000000000000000000000000000000f1b27333e49525a5f60606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605f5a52493e33271b0f0000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a5d5764707d8a979e92857a86929e9184796d60535f6c7986929f968a7d7063574a3d3024170a000000000000030714212d3a46535e697885929b8f827568574d42362a202d3a4753606d7a86929b8e817568564c41362a1d11131313130b0b09050100000000000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313c464e53555f606060605f54524c443a3025190c030000000000000000000000000000000000000000000000000000000000000000000000000005111d29343f485056586060606060605a58524a4a52585a606060606060585650483f34291d1105000000000000000000000001070d161b20262b2e31373a3b3e4143444546464646454342403d3a39352f2c28231d18120b030000000000000000000000000000000000000000000000000000000000000000000000040a0f12181c1f202326282a2b2c2c2c2c2b2a282523201f1c17110f0a0300000000000000000000000000000000000000000000000000000000010a111a202930363d44484f54565e6165666d6f7174757778787979787877767573716f6d6664605d56534e47433c352f271f19110800000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87949f9f9d9083776a5d50444f5c6976828f9c9f9f94877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a89b8e8275685b4f422f2418191615130f0a040000000000000000000000000000000000000000000007131f2b36404a52585a60606060605f5e5d5a56535049413d352e251c130a000000000000000000000000000000000000000a16212c3740494f535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534f4940372c21160a0000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a5d5e6975828f9c9a8d8075828f9b978a7d7064575f6c7986929f968a7d7063574a3d3024170a0000000001090f14181e2a36424d576975828f9c918578695e52463a2d202c3845515d677783909d918477685e5246392d202020202020181715110c06000000000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0e1111131313131313131308070502000000000000000000000105090b0c13131313131313130f0e0c08040000000000000000000000000000000000000000000000000004090c0e0f131313131313130c0b09060100000000000000000000000000000004090c0e0f1313131313131310060503000000000000000006121f2b37434e585f626c6c6c6c6c6b615e564c4135291e150b000000000000000000000000000000000000000000000000000000000000000000000000000915212e3a45505a62656c6c6c6c6c6c67645c52525c64676c6c6c6c6c6c65625a50453a2e21150900000000000000000000040c131820272b32373b3c4347484b4d4f51525253535251504f4c4a4745403a38342e28231c150c070000000000000000000000000000000000000000000000000000000000000000040a0f161b1d23292c2d303335373839393939383635322f2d2b28221c1b150e090300000000000000000000000000000000000000000000000000000000080e171e252a32383d44484d5254545c60626567686a6b6b6c6c6c6b6a6a68666462605c5454524c47433c373229241d150d070000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aa9d9083776a5d50444f5c6976828f9ca9a194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a99c8f827669554b403529252522221f1b150e070000000000000000000000000000000000000000000b1723303c47525c64676c6c6c6c6c6c6b6a6763605b534f473f372e251c100700000000000000000000000000000000000005101b252e373e4346464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646433e372e251b10050000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a53616e7b87939f95887c707d8a979c8f8276695e5f6c7986929f968a7d7063574a3d3024170a000000030b131a2024272531404c5966737f8c9997877b6e6154483b2e2d2935404b556774818d9a96877a6d6154473a2e2d2d2d2d2d2d2524211d1811090000000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000040b12171b1d1e20202020202020201514120e090300000000000000060c1115171820202020202020201b1b18140f090100000000000000000000000000000000000000000002091015191b1c20202020202020191816120d0700000000000000000000000002091015191b1c202020202020201c13120f0b060000000000000815212e3a47535f6a6f7979797979786d685e52463d30271c12070000000000000000000000000000000000000000000000000000000000000000000000000b1724313d4a56626c71797979797979736e645858646e73797979797979716c62564a3d3124170b000000000000000000060d161d242932383c4347494e5355585a5c5d5f5f605f5f5e5d5b595653514b46454039342e271e191009010000000000000000000000000000000000000000000000000000000000060b151b21272c2f34383a3d40424445464646454543413f3c3938332d2b26201a150b0600000000000000000000000000000000000000000000000000000000050d141921272c33383b4146474a505355585a5c5d5e5f5f5f5f5e5e5d5b59575553504a4745413a37312b272018120b03000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1a99d9083776a5d50444f5c6976828f9ca9a194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4aa9e918477675d5145392f32322f2e2b262019100700000000000000000000000000000000000000000d1a26333f4c58646e74797979797979787673706c656059514940372e22190f0400000000000000000000000000000000000009131c252c33373939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393937332c251c1309000000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a5b65737f8c999d9083766d7985919e93877b6e615f6c7986929f968a7d7063574a3d3024170a0000010b151d252b303435393d4a5763707d8a96978a7d7064574a3d2d39392f3e4b5864717e8b97968a7d7063574a3d2d39393939393932312e29221b120900000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000060e161d23272a2b2d2d2d2d2d2d2d2d22211e1a140e0600000000000911181d2224252d2d2d2d2d2d2d2d282724201a130b0300000000000000000000000000000000000000030c141b212528292d2d2d2d2d2d2d2625221e18110901000000000000000000030c141b212528292d2d2d2d2d2d2d29201f1b17110a02000000000915222f3c4855626f7c8786868686857a6d61594f42392e23180c0300000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8686868686868073675a5a6773808686868686867e7165584b3e3225180b0000000000000000060f181f282f353d43474e5355585f626567696a6b6c6c6c6c6b6a686663605d5553514b444039302b221b130b020000000000000000000000000000000000000000000000000000020a111720262b323839404547494c4f50525253535251504e4c4946443f3837312b262017110a0200000000000000000000000000000000000000000000000000000002080e161c21272c3036393b3f4446494b4d4f5051525253525251504f4d4a4846443f3a39352f2b26201b150c070100000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87949c9c9c9083776a5d50444f5c6976828f9c9c9c94877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97acac9f93867a6d605347403f3f3f3c3b37322a22190e04000000000000000000000000000000000000000e1a2734414d5a6774808686868686858483807d78706b635b514940342b20160a000000000000000000000000000000000000010a131b21272b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a01000000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a606c7884919e988b7e716673808d9a998c8073665c6c7986929f968a7d7063574a3d3024170a000009131d272f373c404146464754616d7a8796998d80736653493f46464646464855626e7b8898998c807366544a3f464646464646463e3d3a342d241b1106000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000e1820282e33363839393939393939392e2d2b261f180f0600000009121b23292e313239393939393939393534312c251d150b000000000000000000000000000000000000020c151e252c3134353939393939393932312e29231b13090000000000000000000c151e262c31343539393939393939362d2b27221b140b020000000815212e3a47535f6a73808d9693978e81746b60544a4034281f140900000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b939393938d8073675a5a6773808d939393938b7e7165584b3e3225180b00000000000000061018212a313a40454e54585f62676a6e71747677787979797978767573706d6764605c54514a423d342d251d140b01000000000000000000000000000000000000000000000000040b141c222832373d43484b515356595b5d5e5f5f5f5f5e5d5b585653504a47433c373127221b140b0300000000000000000000000000000000000000000000000000000000050b10161c1f252a2d2e34383a3c3e414244454546464545444342403e3c3a38342e2c29241e1a150f0a04000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b878f8f8f8f8f83776a5d50444f5c6976828f8f8f8f8f877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000a1623303d495663707c899aa4afa4998a7e71645b514b4c4c4c4947433c342a20150a000000000000000000000000000000000000000e1a2734414d5a6774808d939393989291908d89837d726d635b51463d32271b0f04000000000000000000000000000000000000010910161b1e202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201e1b1610090100000000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a63707d89969f92857a6d626f7b88959e9184796d606c7986929f968a7d7063574a3d3024170a00030f1a252f3941484d4e535353525e687884919c8f8276655b505353535353535353606c7985929c8f8276665b5053535353535353534b4a453f362d22180c010000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000060f202a32393f434446464646464646463b3a37312a21180e030006111b242d343a3d3f464646464646464642403d372f271d0b02000000000000000000000000000000000009141e2730373d4142464646464646463f3e3a352d251b0f060000000000000008121e2730373d414246464646464646433937332d261d140a00000006121f2b37434e58606d7984919e9f93887d6f665c51443b31261a0d04000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b989f9f9a8d8073675a5a6773808d9a9f9f988b7e7165584b3e3225180b000000000000050e18222a333c434b515860626a6f74787b7e80828485858686858483827f7d7a76716d66605c544e463f372e261d130a0000000000000000000000000000000000000000000000040d161d262d333c43474f54555c606366686a6b6c6c6c6c6b69686562605b54534e47423c332d261d150d030000000000000000000000000000000000000000000000000000000000050b1014191e2023282c2d2f3234353738383939393837373533312f2d2b2823201d19130f0a030000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8283838383828074675a4e414d5a6673808283838383827a6e6154473b2e21140800000000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facab9c9083766d605d5559585855544e463c32261b0f030000000000000000000000000000000000000e1a2734414d5a6774808d9a9f9fa29f9e9d9a9590887f726d63584e43372b20150a0000000000000000000000000000000000000000050a0f1213131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313120f0a05000000000000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a6875818e9b9a8e8174675f6a7683909d978a7d70646c7986929f968a7d7063574a3d3024170a000814202b37414b53595b60606060566875828e9b9285796c606060606060606060605b6576838f9c9285796c60606060606060606060585650483f34291d11050000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000030d1821323c444b4f5153535353535353534846423c332a1f1409010c18232d363f454a4b53535353535353534e4d4841392f1d140a0000000000000000000000000000000004101b25303942494d4f535353535353534c4a463f372d21180b020000000000050e1a24303942494d4f535353535353534f46443f382f261b11060000030f1b26313c45515d67707d8a939e9a9183786d60574d42362a1f160c010000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0000000000020b17202a343c454d555d606a6f767c8084888b8d8f90929293929291908e8c8986827e79726d666058514940382e251c1108000000000000000000000000000000000000000000030c161f282f383f444e54596063676d707375777879797978787674726f6c66625f58534d443f382f271f150d0300000000000000000000000000000000000000000000000000000000000002080e1114171c1f20222527292a2b2c2c2c2c2b2b2a28262422201f1c1713110d080100000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e686e767676767676746e64584c404b58636e737676767676766e685e5246392d20140700000000000000000000000000000000000000000000000000000713202c3945525d687784919dabab9f948b7f736d6766656565625f584e43372b1f13060000000000000000000000000000000000000e1a2734414d5a6774808d98989a9c9fa3aba7a09a938c7f726a6054473d32271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a6d7a86929f95897c6f635865727e8b989c8f8276696c7986929f968a7d7063574a3d3024170a000c1824303c48535d64686c6c6c6c6c6c727f8c9897887b6e6c6c6c6c6c6c6c6c6c6c6c6c73808d9998887b6f6c6c6c6c6c6c6c6c6c6c65625a50453a2e2115090000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000009141f2933444e565c5e606060606060606055534d453c31261a0e05111d29343f4851565860606060606060605b59534b412f261b11060000000000000000000000000000000915212c37424b53595c60606060606060595651493f332a1d140a00000000020d17202c36424b54595c606060606060605c53504941382d22170b0000000a15202935404b55616b75818e98a0958c7f72695f53463e31281e13080000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000000000a141d29333c464e575f676d747c82888d9196989a9c9d9e9f9f9f9f9e9d9b9999928f8a847f786f6a625b524a40372e231a0e0500000000000000000000000000000000000000000b151e283139424a50585f626b6f75797d7f828385858686858483817f7c79746f6a625f575049413931271f150b01000000000000000000000000000000000000000000000000000000000000000205060c10121316181a1c1d1e1f1f201f1f1e1d1c1a17151312100b0604010000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e6169696969696967645c52473c47525c6366696969696969615e564c41362a1e1105000000000000000000000000000000000000000000000000000004111d2935414c566673808d99a3afa69f9388807a75737272726f6a5f54473b2e2215080000000000000000000000000000000000000e1a2734414d5a6774808b8b8c8d9092999ea5aca49f92877c6f62584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000060b0e101113131313131313110605030000000000000000000000000000000000000000000000000000000000000000000000000001040707131313131313131308070502000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a727f8b989d9184776b6054606d7a86929f93877b6e6c7986929f968a7d7063574a3d3024170a000e1a2734404d59646f74797979797979797d8996978a7e79797979797979797979797979797e8a97988b7e7979797979797979797979716c62564a3d3124170b0000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000020e1a26313b455660676b6c6c6c6c6c6c6c6c6c5f574d42372b1e120915222e3a45515b62656c6c6c6c6c6c6c6c68655d5341382d22170b0000000000000000000000000000000c1925313d49535d65686c6c6c6c6c6c6c65625b51453c2f261c110600000008141e29323e48545d65686c6c6c6c6c6c6c69605b53493f33271b0f030000040c18242f39434f59616e7b85929f9f92867b6e615a50433a2f24190c0200000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0000000006111b262f3b454e585f696e7981878f949a9ea1a8a7a9aaaaaaa9a9aaaba9a8aba39f9c97918c847c726d645c524940362c20170c0200000000000000000000000000000000000007121d273039434b545b606a6f767c8185898c8e90919292929291908e8b8985817c756e69605b534b433931271d12070000000000000000000000000000000000000000000000000000000000000000000000030607090b0e0f1112121313121211100f0d0b090706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303b444c52545c5c5c5c5c5c5a58524a4136404a52585a5c5c5c5c5c5c54524c443b3025190d010000000000000000000000000000000000000000000000000000010d1924303b4854616e7b87929fa7afa49a938d8582807f7f7f7c6f6255493c2f221609000000000000000000000000000000000000091623303c4956636f7d7f7f7f8083868f939ea5afa3999083766a6054473b2e2215070000000000000000000000000000000000000000000000000000000000000000000000000000040b11171b1d1e202020202020201e13120f0b0600000000000000000000000000000000000000000000000000000000000000000002080d11131420202020202020201514120e090300000000000000000000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a7783909d998c7f726559515d6774818e9a998c8073667986929f968a7d7063574a3d3024170a000e1b2835414e5b68748186868686868686898f999a908a86868686868686868686868686868a909a9b908b86868686868686868686867e7165584b3e3225180b0000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57677277797979797979797976695f53463a2d21140b1724313d4a56626d727979797979797979756f6553493f33271b0f0300000000000000000000000000020e1b2834414d59656f7579797979797979726d62574d42382d22170b0200050e1925303b44505a656f7579797979797979766c655b5044372b1f120500000007121d27313e46525e69727f8b959f988f82756c61554c4135291e140a00000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000b17222d38414d575f6a6f7b848e939a9fa6abacaaaaa39f9e9d9c9c9d9ea1a9a7acaca9a19e9691877f746e645b52483e32291e13080000000000000000000000000000000000040d18232e39434b555d666c737c83898e9298999b9d9e9f9f9f9f9e9c9b9897918d88827b736c655d554b43392f24180e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141e29323b4146475050505050504e4c4741382f3840474b4d5050505050504746413b32291e1408000000000000000000000000000000000000000000000000000000000814212d3a46535e6974808d959fa7aca49f98928f8d8c8b8b7f7266594c3f3326190c0000000000000000000000000000000000000915222f3b4854606b6f72727273767b818e939ea9ab9f95897c6f6256493c2e23180c00000000000000000000000000000000000000000000000000000000000000000000000000050e161d22272a2b2d2d2d2d2d2d2d2b201f1b17110a02000000000000000000000000000000000000000000000000000000000000040c13191d20212d2d2d2d2d2d2d2d22211e1a140e06000000000000000000000000000000000000020b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776f7c88959f92867a6d61544b55626f7c89959e9184796d7986929f968a7d7063574a3d3024170a000e1b2835414e5b6874818e9393939393939699a1a29a979393939393939393939393939393979aa2a29b98939393939393939393938b7e7165584b3e3225180b0000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f69778486868686868686867b6e6155483b2e2215091825323f4b5865727f86868686868686868175655b5044372b1f120500000000000000000000000000020f1c2935424f5c687582868686868686867f72695f544a3f33281d140a020c17202a36414c56616c75818686868686868682796c605346392d201306000000010b151f2a36424d56606c788390999e948a7e71675d51453c30261c1106000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000030f1b27333f49535e696f7c8591969fa4acaca7a09d98989291908f90909197979b9fa2aaada8a099928c80746e635a50443a3025190d03000000000000000000000000000000010c161f2834404b555d676d78808790949b9fa2a9a29e9c9b9a9a9b9d9fa3a9a19e9a948f877f776d675d554b40352920170d02000000000000000000000000000000000000000000000000000000000000000000030607090b0d0f1111121313121211100f0d0a08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393b43434343434341403c362f262e353b3f404343434343433b3936302920170d020000000000000000000000000000000000000000000000000000000005121e2a36424d57606d798390959fa2aaaaa29f9b9998988c7f7266594c3f3326190c00000000000000000000000000000000000007131f2c38434f59606365656567696e78818e97a1ada79a8d807467554b4034281c10040000000000000000000000000000000000000000000000000000000000000000000000000e1720282e33363739393939393939382d2b27221b140b0200000000000000000000000000000000000000000000000000000000040e161e24292c3939393939393939392e2d2b261f180f0600000000000000000000000000010507070f0f1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d90847774808d9a9b8e8275685e524754606a7783909d978a7d707986929f968a7d7063574a3d3024170a000e1b2835414e5b6874818e9b9f9f9f9f9f9fa0acafa6a49f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa0a3a8a6a49f9f9f9f9f9f9f9f9f988b7e7165584b3e3225180b0000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000121f2c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b88969393939393938b7e7165584b3e31261a121e2a36424d576875818e9393939393939285786c605346392d20130800000000000000000000000000000714212e3a4754616d7a85919393939392867b6e665b50443c2f261c1108131e29323a46525e68717e8a939393939392857a6e655b5044372b1f120500000000030d1925303b44505b666f7c87929f9e91847a6d60584e42382e23170b020000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000005121f2b3744505b656e7b849197a0a8afa7a09d95908b8885848383838485878a8e92989fa3ababa39f928c80736c61564c41362a1f140900000000000000000000000000000008131e28313a45515c676d79828d92999fa6a39f9a97928f8e8d8e8e9092989b9fa3a69e99928c82796d675d51453f32291e140800000000000000000000000000000000000000000000000000000000000104060b10121315171a1c1d1e1f1f201f1f1e1d1b19171514120e09060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a2d2e3636363636363433302b241d242a2f32333636363636362e2d2a251e170e050000000000000000000000000000000000000000000000000000000000020e1a25313b45515c676d7a838c92989b9d9e9fa39f9f998c7f7266594c3f3326190c000000000000000000000000000000000000030f1b27323d474f5456585859575e666d7a85929eabaa9d908377675c5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000711202932393f434446464646464646443937332d261d140a000000000000000000000000000000000000000000000000000000020c1620283035394646464646464646463b3a37312a21180e030000000000000000000002080d1113141c1c1c25323e4b5865717e8b98a296897c6f6356493c30231c2734414d5a6774808d9a9d9084777985929e96897d7063564c434e5865727e8b989c8f82767986929f968a7d7063574a3d3024170a000e1b2835414e5b6874818e93939393939393939fa3a59d9b939393939393939393939393939394979ea49d9a9393939393939393938b7e7165584b3e3225180b0000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000030d152c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5465727e8b98a89f9f9f9f9b8e817568574d42372b1e14212d3a46535f697884919e9f9f9f9fa197887c6f6255493c2f24190d01000000000000000000000000000713202d3946525e68707d8a929da8a2989083786c60574d42382d22170e1925303a44505a616e7a85929ea5a89d938a7d70685e53493f33271b0f03000000000009141f28333f4a545f6a74808d96a1978d80746a60544a3f34281f14090000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000004101c2834404a54606c77828f96a1a9aea49d959189837f7c797777767677787a7d81868c9299a0a8afa49c928a7e70685e52463b31251a0e0000000000000000000000000000010d19242f3a43505a606d79828f949fa3a7a099928e898583818181828386898e92999fa7a39f948f82796d605b51443b3025190e02000000000000000000000000000000000000000000000000000001070d1113171c1f20222426292a2b2b2c2c2c2b2b2a28262422211e1a1312100c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191e20212929292929292726241f1a13191f23262729292929292921201e19140d050000000000000000000000000000000000000000000000000000000000000009141f2934404b555e686d7980858b8e909192999393938c7f7266594c3f3326190c000000000000000000000000000000000000000a16212b353d4348494c4c4c4d545d6873808c99abac9f9286796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000050f1923323b444b4f51535353535353535146443f382f261b1106000000000000000000000000000000000000000000000000000008131e28323a41455353535353535353534846423c332a1f1409000000000000000000040c13191d202128282828323e4b5865717e8b98a296897c6f6356493c3028282834414d5a6774808d9a9d9084777d8a979e9184786c6053463d4754606d7a86929f93877b7986929f968a7d7063574a3d3024170a000e1b2835414e5b68748186868686868686868692999d938e8686868686868686868686868686878c979d928d868686868686868686867e7165584b3e3225180b0000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000010b151f2935414c566c7885929fabada093867a6d6053473a2d20160c0200000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c6675828f9ba8acabacab9e918578695f53473a2e2115222e3b4855616e7b8896a1adacaaaca9998c7f7366564c4135291d11040000000000000000000000000005111d2a36414c56616b74808d96a0aa9f948b7f72695f544a3f33281d16202a36414c56616c75818f97a1aba0968e81746c61564d41382d22170b000000000000020b17222d38424e58606d7984919e9f93877c6f665c50443b30251a0d0300000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000006121f2c3844515c66717e8b949fa9afa59d928d837d77726f6d666a69696a696e70747a80879196a0a8aea49e92857a6d61574d42362a1c11060000000000000000000000000004111d2935414c56616c74818e949ea6a69f959087817c79767474747577797d818790959ea5a69e948e81756d62564c41362a1e140800000000000000000000000000000000000000000000000003090e13181d2023282b2d2f3133353737383939393837373533312e2d2a26201f1c17110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1114141d1d1d1d1d1d1b1a17140e080e1317191a1d1d1d1d1d1d1414110d08020000000000000000000000000000000000000000000000000000000000000000030c18232f39434c565e676d737a7e8184858686868686867f7266594c3f3326190c00000000000000000000000000000000000000040f19232b32383b3c3f3f3f424c56626f7c8899a3aea399877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000000b16212b35444d565b5e606060606060605e53504941382d22170b00000000000000000000000000000000000000000000000000010d1924303a444c525f606060606060606055534d453c31261a0e0200000000000000040e161e24292d2e35353535353e4b5865717e8b98a296897c6f6356493c3535353535414d5a6774808d9a9d908477828e9b9a8c8073665b50443945515d6774818e9a998d807986929f968a7d7063574a3d3024170a000e1a2734404d59646f7479797979797979797987929b8e8179797979797979797979797979797a87969a8d8079797979797979797979716c62564a3d3124170b0000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000007121d27313945525d687885929fabada093867a6d6053473e32281e13080000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929fa8a19ea1a8a197887b6e6255483b2f221825313e4b5864717e8b97a8a8a09ea0a89c908376685d5245392c20130700000000000000000000000000010d1925303a444f59606d79849199a3a69f92867b6e665b50443c2f261e28323a46525e68717e8a939ea9a3999184796d605a50443b2f261b11060000000000000006111c262f3c45515d67707d8a949e999083786d60574d42362a1f150b01000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000713202d3a4653606d7984919ea6b0a79d938d8079706b6562605c545c5d565e6164686d737c849196a0aaada2978e8174695e5346382e23170b000000000000000000000000000613202c3945525d68717e8a939da6a89f948f837c746f6c6668676768666d70757c838f939ea7a69e938b7f72685e52463b3025190d01000000000000000000000000000000000000000000040a0f151a1d24292c2e34383a3c3e404244444546464545444342403d3b3a36312d2c28231c19130d080200000000000000000000000000000000000000000000000000000000000000000000000000000000010507081010101010100e0d0b08030002070a0c0d10101010101008070501000000000000000000000000000000000000000000000000000000000000000000000007121d27313a444c555d60686d71747778797979797979726d63574b3e3225180c000000000000000000000000000000000000000007101921272c2f3032322f3a4653606d7986929facab95887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000004101c27323d47565f676a6c6c6c6c6c6c6c6b605b53493f33271b0f0300000000000000000000000000000000000000000000000004111d2935414c565d6c6c6c6c6c6c6c6c6c6c5f574d42372b1e1205000000000000020c1620283035393a4242424242424b5865717e8b98a296897c6f635649424242424242414d5a6774808d9a9d90837a86929f93877b6e61544a3f35414c55626f7c89959e91847886929f968a7d7063574a3d3024170a000c1824303c48535d64686c6c6c6c6c6c6c677783909d918477686c6c6c6c6c6c6c6c6c6c6c687784919d908377676c6c6c6c6c6c6c6c65625a50453a2e2115090000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000030c18242f39434f59606d7a86929facaea194877b6e615a50443a3024190d030000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8998a2a1969196a1a9988b7e7265584b3f31261e2a36424d576874818e9ba9a0969196a09f92867a6d6054473a2d21140a000000000000000000000000000008131e28323e45515d676f7c87929fa6a2989083786c60574d42382d25303a44505a616d7a85929ea5a69f92877c6f675d51483e32291d140a0000000000000000000a141d2935414b55616c75828f98a0958b7f72695e52463e31271d1207000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00030f1c28333f4a5464717d8a96a1acaca0958e81746d6760595553514a50504d5254565d606a6f7b849198a2aea99f92867b6e61544a3f34281c1003000000000000000000000004111d2935414c55606d7a85929ea5aca0968f82796e6a62605b545a5b545c60636a6e78818f959faba59f92857a6e61564c41362a1e11050000000000000000000000000000000000000000070c151b20262b2f35393a3f4446484a4d4f5051525253525251504e4c4a4846423d3a38342e29251e19140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f29323a434b51565d6064686a6b6c6c6c6c6c6c66635b51463a2f22160a000000000000000000000000000000000000000000070f161b1f222325252c3844515c667784919daaa296897c6f6356493c302316090000000000000000000000000000000000000000000000000000000000000000000713202c38444f5967717779797979797979776c655b5044372b1f14090000000000000000000000000000000000000000000000000713202c3945525d6876797979797979797976695f53463a2d21140700000000000008131e28323a4146474f4f4f4f4f4f4f5865717e8b98a296897c6f63564f4f4f4f4f4f4f484d5a6774808d9a9d90837e8b989c8f8276695e5342382f3a4754606a7783909d978a7d86929f968a7d7063574a3d3024170a000814202b37414b53595b606060606060556774818d9a96877a6d61606060606060606060566875818e9b9286796d6060606060606060585650483f34291d11050000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000a151e2935404b55606b74818e98a3aeb5a89c8f82756c61564c4135291f150b0100000000000000000000000000000000000000000000000000000000000005111d2935414c566673808c99aa9e9184919eaa9b8e817568584e43372b202d3a46525e697784919ea1979184919ea3998a7d7164574a3e31261b0f0300000000000000000000000000020c16202935404b55606a737f8c949faa9f948b7f72695f544a3f332935414c56616c75818e97a1aa9f948c7f736a60554b40362c20170b02000000000000000000020b18242f3a43505a616e7b86929f9f92867b6e61594f43392f24180b020000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0006121f2b3844505b6675828f9ba8b1a89d9083786d605c554f4946444043434246474c52585f696e7b86929fa8afa3998d8073665c5044382b1f120600000000000000000000000613202c3945515d6773808d97a1ada69e91847a6d675f5853504a4e4e4b5153585f666d79839099a3ada2978d8174685e5246392d201409000000000000000000000000000000000000030b121820262b31373a4145474a50535557595c5d5e5e5f5f5f5e5e5d5b595755534d4946443f3835302a251e170e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000002080c1012121313131313131313060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d172029313940454c5254585b5d5e5f6060606060595751493f352a1e120600000000000000000000000000000000000000000000040a0f131516191c2834404a546a7683909da9a296897c6f6356493c302316090000000000000000000000000000000000000000000000000000000000000000000916222f3b4854606b77838686868686868684776c6053463b30251a0e0000000000000000000000000000000000000000000000000714212d3a4754606d7a86868686868686867b6e6155483b2e2215080000000000010d1924303a444c52545b5b5b5b5b5b5b5b65717e8b98a296897c6f635b5b5b5b5b5b5b5b54535a6774808d9a9d918483909c978a7e7164574d422f2b37434e5865727f8b989b8e8187929f968a7d7063574a3d3024170a00030f1a252f3941484d4e5353535353535864717e8b97968a7d70635753535353535353535865727f8b9899897c6f63565353535353534b4a453f362d22180c010000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000006111c26303845515d67707d89939daab4b9aa9e948a7e71685d52463d31271d12070000000000000000000000000000000000000000000000000000000000000713202d3946525d687683909da8988c7f8c98a29e9185786a5f53473a2e212e3b4754616e7b8796a09e9285808c99ab9a8e817467584e43372b1f12060000000000000000000000000000050e18242f39434e58606d78839098a2a69f92867b6e665b50443c323a46525e68707e8a939ea9a2989083786d60584e43392f231a0e05000000000000000000000007131d28313e46535e69727f8c95a0988e81756b61554b4035291d140a0000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000613202d394653606c7985929fabaca095897d70665c514b433d3a38342e30363a3b41454e565e69727f8b96a0acab9e9185796d6053463a2d20130700000000000000000000000714212d3a4754606d7a85929fa9aa9e94897d70685d554e46443f41414045464e545c676f7c87929faca99f92867a6e6154473c31261a0e0200000000000000000000000000000000070c151d232831373c42474b5154545c60626466686a6a6b6c6c6c6b6a6a686664615f575653504a46413a3630292019130d0500000000000000000000000000000000000000000000000000000000000000000000000000000000060d13181c1e1f202020202020202013100c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171f272f353a4145474b4e51525353535353534c4b463f372e23180d02000000000000000000000000000000000000000000000000030709090c18232e43505c6976838f9ca9a296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000005111e2a36414c5663707d8995939393939396897d7063574d42362a1c110600000000000000000000000000000000000000000000000714202d3a4753606d7a86939393939393877b6e6154483b2e211508000000000005111d2935414c565d61686868686868686868717e8b98a296897c6f686868686868686868615e576774808d9a9f928690949e9285796d6053463b3127323d4754606d7a86929f928588939f968a7d7063574a3d3024170a000009131d272f373c404146464646464855626e7b8897998d807366544a3f46464646464956626f7c8998988c7f7265594c46464646463e3d3a342d241b1106000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000020b17232e38424e58606d7984919ea5afafacafa69e92857a6d61594f43392f24180c0300000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86939fa096877a85929fa197887b6e6255483b2d22313e4b5764717e8a97a89b8f827d8a96a89e9184786a5f53473a2e21150700000000000000000000000000000007121d27313c44505c666e7b86929fa5a2989083786c60574d423a44505a616d7a85919ea5a59f92867b6e665c50463d31281d1108000000000000000000000000010c161f2a36424d57606d788390999e938a7d70675d51453c2f261b110600000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000815222f3b4855626e7b8897a2adaa9d9184776b60544a4039312d2c2823252a2d30353c444d57606c7884919eaaada197897c6f6356493c302316090000000000000000000005111e2a36424d5765727f8b98a2aea99c8f82756b60564c433c38332d2e34383c424b555f6a74818e9ba8aea3988c7f7266574d42372b1e12050000000000000000000000000000000810191e272e343c43474d53555d6064666d6f7173757777787979787877767573706e696763605c54524c46413b322a251e170e0600000000000000000000000000000000000000000000000000000000000000000000000000000710181f24282b2c2d2d2d2d2d2d2d2d1f1c18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d151d24293035393a3e4144454646464646463f3e3a352e251c12070000000000000000000000000000000000000000000000000000000000071d293643505c6976838f9ca9a296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000000000000713202d3946525e6875818e9ba89f9f9fa89b8f8275695e5246382e23170b00000000000000000000000000000000000000000000000713202d3a4653606d79869aa49f9f9f94877a6e6154473b2e21140800000000000713202d3946525d686d757575757575757575757e8b98a296897c757575757575757575756e695e6774808d9aa29892989f9a8d8074665c51453829202c3945525d6874818e9b9892939aa4968a7d7063574a3d3024170a0000010b151d252b30343539393939394653606c7985929c8f8376665c5044383939393a4653606d7986929b8e827568574d423639393932312e29221b120900000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000a141d28343f4a54606a73808d96a0acaca49fa4aca1978e81746b60554b4035291e150a00000000000000000000000000000000000000000000000000000000000b1724313e4a5764717e8a99a49e918477828f9ca9988b7e726553493f332a36414c566774818d9aaa988b7f7a8796a0a196887c6f6255483c2f24180d010000000000000000000000000000010b151f28343f4a545f69717e8b939ea99f948b7f72695f544a414c56616c75818e97a1a89e938b7e71695f544a3f342b1f160c0000000000000000000000000000040d1a25313b44505c666f7c87939f9e9184796d60584e41382d22170b02000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000a1724303d4a5763707d8a96a9b3a69a8d807367594f42382f27201f1c18191e202429323b44505b65737f8c99a9a6a9998c807366594d4033261a0d000000000000000000000714202d3a46525e697683909daaada196897d7063594f433a312b282223282c3039434e58626f7c8895a0acaa9d908477695f53463a2d211407000000000000000000000000000009111a222a303940454e53575f62676d7175797b7d8082838485858685858483817f7d7b7874706d66615e56524c443e36302920180f0700000000000000000000000000000000000000000000000000000000000000000000000006101922293035383939393939393939392c29231d150d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e24292c2d3135373839393939393933322f2a231c130a000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616d7a86929facacacacac9f92877b6e61544a3f34281c10030000000000000000000000000000000000000000000006121f2c3844515c667986939facaca094877a6d6154473a2e21140700000000000714212e3a4754616d7a8182828282828282828183909da99c8f82828282828282828282817b6e616774808d9aaaa29fa29f95887b6f62544b4034281d2935414c56626f7c8995a09f9fa4ac968a7d7063574a3d3024170a000000030b131a202427282d2d2d2b3744505b6576828f9c9285796d6053463a2d2d2c3844515c667683909c918478695e52463a2d2d2d2524211d1811090000000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d0707040100000000000000000000000000000000000000000000000006111b262f3844505c666f7c87929fa8a69f9a939aa4a99d93897d70675d51453c30261c110600000000000000000000000000000000000000000000000000000006121f2b37434e586774818e9aab9b8e81757f8c99a99b8e8275655b5044372d3946525e687784919da298887c7784919ea9998c7f7266554b4035291d1104000000000000000000000000000000030d17232e38424d57626c75828f97a1a69f92867b6e665b5045525d68707d8a939ea9a1968e81756c62574d42382e22190d0400000000000000000000000000000009141f28343f4a54606a74808d97a1968d80736a5f53493f33271e1308000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000b1825323e4b5865717e8b98a4b1a4978a7e7164574b3e30261d1512100c0e1114192027333f4953616e7b88979a9998978f8276695c4f4336291c10030000000000000000000814212e3b4754616e7b87959fabab9e9184786c6053463d31281f1c17181c1f27313c47535f6a7784919daaaca095887b6e6155483b2e2215060000000000000000000000000009121b232c343c424b51585f62696e747a7d8185888a8c8f9091919292929191908e8c8a8884807d79736d68615e565046413a322a2119100700000000000000000000000000000000000000000000000000000000000000000000020d18222b343b414445464646464646464638342f271f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c13191d202125282a2b2c2d2d2d2d2d2625221e18120a01000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c302316090000000000000000000000000000000000000000000000000000000000000006121f2b3844505b66727f8c99a3aeaaa8aaafa3998c7f73665c5044382b1f14090000000000000000000000000000000000000000000004101c2834404a5f6c7986929facada093867a6d6053473a2d20140700000000000815212e3b4854616e7b878e8e8e8e8e8e8e8e8e90959fab9f948f8e8e8e8e8e8e8e8e8e887c6f626774808d9aa7aeacaa9d9083766a5f5342392e2319242f3a4754606a7783909daaacafa3968a7d7063574a3d3024170a0000000001090f14181a1b20201b27333f495366737f8c9998887c6f6255493c2f222834404a546773808d9a96877b6e6154473b2e212020201b1a17140e08010000000000000000060c1114202d3a4753606d7a8693a0ada6998c807366594d4033261a1a1413110d0801000000000000000000000000000000000000000000000b17222d38414d57606d78839099a3ab9f948f87939fa8a59e9184796d60584e42382e23170c0300000000000000000000000000000000000000000000000000000814212e3a47535f6a7884919eab988c7f727c8897a29e9285796c605346392e3a4754616d7a8795a09f92857974818e9ba79c8f8376675d5145392c2013060000000000000000000000000000000006111c26303b45505a616d7a85919ea4a2989083786c60574f59606d7a84919ea5a49a91847a6d615a50453b30261c100700000000000000000000000000000000030c17232e38424e58606d7a85919e9f92877c6f655b50443a3025190c030000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000c1925323f4c5865727f8b98a5afa396897c706356493d3023140b0604000205080e17222d3846535f6978858e8d8c8c8b8a85786b5e5245382b1f12050000000000000000000b1824313e4b5764717e8a97a7b1a79a8e8174665b5044382b1f160f0b0c10151f2b37434e586773808d9aa6b1a7988b7e7165584b3e2d22170b00000000000000000000000009121b242d353e464e545c606a6f757b81868a8e929797999b9d9d9e9f9f9f9e9d9d9b999796918d8985807a746e68615a524c443c332b2219100700000000000000000000000000000000000000000000000000000000000000000008131f29343d464c5152535353535353535345403931271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d111314181b1e1f202020202020191816120d070000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eaba69e9c9ea6ab9e9184786d6053463b31261a0e00000000000000000000000000000000000000000000000c18232e46525f6c7985929facaca09386796d6053463a2d20130700000000000815212e3b4854616e7b87949b9b9b9b9b9b9b9b9d9fa79fa69f9c9b9b9b9b9b9b9b9b95887c6f626774808d9a9f9f9fa2988b7e7165584e4330271d131e2b38434e5865727f8b98a29f9f9f968a7d7063574a3d3024170a0000000000010911181e2225252d222d3d4a5663707d899a988b7f7265584c3f3025232e3e4a5764717d8a97978a7d7164574a3e2e232d2d2d2726241f1a130b020000000000000910171d21202d3a4753606d7a8693a0ada6998c807366594d403326262621201d19130c040000000000000000000000000000000000000000040f1b27333f49535f69727f8c95a0aba3998f82808c96a0aca0968d80736a5f544a3f34281f140900000000000000000000000000000000000000000000000000000815222f3b4855626e7b8896a1a399897c6f7985929fa197887b6f6255483c2d3e4a5764717d8a97a89c8f8276717e8b98a89f92867a6d6053473a2d20140900000000000000000000000000000000000a141e29333f46525e68707d8a929da89f948b7f72695f56616b74818e97a1a79f93887d70685d52483e33291e140a00000000000000000000000000000000000006111c26303d45525d68717e8a949f999083776c60564c41362a1e150b0000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000c1825323f4b5865727e8b98a5afa295897c6f6256493c2f23160600000000000006111b2a36424d576673808180807f7e7d7d706356493d3023160a000000000000000000010e1b2834414e5b6774818e9aa7b4aa978a7e7164544a3f3328190d040000040d1b26323d4a5764707d8a97aab4a79b8e81746853493f33271b0f030000000000000000000007101b242d363e474f585f666d737c82878e92989b9ea2a9a6a8aaa8a7a6a6a6a7a8a9a8a6a8a19e9a97928c86807a716c615e564d453c342b22190e0500000000000000000000000000000000000000000000000000000000000000000c1824303b464f575d5f606060606060605f514b43392f23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407070b0e11121313131313130c0c0a0602000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000000005121e2a36424d5763707d8a96a0ab9e948f949eaaa1968a7d7064574d42362a1c120700000000000000000000000000000000000000000000071f2c3845525f6b7885929eabaea3998679665c5145382c1f130600000000000815212e3b4854616e7b8793939393939393939393939393939393939393939393939393887c6f626774808d939393939392857a6d6054473c3121150f1b27323d4754606d7a869293939393938a7d7063574a3d3024170a000000000009131b23292e31323939393a4754606d7a86939b8e817568564d42363939393b4854616e7b87969a8d807367544a3f34393939393433302b241d140b010000000009121b22282d30313a4753606d7a8693a0ada6998c807366594d40333333332d2c29241e160d04000000000000000000000000000000000000040e1a242b3744505b656e7b86929fa7a89f92867c7984919ea5a89f92877c6f665c50443c31261a0e0500000000000000000000000000000000000000000000000004101c2934404b5565727f8c98a89f9286796d75828f9ba9988b7f726553493f35414c566774808d9aaa998c7f726e7b8896a1a3998a7d7064574a3d31261a0e0200000000000000000000000000000000020c18212a36414c56616b74818d96a0a69f92867b6e665d68707d8a939ea9a0958d80736b60564c41362d21180c02000000000000000000000000000000000000000a151e2935414c56616c76828f989f948b7e71685e52463d30271d120700000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000b1724313e4a5764717d8a97a4b0a396897d7063564a3d2d22170b010000000000000e1a26313b4b58636e73757473727170706b6054483b2f22160900000000000000000005111e2a36414c566a7683909da9aea298887b6e6155483b2d221708000000000a15212e3b4854616e7b8798a2aeaa9d908377655b5044372b1f1205000000000000000000050e19222d363e485059616a6f7980878f93999fa3aaabaaaaa29f9d9b9a9a999a9a9b9d9fa2aaa9aba9a19e98928d857e756d685f574e463c342a20170c0300000000000000000000000000000000000000000000000000000000000003101c2835414c5761696c6c6c6c6c6c6c6c6c5c554b4034291c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c302316090000000000000000000000000000000000000000000000000000000000000714202d3a46525e6975828f9ba8a3998f828f98a2a89c8f8276695f5346392e23180c00000000000000000000000000000000000000000005121f2b3845525e6b7885919eabac9f9286796c5f4b4034281c100400000000000815212e3b4854616e7b8686868686868686868686868686868686868686868686868686867c6f62677480868686868686868174675d5145392c20130a16202c3945525d687481868686868686867d7063574a3d3024170a0000000007111b252d343a3e3f4646464645525d687784919d918478695e5246464646464646525e697884919c908376665c50444646464646413f3c362f261d130800000006101b242c34393d3e404753606d7a8693a0ada6998c807366594d40404040403a39352f2820160c0100000000000000000000000000000000020c16202a36424d56606c77828f98a3aca0968c8073707d8a939eaaa3999083786d60574d42372b20170d02000000000000000000000000000000000000000000000006131f2c3845515c6776828f9ca99c90837667727f8b98a99b8f8275655b50443945525d687783909da298897c6f697884919eab9a8d817467574e42372b1e12060000000000000000000000000000000000060f1925303a444f59606d79849199a3a2989083786c606d7a84919ea5a3989083796d60594f443a30241b0f060000000000000000000000000000000000000000030c19242f3a43505a616e7b86929f9e92857a6d61594f42392e23180c03000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000a1623303d495663707c8996a8b1a4978b7e7164544a3f33281d120700000000000009141f2f3b47525c63666867666564646360594f44382c2013070000000000000000000713202d3946525e687885929fabac9f9285796c605346392d201306000000000714212d3a46535e697985929facac9f9285796c605346392d2013060000000000000000020d17202b343e48505a616b707c838c92999fa4abaca7a09d999892908f8d8d8d8d8d8f909298989c9fa4abaaa29f97928a827a6e6960584e463c32291e150b00000000000000000000000000000000000000000000000000000000000005121e2b3844515d6973787979797979797976675c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809131313131313060400000000000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87929fac9f92877a85929fab9f93877b6e61544a4034281c1004000000000000000000000000000000000000000005121e2b3845515e6b7884919eabac9f9285796c5f52462e23180c0000000000000714202d3a46525e6976797979797979797979797979797979797979797979797979797979766a5f646e7479797979797979746f64554b4135291d1104111d2935414c56646f7479797979797979706b6155483c2f231609000000010d18232d373f464a4c53535353534c566774818e9a96877b6e6154535353535353534d576875828f9b9285796d60535353535353534e4c4741382f241a0e0300000c17222c363e45494b4d4d53606d7a8693a0ada6998c807366594d4d4d4d4d4d4745413a32281e13080000000000000000000000000000000008131e28323a46525e69717e8b949faaa59e9184796d6b75818e98a2aba0958c7f72695f53463f32291e140800000000000000000000000000000000000000000000000714202d3a4753606d7986929fab998d8073666f7b8897a19e9285796c6053463a4754606d7a86939f9f9286796d6875818e9ba89e9184786a5f53473a2e21140700000000000000000000000000000000000008131e28323e45515d676f7c87929fa79f948b7f726b74818e96a1a69f92867c6f675c51473d32281e12090000000000000000000000000000000000000000000008131e28313e46535f69727f8c95a0978e81746b60544b4034281f1409000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000814212e3b4754616e7a8795a0aca79a8e8174665b5044392f2318110a020000000003131f2a35404a52585a5b5a5959585756544f473d32271b10040000000000000000000714212e3a4754616d7a8798a2aeaa9d918477665b5044382b1f12060000000005121e2a36424d576a7784919daaaea298877a6e6154473b2e211408000000000000000009141f29323d46505a626c717d8690959fa3ababa49f9b95908c898584828180808081828385888b8f93999fa2aaa9a19e938f847b6f6a60584e443b30271d1207000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c788586868686868686796d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12151520202020202013100c070100000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000006121f2c3844505c6673808c99a3ab9c8f8276818e9ba9a4998d8073665c5144382c1f1509000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaab9f9285786c5f5245392c1f0700000000000005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c625f585c64676c6c6c6c6c6c6c67645d53433a2f24180d010d19242f3a43535d64686c6c6c6c6c6c6c6361594f44382c20140700000006121e29343f495156586060606060606065717e8b98978a7d71646060606060606060606065727f8c9898887c6f62606060606060605a58524a41362b1f14080005111d28343e48505557595959606d7a8693a0ada6998c8073665959595959595954524c443a2f24190d010000000000000000000000000000030d1924303a44505a616e7b85929fa6a99e93897d7067616e7b86929fa7a79f92867b6e615a50443b3025190d04000000000000000000000000000000000000000000000a1723303d4a5663707d8998a2a3998a7d70636a7885919ea297887c6f6255483d4a5763707d8a99a49c8f82766665717e8b98a8a196887b6e6255483b2f24180c000000000000000000000000000000000000020c16202935404b55606a737f8c959fa69f92867b707d89939da89f948b7f726a5f554b40352b20160c0000000000000000000000000000000000000000000000010c161f2a36424d57606d7883919a9e93897d70665c51453c31261a0d040000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000714202d3a46525e697784919dacab9e9184786c60554b403429221c140b05000000020e19242e3840474b4d4e4d4d4c4b4a4948443d352b21160b000000000000000000000915222f3c4855626f7b8895aab4a99c8f837669544a3f33281c0f0300000000020e1a2531434f5c6976828f9ca9b4aa95887b6f6255483c2f22150900000000000000030d1925303b444e58626c717e879298a0a7afa79f99938e88837f7c79777574737373747577797c7f83878d92989ea5ada59e9691857c6f6a5f564c42392e23180c030000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929393939393867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151b1f21222d2d2d2d2d2d1f1c18120b03000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919eaba3998b7e717d8a97a2ab9e9285796d6053463c31261a0e010000000000000000000000000000000000000004111e2b3744515e6a7784919daaab9e9185786b5e5245382b1f12050000000000020e1a25303b454d525f60606060606060606060606060606060606060606060606060606055534e52585a606060606060605b59534b4131281d13070008131e2831414b53595b6060606060606057554f473e33281c10040000000916222e3a46515b62656c6c6c6c6c6c6c6c6f7b88989a8d80736c6c6c6c6c6c6c6c6c6c6c6c6f7c8999988b7e726c6c6c6c6c6c6c6c67645c52473c3024170b000815212d3945505a6164666666666d7a8693a0ada6998c80736666666666666666605d564c4135291d110400000000000000000000000000010b151f2935414c56616c75828f97a2ada2978e81756b605e69727f8c95a0aca2988f82766c62564c41362a1f160c01000000000000000000000000000000000000000005111e2a36414d566773808d9aaa9f92867a6d606875818e9ba9988b7f7265544a404b556773808d9aaa998c7f7366616e7b8896a1a8988b7f7265554b4035291d1004000000000000000000000000000000000000050e18242f39434e58606d78839098a2a29890827a84919ea5a2978f82776c60584e43392e23190e04000000000000000000000000000000000000000000000000040d1a26313b44515c666f7d88939f9d9184796d60574d42372b20160c0100000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0005111e2a36424d566774808d9aa4ada1968a7e71675c51453f332d261d170e0600000008121c262e353b3f404241403f3e3d3d3b38322b23190f04000000000000000000000a1723303d4a5663707d8996a3b0a89b8e8275685b4f422d22170b000000000000091c2835424f5b6875828e9ba8b0a396897d7063564a3d3023170a000000000000010b151f2a36424d56606a717e889299a2aaafa49c959087817c77726f6d6668676766676768666c6f72767b80868e939fa3aaa8a09792867c6f685e544b4034282015090000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929f9f9f9f93867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f3939393939392c29231d150d030000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c302316090000000000000000000000000000000000000000000000000000000005121e2a36424d5764707d8a96a1ac9f92867a6d7985929faba1978a7e7164574d42372b1d12070000000000000000000000000000000000000004111d2a3744505d6a7783909daaab9e9184786b5e5145382b1e120500000000000009141f29333b424648535353535353535353535353535353535353535353535353535353494743474c4d535353535353534e4c4841382f1f160c0100010c161f2f3941484d4e535353535353534a48443e352c21160b000000000b1825313e4a56626d727979797979797979797885929d908379797979797979797979797979797986929b8e81797979797979797979746e64584c3f33261a0d000a1724303d4955616c7173737373737a8693a0ada6998c807373737373737373736d685d5245392c2013070000000000000000000000000007121d27313945525d68717e8a939ea9a69f92857a6d615957606d7883909aa4aa9f948b7e71685e52463e31281e130800000000000000000000000000000000000000000714202d3946525e687784909daa9d908377675d65717e8b98a89b8f8275665b5045515d677683909da298897c6f635f697884919ea99c8f8276675d5145382c1f13060000000000000000000000000000000000000007121d27313d44505c666e7b86929fa69f9490849196a1a59e92857b6e655b50463c30271d1108000000000000000000000000000000000000000000000000000009141f2834404a54606b74818e97a0968c7f73695f53463e32281e130800000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00020e1925303b4855626e7b87939faaa99e9184796d605a50443f382f292017110a0300000a141c242a2f3233353433323131302f2c272119110700000000000000000000000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b060000000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a00000000000007121d27313946525e696f7c86929aa3ababa39f928d837c756f6a6662605c545a5a5a5a5a545b606265696e747b818a9298a2a9a9a19891847a6e665c51453c31261a0e0500000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabaca093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18222a31373a3c46464646464638342f271f150b0100000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000714212d3a46535f6976828f9ca8ab9c8f82766874818e9ba9a99c8f8276695f5347392f23180c0000000000000000000000000000000000000004101d2a3743505d6a7683909da9aa9e9184776b5e5144382b1e1105000000000000020d17212930363a3b4646464646464646464646464646464646464646464646464646463c3b373c3f414646464646464641403c362f261d0d04000000040d1d272f373c4041464646464646463d3c38332c231a1005000000000c1925323f4c5865727f868686868686868686868a989f95908686868686868686868686868686868b999e938e8686868686868686868074675a4e4134271b0e000b1824313e4b5764717e8080808080808d99a6b3a99c90828080808080808080807a6d6054473a2d211407000000000000000000000000030c18242f39434f59606d7a85919ea5ab9f948b7e71685e52505c666f7c87939fa9a69f92857a6e61594f433a2f24190c03000000000000000000000000000000000000000814212e3b4754616e7a8795a0ac9a8d80736755616e7b8796a19f9285796c60534753606d7a86929f9f9285796d60576874818e9ba79f9286796d6053473a2d20140900000000000000000000000000000000000000010b151f28343f4a545f69717e8b939ea69f969196a0a89d938a7e71695e53493f342a1e150b000000000000000000000000000000000000000000000000000000030c18232e39424f59616d7a85929e9f92867b6e615a50443a2f24190c02000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000914212e3a47535f6a75828f98a3aca0968d80746c625a504a423b3228231c150c0500020a12191f2326272827262625242322201b160f070000000000000000000000000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b0a4978a7d7164574a3e3124170b0000000000000c18232f3943505a616e7b859198a3acaca399928b80786f6a625f585653504a4e4d4d4d4e4a505355575e61696e757e869297a2aaaaa1969082786d60574e42372b21170b00000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c43474853535353535345403931271d120700000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000004101c2834404b54616e7b87939faca3998b7e7165707d8a97a2ab9f94887b6e62554b4034291c100400000000000000000000000000000000000003101d2a3643505d697683909ca9aa9d9184776a5e5144372b1e110400000000000000050f171f252a2d2e3939393939393939393939393939393939393939393939393939392f2e2b303334393939393939393433302b251d140b00000000000b151d252b30343539393939393939302f2c28211a110800000000000c1925323f4c5865727f8b93939393939393939394a2a79f9d9393939393939393939393939393939fa3a59e9b93939393939393938d8174675a4e4134271b0e00101c2936434f5c6976828c8c8c8c8c8d929ca8b4ab9f94908c8c8c8c8c8c8c8c877b6e6154483b2e2115080000000000000000000000000a151e2935404b55606b74818e97a1ada3999083776c60564c4a54606b74818e97a1ada2978e81756c61554c4135291e150b000000000000000000000000000000000000030f1b27333f495364717e8b97a7a49a8a7d7064575e697884919ea297887c6f62554a5663707d8999a39c8f8276665c5864717e8b97a8a3988a7d7063574a3d31261a0e0200000000000000000000000000000000000000030d17232e38424d57626c75828f97a1a8a09ea0a8a0968e81746c61564d41382d22180c030000000000000000000000000000000000000000000000000000000007121c27303d46525d68717e8b949f988f82766c61564c4135291e140a000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000006121f2b37434e58626f7c86929fa6a89d928b7e716c605b544d443d342e261e170e070000080e1317191a1b1a1a191817161613100b04000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e0100000000010e1a2734414d5a6774808d9aa7b1a4978b7e7164584b3e3125180b000000000004101c2934404b55616c76828f97a1aaafa49a92877e736d665f58534e4946443f41404040413f4446484d53565e616c717c859298a2aca89f948d80736a5f53473e33281c1004000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313c464e535560606060605f514b43392f23180c00000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000006131f2c3845515c6673808d9aa4ac9f92867a6d606d7985929faba69a8d8073675c5145382c1f150a00000000000000000000000000000000000003101d293643505c6976838f9ca9aa9d9084776a5d5144372a1e11040000000000000000050d141a1e20212d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d22211f2326272d2d2d2d2d2d2d282724201a130b020000000000030b131a202427282d2d2d2d2d2d2d2423201c1610080000000000000c1925323f4c5865727f8b989f9f9f9f9f9f9f9f9faaacaba99f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9faaacaaa89f9f9f9f9f9f9f9a8d8174675a4e4134271b0e00101c2936434f5c6976828f99999999999ca4aeb9b0a69f9c9999999999999994877b6e6154483b2e211508000000000000000000000006111c26303845515d67707d89939da9a89f92877c6f655b5044424f59616d7a85929ea6a99e938a7d70675d51453d30271d1207000000000000000000000000000000000005121f2b3744505b6575818e9ba89f93867a6d6154576774818e9aa9988b7f7265544b556673808c99aa998c7f72665454616e7b8796a1aa9a8d807467574d42362a1e1205000000000000000000000000000000000000000006111c26303c45505a616d7a85929eabacaaaca3999184796d605a50443b2f261b10060000000000000000000000000000000000000000000000000000000000000b151e2935414c56626c76828f989f948a7e71685d52453d30261c11060000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0000020f1a26313c47535f6a727f8c949fa7a49f93877e736c665e564f443f38302920191109000002070a0c0d0f0e0d0c0b0a0a0907040000000000000000000000000000000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b000000000006131f2c3845515c67707d8a949fa9b0a69f93887e716c605c544e47433c3a38342e3433342d3338393c42464d525a616a6f7c86929aa4afa69f92877b6e62594f44392d20150a000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e585f626c6c6c6c6c6c5c554b4034291c1004000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a396897d7063564a3d302317080806020000000000000000000000000000000000000000000000000713202d3a4653606d7985929eacaa9c8f8275685d6674818e9ba9ab9e9285796d6053473c31261b0f01000000000000000000000000000000000003101c2936434f5c6976828f9ca9a99d9083766a5d5043372a1d100400000000000000000002090e121415202020202020202020202020202020202020202020202020202020161513171a1a202020202020201b1a18140f08010000000000000001090f14181a1b20202020202020171614100b05000000000000000c1925323f4c5865727f8b939393939393939393939da0a7a09393939393939393939393939393939393a0a79f9d939393939393938d8174675a4e4134271b0e00101c2936434f5c6976828f9c9f9f9fa0a2a7afb9b6aea8a69f9f9f9f9f9f9f94877b6e6154483b2e21150800000000000000000000020b17232e38424e58606d7984919ea5aca1968d80736a5f53493f3d46525e68717e8b949faba59e91847a6d60594f43392e23180b02000000000000000000000000000000000613202d394653606c7885929eaa9d908477685d525764717e8a97a79b8f8275665b515c677683909ca298897c6f6356535e697884919eaa9d918477695f53463a2d2114070000000000000000000000000000000000000000000a141e2a333f46525e68707d8a99a3aeb7ac9f92877c6f675d51483e32291d140a00000000000000000000000000000000000000000000000000000000000000030c1924303a44505a626e7b86929f9e91857a6d60584e42382e23170b0300000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0000000a15202b37434e58606c78828f959fa6a499938b80786e686159504a423b322b231b1209000000000000020100000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b0e0100000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a0000000003101c28343f4a54606d7984919ea6b0aa9e948c7f736c625a504a423c37322d2c282327272722282b2d31363b42465058606a707e88939fa8aea3998f82766c6155493c31261b0f000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000003060b0f15212e3a47535f6a76797979797976675c5145382c1f130e090603000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9a4978a7d7164574a3e2f24191514120e090300000000000000000000000000000000000000000006121f2b37434e5864717e8a97a1ada3988b7e71645663707d8a97a1ada2978b7e7164584e43372b1d13070000000000000000000000000000000000020f1c2935424f5c6875828f9ba8a99c908376695d5043362a1d10030000000000000000000000020507081313131313131313131313131313131313131313131313131313130908060b0d0e131313131313130e0e0b0803000000000000000000000003080c0e0e131313131313130a0907040000000000000000000c1925323f4c5865727f86868686868686868686868995a0958986868686868686868686868686868689959f958986868686868686868074675a4e4134271b0e00101c2936434f5c6976828f9393939393969da7b2aea49c999393939393939393877b6e6154483b2e211508000000000000000000000a141d28343f4a54606a73808d96a0aca59e9184796d60584e413835414c56606c77829099a3ada1968d80746b60554b4034281d140a000000000000000000000000000000000916222f3c4955626f7c8897a1a79a8d817467564c54616e7a8795a09f9285796c6053606d7986929f9f9285796d60534d576874818e9ba7a096887b6e6155483b2e23180c00000000000000000000000000000000000000000008131e28323a45515c666e7b86929facb7ab9e91847a6d605a50443b2f261b1106000000000000000000000000000000000000000000000000000000000000000008131e28323e47535f6973808c96a0978d80746a60544a3f34281f140900000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000030f1a26313c44505b666d79838f949da5a49f928d827a706b605c544d443d352d241b12090000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0a89b8e8175685b4e4235281b090000000000020f1b2835424e5b6875818e9ba8b0a3968a7d7063574a3d3024170a0000000006121f2b3844505c66727f8c96a0acaea2988f82776c605a50443f38302b26201f1c171a1a1a171c1f20252a30363e464e58616c73808d96a1acab9f948a7d7064584e43372b1d12070000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000060b1012171b1f222f3c4855626f7c8686868686796d6053473a2d201e1a15130f0a04000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba8a6998c7f7366554b4135292422211e1a150e0600000000000000000000000000000000000000000814212e3a47535f6a7683909ca9ac9f92867a6d6054606d7985929eaba99d9083766a5f53473a2f24180d0100000000000000000000000000000000020f1c2835424f5b6875828e9ba8a99c8f8376695c504336291d10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4a56626d72797979797979797979797983909d918479797979797979797979797979797983909d90837979797979797979746e64584c3f33261a0d00101c2936434f5c6976828686868686868b96a2aea89c928c8686868686868686867b6e6154483b2e21150800000000000000000006111b262f3844505c666f7c87929fa8aa9e938a7d70675d51463c2f303a44505b656f7c87929fa8a89f93887d6f675c51453c2f261c1106000000000000000000000000000004111d2935404b5566727f8c99a9a8978a7d7164574a525e687784919da297887c6f625663707c8998a39c8f8276665c514b5864717e8b97a8a8988b7e7265544b4034281c100400000000000000000000000000000000000000050f19242f3a444f59606d79839099a3acaaaca1968e81746c61564d41382d22170c0300000000000000000000000000000000000000000000000000000000000000020c16202b37424d57606d7984919e9f93877c6f665c50443b30251a0d04000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000a152028333f4a545d676d79828e939fa3a49c948f857d736d665e564f473e362d241b110800000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4330251a0e0200000000030f1c2936424f5c6975828f9ca8b5ab95897c6f6256493c2f231609000000000713202d3a4653606d7884919ea8b2a99f92867b6e655b50483e342e261e1b1312100c060d060b0f12131a1f252a343d46505a606d7984919ea8b0a69c8f83766a5f5347392e23180c0000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000001080d11171c1f22272b2d2f3c4855626f7b88939393867a6d6053473a2e2d2a25211f1b15100b0500000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7a89b8f8275675d51453c352f2f2e2b2620180f0600000000000000000000000000000000000004101d2935404b55626e7b88949faba89b8e8175685d525c6674808d9aa7ab9f95887c6f62554b4035291d110400000000000000000000000000000000020f1b2835424e5b6875818e9ba8a99c8f8276695c4f4336291c100300000000000000060b0e10111313131313130f0e0c0904000000000000000000000003070b0d0e13131313131312110f0c0701000000000000000000000004080a0b1313131313131308070502000000000000000000000000000000000000000916222e3a46515b62656c6c6c6c6c6c6c6c6c6c74818d9a93867a6d6c6c6c6c6c6c6c6c6c6c6c6c74818e9a9286796d6c6c6c6c6c6c67645c52473c3024170b000f1c2835414e5a6670767979797979798693a0ada6998c8079797979797979797976695e53463a2d2114070000000000000000000b17222d38414d57606d78839099a3aea2988e81756b61554b40342a27333f49535f6a73808d96a1ada49a9184796d60584e42382d22170b03000000000000000000000000000613202c3945515d6776838f9ca9a096877a6e6154474c566774808d9aa9988b7f72655466737f8c99aa998c7f7266544a4854616e7b8796a0a89c8f8275665c5145382c1f1306000000000000000000000000000000000000020b17212935414c56606b73808d95a0a7a09da0a79d938a7e70685e53493f33271e150b0000000000000000000000000000000000000000000000000000000000000000040e1a26313c45515c67707d89939e999083786d60574d42362a1f160c010000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000000030b17222d38424b555d676d78818b9298a0a69f97928880786e69605950483f362d231a0e04000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b8798a3aeaa9d9084776a574d42362a1e12050000000005111d2935414c566a7783909daaafa399877b6e6154483b2e21150800000005111e2a36414c5664707d8a96a1adada1978c7f72695e53493f3628231c140c0a060300000000000306090e1419222b343e45515d67717e8a96a0acab9f94887c6f62544b4034281c100400000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000060b13191c23282b2d3337393b3e4855626f7b88959f93867a6d6053473e3b3a36312e2b26201c170e09030000000000000000000000000000000000000000000c1825323f4b5865727e8b98a6ac9f92857a6d60574d45413f3b3a37312a21180e03000000000000000000000000000000000006131f2c3945515d6774808d9aa6aca096897d7063564c54626f7b88959faba79a8d8174675d5145392c20150a00000000000000000000000000000000020e1b2835414e5b6874818e9ba7a89c8f8275695c4f4236291c0f030000000000040b12171b1d1e2020202020201c1b19150f09020000000000000001080e13171a1a2020202020201f1e1b18130c050000000000000000050c11141717202020202020201514120e0903000000000000000000000000000000000006121e29343f4951565860606060606060606064717e8b979a897d70636060606060606060606065717e8b9899897c6f6360606060605a58524a41362b1f1408000d1925323d49545e66696c6c6c6c6d7a8693a0ada6998c80736c6c6c6c6c6c6c6c6c5e574d42362a1e12050000000000000000040f1b27333f49535f69727f8c95a0aba79f92857b6e61594f43392f22222d38414e58606d7984919ea6aca0958c80736a5f544a3f33281f1409000000000000000000000000000714202d3a4753606d7a86929faa9d918477685e52464a5764707d8a99a49b8f8275655c6676828f9ca298897c6f62564946525e697784919eaa9f9285796d6053463a2d2013090000000000000000000000000000000000000a141d29333b45525d68707d87939fa69f959095a0a59e92857a6e655b50443c30271d120700000000000000000000000000000000000000000000000000000000000000000915202834404b55606b75818e97a0958c7f72695e52463e31281d12070000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000006111c262f3a434b555d666d747f8691969ea5a19a938d827b706b615a50483f352b20160c020000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facab9f928578695e52463a2d201407000000000713202d3946525d687885929eabac9f9286796d6053463a2d2013070000000714202d3946525e6876828f9ca8b2ab9e9185796d60574d41382d2417110a02000000000000000000000002091019222935404b55606c7884919dabb0a69a8e8174665c5145382c1f130600000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000020a11171e24292e34383a3f4446484b4d55626f7b8895a093867a6d60534d4a4846423c3b37322d28221a150e0600000000000000000000000000000000000000000815222f3b4855626e7b88949faba2988b7f72695f57514c4c4847423c332a20150900000000000000000000000000000000000714202d3a4753606d7985929fabab9e9184786c605346535f6a7683909daaab9f92857a6d6053473d32271b0f01000000000000000000000000000000010e1b2834414e5b6774818e9aa7a89b8e8275685b4f4235281c0f0200000000050e161d23272a2b2d2d2d2d2d2d282825201b140c030000000000020b12191f2326272d2d2d2d2d2d2b2b28241e170f060000000000000810171c2123242d2d2d2d2d2d2d22211e1a140e0600000000000000000000000000000000010d18232d373f464a4c535353535353535355626e7b8897998c7f736659535353535353535355626f7b8898988c7f726559535353534e4c4741382f241a0e03000915212c38424c545a5c606060606d7a8693a0ada6998c807366606060606060605f534d453b31251a0e0200000000000000040e1a242b3744505b656e7b86929fa7ab9f958b7f72695e52473e31271d1b262f3c45515d67707d8a949eaaa89f92877c6f665b50443b31251a0e040000000000000000000000000a1724303d4a5763707d8a99a3a79a8e817467564c414754606d7a86939f9e9285796c606d7985929f9f9285796d605346424d576774818e9aa7a298897d706356493d30251a0e020000000000000000000000000000000006111c262f3b45505a606d7a849199a49f9490849096a1a1978f82776c60584e43392e23180e0400000000000000000000000000000000000000000000000000000000000000030c18232e39434f59616d7a85929f9f92867b6e61594f43392f24180b0200000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0000000000000a141d28313a434b545c606d727c848e939fa2a49f9490857d716c625a50473d32281e130800000000000000000000000000000000000000000000000000000006121f2b3844505c667784909daaaea298877b6e6154483b2e21150a000000000714212e3a4754616d7a8797a1adaa9e918477665c5145382c1f13060000000814212e3b4754616e7a87939facafa3998c7f72675d51453b2f261b1206000000000000000000000000000000071018242f3944505b66727e8b99a3aeac9f9285796d6053463a2d20130800000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000040b141b22272f35383f444649505355585a5c626f7b8895a093867a6d605b5a5754534d4947433c39332b261f180f09000000000000000000000000000000000000000814212e3a47535f697683909ca5aa9f92857b6e69605d555855534d453c31261a0e0200000000000000000000000000000006131f2b37434e5865717e8b97a2ada3998c7f72655b50444e5865717e8b98a2aea2988b7e7165584e43372b1e1308000000000000000000000000000000010e1a2734414d5a6774808d9aa7a89b8e8175685b4e4235281b0f02000000040e1720282e3336373939393939393534312c251e150c02000000010b141d242b3033343939393939393837342f2921180f050000000008121a22282d3031393939393939392e2d2b261f180f060000000000000000000000000000000007111b252d343a3e3f4646464646464647535f697885929c8f827569574d4246464646464653606c7985929b8e827568564d424646413f3c362f261d1308000005101b26303a42494e4f535353606d7a8693a0ada6998c807366595353535353534846423b33291f140900000000000000020c16202a36424d57606c77829098a3aea3999083786c60564d42352c1f15141d2935404b55616c75828f98a2aea3999083786c60574d42362a20160c020000000000000000000005121e2a36424d576774808d9aaba8978a7e7164574b3e45525d687783909da297887c6f626f7c8998a29c8f8276665c50443e4b5764717e8a97a8aa9a8d807367574d42362a1e1205000000000000000000000000000000030d17222d38424d57616c75818e96a1a39890827a84919ea59f948b7f726a5f554b40342820160c020000000000000000000000000000000000000000000000000000000000000007121d27303d46525e68717e8b949f988f82756c61554b4035291d140a00000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000000020b161f28313a424a515b626a6f7a818b9298a0a69f9792877e716c62594f443a3025190d03000000000000000000000000000000000000000000000000000003101c28343f4a546875818e9ba8b3aa978a7d7064574a3d32271b0d04000001081623303d495663707c8996a9b3a89c8f827569544b4034281c10040000030f1b27333f495364717e8b9aa4afac9f92867a6e61554b4033291d140a000000000000000000000000000000000007121d28333f4a54616d7a86929facaea298897d706356493d2f24190d01000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000050d161d262d333a41454a5053535b60626467686a6f7b8895a093867a6d6a686664615e5755534e49443e37312a211a120a01000000000000000000000000000000000006121e2b37424d5763707d89939ea6a29891847b736d676665625f574d42372b1e12060000000000000000000000000000000815212e3b47535f6a7683909da9ac9f92867b6e6153493f4753606d7a85929facaa9d9083776a6054473a2f24190d010000000000000000000000000000010d1a2734404d5a6773808d9aa6a79b8e8174685b4e4135281b0e020000000b16202932393f434446464646464642413d3730271e140900000008121d262f363c3f414646464646464544403a332b21170c01000005101a242c33393c3e464646464646463b3a37312a21180e030000000000000000000000000000000009131b23292e313239393939393937424d576975828f9c928578695f53473a3939393844505b6676838f9c918478695e52463a393433302b241d140b010000000a141e2830383d4143464753606d7a8693aab4a6998d8073665a4d46464646463b3a36312921170d030000000000000008131e28323a46525e69727e8b949faaa89f92877c6f665b50443b30231a0d0b18242f3943505a616e7b86929fa8ab9f958b7f72695e53463e32281e1308000000000000000000000714212d3a46535e697784919eaaa196877b6e6154483b414c566673808d99a9988b7f7266727f8c99aa998c7f7266544a3f3b4754616e7b8796a0aa9d908477695e52463a2d2014060000000000000000000000000000010b151f28333f4a545e69717e8a939ea79f92867b707d89939ea69f92867c6f675c51453d32281e130800000000000000000000000000000000000000000000000000000000000000000b151e2a36414c56606c778390999e938a7d70675d51453c2f261b1106000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000000000000040d161f2830394044515860676d757e8691969fa7a19992887e716b60564c4135291f15090000000000000000000000000000000000000000000000000000000b17232e3f4b5865727e8b98a8b2a69a8d807367584e43372b1f15100c090e131e2a36414c5666727f8c99a5b3aa998c7f7366594c402e23180c00000005121f2b3744505b6575818e9bacb6a99c8f8276685e5243392f21170b020000000000000000000000000000000000010b17222d3846525d6875828f9ca8b4aa9a8d807367564c4135291d1104000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000050e171f282f383f444c51545c6063656c6e71747576787c8895a093867978777573716e6967625f58555047423c332c241c130a0000000000000000000000000000000000020e1a26313c4854606b74818e949da5a09691857f7a7673726e695f53473a2e211408000000000000000000000000000004111d2935414c55626f7c88959faba99b8f8275685e52413845515d6774818e9ba7aca095897c6f62564c4135291d11040000000000000000000000000000000d1a2733404d5a6673808d99a6a79a8e8174675b4e4134281b0e01000006121d28323b444b4f515353535353534f4d48423930251b0f0400030e19242f3840474c4d53535353535352504c453d33291e130700000c17222c363e45494a535353535353534846423c332a1f140900000000000000000000000000000000010911181e2225252d2d2d2d2d2631404c5966737f8c9997887b6e6255483b2f2d28333f4a546673808d9996877a6e6154473b2e2726241f1a130b0200000000020c161e262c3235363a4653606d798698a3aea79a8d81746753493f36393a3c3a38342f271f150b01000000000000030d1924303a44505a616e7b85929fa6ada1968d80746a5f544a3f32291f110807121d28313e46535f69737f8c95a0aca79f92867b6e615a50443a3025190d040000000000000000000815212e3b4854616e7b8796a0ab9e918478695e53463a3d4a5663707d8999a39b8e82756675828f9ca298897c6f6256493c3a46525e697784919daaa095877b6e6154483b2e23170c000000000000000000000000000007121d27313944505b666e7b85929fa5a0958c7f726b75818e97a1a3989083796d60594f443a3025190f0600000000000000000000000000000000000000000000000000000000000000030c1925303a44505b656f7c87929f9e9184796d60584e41382d22170b020000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0000000000000000040d161e272e343f464e555d606c717c8490959fa7a39a92877d70685e52463c31261a0e0000000000000000000000000000000000000000000000000000000615222f3c4855626f7b8896a0acaa9d9184776a6054473c31271f1c181b1a1e242d3946525e6876838f9ca9aea298897c706356493d302316070000000613202d394653606c7885929eabb3a9988b7f7265564c4131271d0f050000000000000000000000000000000000000006111c2935414c5665727f8b98aab4aa9d918477685d5245392c201306000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000040e172029313a414950555d60666d7075797b7e8082838486929fac9f9286858382807d7b77736f6a64615a534d453e362d251c120900000000000000000000000000000000000915202c38444f59606d79828e939c9fa097928c8683807f7b6e6255483b2f22150800000000000000000000000000000613202c3945515d6774818e9aa7ada1968a7d7063564d4135404b55636f7c8995a0aca79b8e8174685d5245392c20160a0000000000000000000000000000000d1a2633404d596673808c99a6a79a8d8074675a4d4134271a0e0100000b17232e39444d565b5e6060606060605b59534b42372c2015090007131f2b36404a52585a6060606060605e5c574f453a2f24180c0004111c28333e485055576060606060606055534d453c31261a0e020000000000000000000000000000000000070d12161819202020202023303d4a5663707d8999978b7e7164584b3e2f24222d3d4a5764707d8a97978a7d7064574a3d2e231717140e0801000000000000040c141b2125282c3845515c667986929faca89b8f8275655b5046424547484745403931271d12070000000000010b151f2935414c56616c75828f98a2aea69e9184796d60584e42382d20170d00010c161f2a36424d57606d7984919da5aea2988f82756c61564c4135291f160c010000000000000003101c28343f4a5465727e8b98a8a79b8e817468574d42363a4753606d7a86929f9e9285786c7985929f9f9285796d6053463a36424d566774818e9aa7a7988b7e7165544a3f34281c1003000000000000000000000000050e18242f39434e58606c78829097a2a3999083786d616d7a85929ea6a0958d80736b60564c41352921180c030000000000000000000000000000000000000000000000000000000000000008131e27333f49535f6a73808d96a0968d80736a5f53493f33271e14080000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000000000000040c151c2328343c434c515a626a6f7a839095a0a9a39992857a6d61574d42372b1b110600000000000000000000000000000000000000000000000000000815212e3a47535f6a7784919eabaca095887c6f62584e4339312c282327262b2f35414c56616d7a86929facab9f9285796d6053463a2d2013070000000815222e3b4855616e7b8897a1adada197887b6e6255483b3022150b0000000000000000000000000000000000000000000d1924303c4855626f7b8898a2aeaca095877a6d6054473a2d211407000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000020b162029323b434b535b60676d73797d8285888b8d8f90919298a3aea3989291908e8d8a8784807c76706c625f5750483f372d241b10060000000000000000000000000000000003101c27333d45515c676d7981898f939aa29f9992908d8b7f7265584c3f3225190c00000000000000000000000000000714212d3a4754606d7a85929facac9e9184796d6053463b303a4854606b7784919dabac9f92867a6d6054473d32271b0f0200000000000000000000000000000c1926333f4c5966727f8c99a5a69a8d8073675a4d4034271a0d0100020e1b27333f4b565f676a6c6c6c6c6c6c68655d53483d3125190c000b1723303c47525c64676c6c6c6c6c6c6b6861574c4034281b0f030814212d3945505a61646c6c6c6c6c6c6c6c5f574d42372b1e12050000000000000000000000000000000000000106090b0c1313131314212d3a4754606d7a86939a8d817467554b403529212e3a4754616d7a8796998d807366544a3f34281c100303000000000000000000020a1015191c2834404b546b7885929eabab9e9184786c6056534d51545553514b43392f23180c000000000007121d27313945525d68717e8a939eaaaa9e948a7d70675d51463c2f261c0e050000040d1a26313b45515c66707d89939ea9aa9e948a7e71685e52463d31281d12070000000000000006121f2c3844505c6675828f9ba8a9988b7e7165584b3e313945515d677683909ca197887b6f7b8897a29c8f8276665c504438303e4b5764717e8a97a8a89b8e8275665c5044382c1f12060000000000000000000000020c17202935404b555f6a727f8c949fa89f92877c6f665e68717e8a949ea79f93887d70685e52463f332a1e150a00000000000000000000000000000000000000000000000000000000000000020b17222d38414e58606d7984919e9f92877c6f655b50443b3025190c0300000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000000000000000000030b1218222b313a414550585f686d79839097a1aba1978e8174695f5347382d22170b000000000000000000000000000000000000000000000000000006121f2b37434e586673808d99a3afa89b8e81756a5f554b433c38342e3431373a4145525d68737f8c99a3afa79b8e8175675c5145382c1f13060000000a1724303d4a5763707d8a96a9b3ab9e928578695f53473a2e2114030000000000000000000000000000000000000000000813202d394653606c7985929facb1a795897c6f6256493c2f231609000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000a141d28323b444d555d656c717a80858a8e9297979a9b9d9e9fa3aab4aaa39f9e9d9b999796918d88837d766e69615a51493f362d22180b02000000000000000000000000000000000b16212834404b555d676d747d82889297a2a39f9c988b7f7265584c3f3225190c0000000000000000000000000007131f2c38434f5965727e8b98a2aea49a8d8073665c5044382c38434f5965727f8c99a3aea2988b7f7265594f44382c1e130800000000000000000000000000000c1926323f4c5965727f8c98a5a6998d8073665a4d4033271a0d000004101d2a36434f5b677177797979797979756f65594d4134281b0e020d1a26333f4c58646e747979797979797873685c5044372b1e11050a1723303c4955616c717979797979797976695f53463a2d21140700000000000000000000000000000000000000000000000606060613202c3945515d677784909d908377675d5145382c202d3946525e687884919c908376665c5044382c1f120600000000000000000000000005090c18232e43505d6a7683909da9ada196897d7068615f575d6062605c554b4034291c1004000000030c18242f39434f59606d7a85919ea6aea2988f82756c61554b40342a1d140a0000000009141f2834404b54606b75818e97a2ada69e92857a6d61594f43392f24180c030000000000000713202d3a4653606d7985929faba197887b6e6155483b2e35404b556673808c99a9978b7e717e8b97a9998c7f7266544a3f342e3b4754616e7a8795a0ab9f9285796d6053463a2d201308000000000000000000000008131e29323a45515d676f7c87929fa6a0968d80736a5f56616c75828f98a2a49a91857a6d615a50453c30261c11060000000000000000000000000000000000000000000000000000000000000006111b262f3c45515d67707d8a939e999083776c60564c41362a1e150b00000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0000000000000000000000000710191f282f353f464e565d676e7a85929ea6a99f93877b6e6253493f33271b0f0300000000000000000000000000000000000000000000000000030f1a26313c4854616e7b87929faaac9f92877c6f675d554e46454041414142474c515b606d7a85929eabaca095897d7063554b4034281c10040000000c1926323f4c5965727f8c98a5b2a99c8f837669574d42372b1e120600000000000000000000000000000000000000000006121f2b3844505b667783909daab1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000006111b262f3a444d565e676d777e858d91979b9ea2a9a7a8a5a4a4a6acb3aba5a3a4a5a7a6a8a09d9a95908a827b716c635b51483f342a1d140a0000000000000000000000000000000006111c262f3b444d575e666d72797e85929faba8a5988b7f7265584c3f3225190c000000000000000000000000000a15222f3b4854606b7783909daaac9f93877b6e61544a3f3428323d4754616d7a86929facaa9d9184776b6054483a3025190d00000000000000000000000000000c1925323f4c5865727f8b98a5a6998c807366594d4033261a0d000004111e2b3744515e6a77848686868686868175685b4f4235281c0f020e1a2734414d5a67748086868686868685786b5e5245382b1f12050b1724313e4a5764717e868686868686867b6e6155483b2e221508000000000000000000000000000000000000000000000000000004111d2935414c556774818e9a92867a6d6053473a2d202a36414c566875818e9b9285796d6053463a2d2013070000000000000000000000000000071a2734414d5a6774808d9aa9b2a89d91837a726e696c676d6f6d675c5145382c1f13060000000b151e2935404b55606b74818e97a1ada79f92867b6e615a50433a2f22190b0200000000030c18232e39424f59616e7a85929fa7ada1978e81746b60554b4035291e150a000000000000091623303c4956636f7c8997a2ab9e918578695f53463a2d2f3c4956636f7c8998a29a8e8174818d9aa298897c6f6256493c2e2d3946525e687784919daaa297897c6f6356493c3025190d01000000000000000000060f1925303a444f59606d79839199a3a49a9184796d6058505a616e7b86929fa7a1978f81756c62574d42382e23170d04000000000000000000000000000000000000000000000000000000000000000a141d2935404b55616b75818e989f958b7e72685e52463d30271d1207000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000000000000000000000000070d161e2429343c444c555e68707d8a949faba49a8d8174655b5044372b1f120500000000000000000000000000000000000000000000000000000a15212d3a46535e6975818e98a3aea3999083796d675f5853514b4e4e4e4d53555d606d74818e97a1ada69d9083776b605443392e23180c000000000e1b2834414e5b6774818e9aa7b3a79a8d8074675a4d4131261a0e02000000000000000000000000000000000000000000030f1c28333f4a546875818e9ba8b3a6998d8073665a4d4033271a0d000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000b17222d38414c565e696e79828b91979ea1a9aba8a19e9b9997989ba2aba1999697989b9ea0a8aaa79f9d948f867e726d635a50463c2f261b11060000000000000000000000000000000b17222d38424d565e696e787f858b9297a29f9c98958b7f7265584c3f3225190c00000000000000000000000006111b2935414c56636f7c8995a0aca99c8f8276695f5342382e232d3946525e6875828e9ba8aca095897c6f63564c41362a1b1106000000000000000000000000000c1825323f4b5865727e8b98a5a6998c7f7366594c403326190d000004111e2b3744515e6a778491939393938e8275685b4f4235281c0f020e1a2734414d5a6774808d939393939185786b5e5245382b1f12050b1724313e4a5764717d8a9393939393887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000010d19242f3e4b5865717e8b9899897c6f6356493c302325303f4c5865727f8b9898887c6f6255493c2f22160800000000000000000000000000000b1724313e4a5764717d8a97a1adaca09591847f7b7978797a7c796d6053473a2d201407000007121c27303945515d67707d89939da9aba0958c7f72695e53483e31281d100700000000000007121d27303d46525e68727f8b959faba99e93897d70675d51453d30261c11060000000005111d2935414c566673808c99a9a89b8e817568574d42372b2d3a4653606d7985929f9d90847783909d9f9285796d6053463a2d2a36414c566774818d9aa7a9998d807366564c41362a1e11050000000000000000030c18212a36414c56616b74808d95a0a89f93887d6f675c5146535e69727f8b959fa99e938b7e71695f544a3f34281f160c01000000000000000000000000000000000000000000000000000000000000020b18242f39434f59616e7b85929f9f92857a6e61594f43392e23180c030000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0000000000000000000000000000040c1319222a323a434d56616c7683909cabac9e9285786c605346392d201306000000000000000000000000000000000000000000000000000005121e2a36424d57616e7b86929fa6aba0958f82796f6a63605c555b5a5b575f62676d747f8c939ea9a99f948a7d7064594f4430271d120700000000101c2936434f5c6976828f9ca9b2a5998c7f7266594c3f3326190900000000000000000000000000000000000000000000000b17222d404d5a6773808d9aa6b3a89b8e8175685b4f4235281c0f000000000000000000000000000000000000000000000000121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000030f1b27333f49535d686e7b838f949ea1a9a9a19e9996918e8c8b8b909ba5998f898a8c8e9196999ea1a9a69f98928a7f726c62584e41382d22170b0000000000000000000000000000030f1c28333f4a545e696e7b838c92979f9f99938f8b88877f7265584c3f3225190c0000000000000000000000000b17222d3946525d6875818e9ba7ada1978a7e7164574d4230261c2a36414c5663707d8996a1ada79b8e8175685e5246382d22170b000000000000000000000000000b1825323e4b5865717e8b98a4a5988c7f7265594c3f3226190c000004111e2b3744515e6a7784919d9f9f9b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9a9f9f9e9185786b5e5245382b1f12050b1724313e4a5764717d8a979f9f9f94887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8897988c7f7265594c3f3025232f3c4956626f7c8998988b7e7265584b3f3024190d01000000000000000000000000000713202d3a4653606d7985929ea6b0a7a096918b8886858687877b6e6154483b2e21150800000c18232e39424e58606d7984919ea5afa4999083786d60574d42362c1f160c00000000000000000b151e2a36414c56606c78839099a4afa59e9184796d60584e42382e23170c000000000713202d3946525d687683909da9a9988b7e7265584b3f31262c3844515c6676828f9c9f93867a86929f9c8f8275665c5044382b25303e4a5764717d8a97a7aa9d908377685e5246392d20140600000000000000000b151e2a333c46525e68707d8a929da8a1968d80746b60554b424d57606c78839099a3a59f92867b6e665c50443d31281e13080000000000000000000000000000000000000000000000000000000000000007121d27313e46525e68727f8b959f978e81756b60554b4034281f15090000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000000000000000000000000010810182028313b44505a64717e8a99a3ada197887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000020e1a25313b46535f69737f8c949fa7a79f948f837c75706d676867676869696e737a818c919ca5aaa1978f82766c6155473d331e150b0000000000101d2a3643505d697683909ca9b1a4978a7e7164574b3e3124180b0000000000000000000000000000000000000000000000061926323f4c5965727f8c98a5b2a89c8f8275695c4f4236291c0f0000000000000000000000000000000000000000000000030d152c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000010c161f2b3744505b656d7a8490959fa6aaa29f96918c8884817f7e7e8b98a396897d7d7f8184888c91979fa3aaa29f918b7e716a5f53493f33271b0f030000000000000000000000000006121f2b3844505b666e7b8490959ea19d948f87827e7c7a786c605346392d2013060000000000000000000000030f1b27333f4953616d7a86929facab9e9285796d6053463b31201925303a4653606c7884919eabac9f92867a6d6153493f33271b0f030000000000000000000000000b1824313e4b5764717e8a97a4a5988b7f7265584c3f3225190c000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aca194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000613202d394653606c7985929b8e827568574d42362a202d3a4653606d7986929b8e817468564c4135291d11040000000000000000000000000006131f2c3845515c67737f8c949fa6ada8a19e989992929299877b6e6154483b2e2115080004101c2834404a54606a73808d96a09fa99f93877c6f665c50453b31241a0d040000000000000000030c1925303b44505b666f7c87939fa99fa1968d80736a60544a3f34281c10030000000714212e3a4754616d7a86939faca197887b6f6255483c2f222834404a5466727f8c99a4998c7f8c99a3998c7f7266544a3f3428212e3a4754616d7a8795a0ac9f93877a6e6154473b2d22170b0000000000000007121c27303c45515b616d7a85919ea4a59e9184796d60594f433b44505b666f7c86929fa7a2989083786d60594f433a2f24190f05000000000000000000000000000000000000000000000000000000000000010b151f2a36414d56606c788390999e93897d70675c51453c31261a0e0400000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0000000000000000000000000000000000060e161f29323e4753606d7a86929f9fa9988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000009141f2a36424d57606d78828f959fa7a69f959087817d79777574747476787b80858e939ca3aaa29892857b6e615a5044352b210c030000000000111e2a3744515d6a7783909daab0a3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a99c908376695d5043362a1d1000000000000000000000000000000000000000000000010b151f2935414c566c7885929fabada093867a6d6053473a2d20160c0200000000000000000000000000000000000000000000000008131e2935414c56606c77828f96a0a7a8a198928c84807b787572717b8895a0938679717274777b80848d9299a2aaa39f92867c6f655b5044372b1f130800000000000000000000000003101c28343f4a54606c788390969fa79d938e827b75726f6e6c665b5044382b1f1206000000000000000000000005121f2b3744505b65727f8c98a3aea79a8d8074675c5145382c1f131f2b3844505b6673808c99a4aea3988c7f72655b5044372b1f14080000000000000000000000000b1724313e4a5764717d8a97a4a5988b7e7265584b3f3225180c000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000005121f2b3744505b6576828f9c918478695e52463a2d202c3845515c667683909d918477685d5245392c2013070000000000000000000000000004101c2834404b55606d78828f949ea1a8a9aaaba39f9f9f94877b6e6154483b2e2115080006121f2c3844515c666f7c879293939393978d80746a60544a3f33291f11080000000000000000000008141e28333f4a54606a74808d979393939392877c6f665c5044382c1f12060000000b1724313e4a5764717d8a99a4ab9e9285796c605346392d20232e3c4955626f7c8897a29e9184919ea298897c6f6256493c2e23202d3946525e687784909daaa49a8b7e7164544a3f33281c0f030000000000040d18232e39424d57626d75828f97a1a99e938a7d70675d51473d333f4a545f6a73808c95a0aa9f958c80736b60554c41352921170b02000000000000000000000000000000000000000000000000000000000000030d1925303b44505b666f7c87929f9e9184796d60574d42372b20160c02000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000000000000000000000000000000040d17202c3945515d67778490939393938c807366594d4033261a0d000000000000000000000000000000000000000000000000000000030e1a26313b44505c666d7a8390959da5a7a099938e898683828181818385888c92979da5a7a09892867d70695e52483e3323190f000000000000111e2b3844515e6b7784919eaaafa396897c706356493d3023160a00000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000007121d27313945525d687885929fabada093867a6d6053473e32281e13080000000000000000000000000000000000000000000000010d19242f3946525e68727f8c949ea8a8a19691867f79736e6968666f7b8895a093867a6d6568696e737980879298a2aea3999083786c6053463a2f24190d01000000000000000000000006121f2b3844505c66727f8b959fa89f958e81786e69656261605b544a3f33281c0f0300000000000000000000000613202d394653606c7884919daaab9f95887c6f62554b4034281c101c28333f4a54616e7b87939facaa9e9184786c6053463b3025190e0000000000000000000000000a1724313d4a5764707d8a97a3a4988b7e7165584b3e3225180b000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000030f1b27333f49536673808c9396877b6e6154483b2e212834404b546774808d9393867a6d6054473a2d21140700000000000000000000000000000c18232e3944505c666d7a828c91969a9c9e9f9f9f9f9e94877b6e6154483b2e211508000713202d3a4653606d798386868686868686857a6d60584e42382e21170d0000000000000000000000020b17222d38424e58606d7a858686868686868683796d6053463a2d201307000006121f2b37434e586774818e9aaba89b8f8275655b5044372b1f202d394653606c7985929fa1969196a19f9285796d6053463a2d201e2a36414c566774818d9aacac9b8e8175665b5044382b1f120600000000010c161f2834404a545f69727e8b949ea9a1978e81756b61554b41352d38424e58606d79839199a4a79f92877d6f675d51453e33291d140a0000000000000000000000000000000000000000000000000000000000000008141f28333f4a545f6a73808d96a0968c8073695f53473e32281e1308000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0000000000000000000000000000000000000005111d2935404b556976828686868686868174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000009141f28343f4a545e686d7a838e929d9fa7a49f9b9892908e8e8d8e8f9197999ea1a9a29e9590867d706b60574d42362c221108000000000000121f2b3845525e6b7885919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000030c18242f39434f59606d7a86929facaea194877b6e615a50443a3024190d030000000000000000000000000000000000000000000004111d2935414c55616d7a86929fa6aba19691847c726d66615f57626f7b8895a093867a6d60575f61676d737d86929fa5ab9f958a7d7064554c4135291d110400000000000000000000000713202d3a4653606d7884919ea7a89d9083786d665f57555453504a42382d22170b000000000000000000000005111e2a36414c5663707d8996a0acaa9d9083766a5f5343392e23180c17222d3846535e6976828f9ca9aca096897d7063564d41362a1c110600000000000000000000000a1724303d4a5763707d8a96a3a4978b7e7164584b3e3125180b000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000b17222d3d4a5763707d868686867d7164574a3e3124232e3e4b5764717e868686867d7063564a3d3023170a000000000000000000000000000007121d28343f4a545e686d787f848a8d9091929292929190877b6e6154483b2e2115080006121f2c3844515c666d7779797979797979786d685d52463d30261c0f0500000000000000000000000006111c262f3c45525d686d7879797979797979776d665c5044382c1f120600000814212e3a47535f6a7884919eaba9988b7f726553493f33271b1f2b3844505b6675828f9ba8a19ea1a89c8f8275665c5044382b1f1925303e4a5764717d8a9aa4ab9e9285796c605346392d2013080000000008131e28313a44515c666e7b86929fa6a69e92857a6d61594f433a2f262f3c45515c666f7c87939fa8a39991847a6d605a50453b2f261c1106000000000000000000000000000000000000000000000000000000000000020b17222d38424e58606d7984919e9f92867b6e625a50443a3024190c030000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000000000000000000000000000000000000010d18242f3a4e5a667076797979797979746f64584c4033271a0d01000000000000000000000000000000000000000000000000000000030b17232e38424c565e686d79818990959b9fa2aaa39f9d9b9a9a9b9c9ea1a9a49f9c97928c837b706b60594f453b30241a1000000000000000121f2b3845525e6b7884919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0aa9d9184776a5e5144372b1e110000000000000000000000000000000000000000000a151e2935404b55606b74818e98a3aeb5a89c8f82756c61564c4135291f150b010000000000000000000000000000000000000000000613202c3945515d6773808d98a2aea49991847b6e6a605c545355626f7b8895a093867a6d605353555d606b707d8a939ea9a79c8f8276675d5145392c20130600000000000000000000000a1623303d495663707c8996a1aca096897d70665c544d494746443f382f261c110600000000000000000000000714202d3946525e6875828e9ba8aea2988b7e7165584e4330271d1207111c2a36424d5764717e8a97a1ada89b8f8275685e5246382e23170b00000000000000000000000a1723303d4a5663707d8996a3a4978a7d7164574a3e3124170b000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000616232f3c4855616b7079797979716c6155493c302323303d4955616c7179797979706b6055483c2f2316090000000000000000000000000000000c17232e38424c565e666c72797d808384858686858483817a6d6054473a2d2114070004101c2834404a545c606a6c6c6c6c6c6c6c6b605d564c41342b1e150a00000000000000000000000000000a141d2935414c565d606b6c6c6c6c6c6c6c6a605c544a3f34281c100300000815222f3b4855626e7b8896a1ada297887c6f6255493c2d22171c28333f4a5465727f8b98a9acabaca9988c7f7265544a3f34281c14212e3a4754616d7a86939faca197897c6f6256493c3024190d010000010d19242f3a434f59606d78839098a2a99e948a7e71685e52473e31281d2834404b54606b74808d96a1aba0968e81746c61574d42382d22170b0000000000000000000000000000000000000000000000000000000000000006111c262f3c45515d67707d8a939e988f82766c61564c4135291e150a0000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000000000000000000000000000000000007131d323e49545e66696c6c6c6c6c6c67645c53483c3024180b000000000000000000000000000000000000000000000000000000000006111c26303a444c565e676d747c83898e9298999b9d9e9f9f9f9f9e9d9b999993908b857f786e6960594f473d33291f120800000000000000111e2b3844515e6b7784919eaab0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a99d9083766a5d5043372a1d10000000000000000000000000000000000000000006111c26303845515d67707d89939daab4b9aa9e948a7e71685d52463d31271d12070000000000000000000000000000000000000000000714212d3a4754606d7a85929faaab9f93877d6f695f58514b4855626f7b8895a093867a6d6053474b5159616b74818e9ba8ac9f92867a6d6054473a2d21140700000000000000000000000d192633404c5966737f8c99a8aa9d9184776b60544a423c3b3938332d261d140a0000000000000000000000030f1c28333f4a54616e7a86929facac9f92857a6d6053473c3120150b000e1a25313b4653606d7985929eabac9f92867b6e61544a3f34281c100300000000000000000000091623303c4956636f7c8996a2a3978a7d7064574a3d3124170a000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000714202c38444f5961636c6c6c6c64615a5044392d21212d3945505a61646c6c6c6c6360594f44382c20140700000000000000000000000000000006111c26303a444c545b60666d70737677787979787876746d685d5245392c20130700000c18232e39424a51535d606060606060605e54524c433a2f22190c030000000000000000000000000000020b19242f3a434c52545e606060606060605d53504a42382e23170c000004101c2834404b5565727f8b98a89f9f9285796c605346392d201317222d3b4855626e7b8897a19f9f9fa297887c6f6255493c2e231713202d3946525e687784909d9fa9998c7f7366564c4135291d1105000004111d2935414c55606b73808d959f9fa2978f82756c61564c41352c1f18232e39424f59606d7984919ea5a89e938a7e71695e544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000a141d2935404b55616c75828f989f948a7e71685d52453d30261c110600000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000000000000000000000000000000000000000115212d38424c545a5c6060606060605b58534a41362b2014080000000000000000000000000000000000000000000000000000000000000a141e28323a444c555c606b6f777d8185898c8e90919292929291908f8d8a86837e79726d665f574f473d352b20170d0000000000000000111e2a3744515d6a7784909daab0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1a99c8f8276695c504336291d1000000000000000000000000000000000000000020b17232e38424e58606d7984919ea5afafacafa69e92857a6d61594f43392f24180c0300000000000000000000000000000000000000030f1b27333f495364717e8a98a2aca3998d80746b60574e45404855626f7b8895a093867a6d60534740454f59626f7c8896a0aca3998a7d7063574a3d3024170a00000000000000000000020f1b2835424e5b6875818e9ba8a79a8e817467594f4239302e2d2b28221c140b02000000000000000000000006121f2b3844505b66737f8c99a3aea79a8e8174675d5145392c2013030009141f2c3845515c6674808d9aa7afa3998c7f73665c5044382b1f1409000000000000000000000916232f3c4956626f7c8995a2a3968a7d7063574a3d3024170a000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000004101c28333e474f555760606060575550483e33281c1d28333e485055576060606056554f473d33271c1004000000000000000000000000000000000a151e29323a424a50545c606467696b6c6c6c6c6b6967605d564c4135291d1104000007121c2730394044465153535353535353524745413a31281e10070000000000000000000000000000000008131e28313a41454752535353535353535146443f3830261c1106000006131f2c3845515c6775828f939393938f8275665b5044382b1f1214212e3a47535f6a78859193939393939285796d6053463a2d2013111d2935414c566774808d93939393908376685d5246392d20130700000613202c3945515d676f7d87939393939392857b6e615a50443a30231a121d27303d45515d67707d8a939393939392857b6e665b5044382b1f120600000000000000000000000000000000000000000000000000000000000000020b18242f3a43505a616e7b86929f9e92857a6d60594f42382e23170c03000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000000000000000000000000000000000000000a15202a343c4347495353535353535353534f4940372c21160a000000000000000000000000000000000000000000000000000000000000020c162029323a434b515960636b7075797c7f82838485868685858382807d7a76726d67605c544d453d352b23190e050000000000000000101d2a3643505d697683909ca9b1a5988b7e7265584b3f3225180700000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3a89b8f8275685c4f4235291c0f000000000000000000000000000000000000000a141d28343f4a54606a73808d96a0acaca49fa4aca1978e81746b60554b4035291e150a0000000000000000000000000000000000000005121f2b3744505b6574818e9b9ea09f92867b6e61594f453c3c4855626f7b8895a093867a6d6053473a3e47535f6a7784919eaaab988c7f7265594c3f3226190c00000000000000000000030f1c2936424f5c6975828f9ca8a4988b7e7165584b3e302721201f1c17110a020000000000000000000000000613202d394653606c7884919eabaca095897c6f62554b4035291d11040004101c2834404b54626f7c88959fabab9e9184786d6053463b31251a0e000000000000000000000916222f3c4955626f7c8895a2a396897d7063564a3d3023170a000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000b16212c353e44484a535353534a49443e362c221717222c363e45494b535353534a48443d352c21160b0000000000000000000000000000000000030c1720292f383f444a5053575a5d5e5f5f5f5f5e5d5b54524c443a2f24190d010000000b151e272e34383a4446464646464646453a39352f281f160c0000000000000000000000000000000000010c161f282f35393a4546464646464646443a38342e261e150a0000000713202d3a4653606d79868686868686867f7266544a3f33281c0f121f2b37434e58687581868686868686868275665c5044382b1f120d1925303d4a5764707e868686868686877a6d6154473a2e21140700000714212d3a4754606d7a84868686868686867f71695e52483e32281e110b151e2935414b55616b75818686868686868682796c605346392d201306000000000000000000000000000000000000000000000000000000000000000007131d28313e46525e69727f8c95a0978e81746b60544a3f34281f1409000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000000000000000000000000000000000000030f1b26323c464e535560606060606060605f5a52493e33271b0f02000000000000000000000000000000000000000000000000000000000000050e172029313940454f54596063676d70727576787879797878777573706d6865605d55504a423c332b231911070000000000000000000f1c2835424f5b6875818e9ba8b3a6998c807366594d402f23180c00000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4a79a8e8174675b4e4134281b0e00000000000000000000000000000000000006111b262f3844505c666f7c87929fa8a69f9a939aa4a99d93897d70675d51453c30261c11060000000000000000000000000000000000000613202d394653606c78858b8e9196968f8275695e53473d333c4855626f7b8895a093867a6d6053473a37434e586976828f9ca9a69a8d8073675a4d4034271a0d0000000000000000000003101d293643505c6976838f9ca9a3978a7d7064574a3d31241513120f0b060000000000000000000000000005121e2a36424d5763707d8a96a1acaa9d9083776a6054433a2f24180d0100000c18232e3947535f6a7683909daaada1968a7d7063574d42362a1c12070000000000000000000915222f3c4855626f7b8895a2a396897c706356493d3023160a000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000005101a232c33383c3d464646463e3c39332c241a10101a242c33393d3e464646463d3c38332c231a0f05000000000000000000000000000000000000050e171d262d33383f44464a4d50515253535251504e4745413a32281e130800000000030c151c23282c2d3739393939393939382d2c29241e160d04000000000000000000000000000000000000040d161e24292c2d3839393939393939372d2c28231c150c0300000006131f2c3845515c676d79797979797979726d635742382d22170b0f1a26313c4d59656f7579797979797979757065544a3f34281c10081623303c4955616c707979797979797975685d5246392d20130700000613202c3945515d676d7879797979797979716d62574d42362c20160c030c18242f3a434f59656f7579797979797979766c665b5044382b1f12060000000000000000000000000000000000000000000000000000000000000000010c161f2a36424d57606d788390999f93887c6f665c50443b31251a0d040000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0000000000000000000000000000000000000006131f2b37434e585f626c6c6c6c6c6c6c6c6c645a4f43372b1e120500000000000000000000000000000000000000000000000000000000000000050e171f272f343d43484f54555c606366686a6b6c6c6c6c6b6a686664615e5653514b4c4841382f21191108000000000000000000000d1a2734404d5a6773808d9aa6b3a89b8e817568554b4034291c100400000000000000000000000000000000000000000005121e2a36424d576976838f9ca9b2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000b17222d38414d57606d78839099a3ab9f948f87939fa8a59e9184796d60584e42382e23170c0300000000000000000000000000000000000613202d394653606c777c7e8184878a8b7e7165574d42352f3c4855626f7b8895a093867a6d6053473a32414e5b6874818e9ba7a79a8d8174675a4e4134271b0e0000000000000000000003101d293643505c6976838f9ca9a396897c706356493d3023160a06030000000000000000000000000000000714202d3a46525e6975828f9ca8aea3988b7f7265584e4331281d130700000007121d2b37434e5865717e8b98a2aea89c8f8275695e5346392e23180c0000000000000000000815222f3b4855626e7b8895a1a295897c6f6256493c2f231609000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000008111a21282c2f303939393931302d28221a120808121a22282d303139393939302f2c27211a11080000000000000000000000000000000000000000050b141c22282e34383a3d404344454646454543413a39352f2820160c010000000000030b12181c1f202a2d2d2d2d2d2d2d2b21201d19130c040000000000000000000000000000000000000000040c13191d20212b2d2d2d2d2d2d2d2a201f1c17110a030000000004101c2834404b555c606c6c6c6c6c6c6c66635b51462f261c11060a1520313d48535d65686c6c6c6c6c6c6c69655d5442382e23170b0814202d3944505a61646c6c6c6c6c6c6c6b5d564c4135291d1105000004111d2935414c555d606b6c6c6c6c6c6c6c65625a50453b30241a0e040007131d28313e47535d65686c6c6c6c6c6c6c69605b544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000000040d1a25303b44505c666f7c87939f9a9083786d60574d42362a1f160c0100000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000000000000000000000000000000000815212e3b47535f6a767979797979797979766c5f5346392d2013060000000000000000000000000000000000000000000000000000000000000000050d1925303b444c525f6060606060605d5d5e5f5f5f5f5e5d5c5a6060606060605a58534a41362b201408000000000000000000000c1925323f4c5865727f8b98abb5aa9d908477675c5145382c1f13060000000000000000000000000000000000000000000714212d3a46535f697885929fabb4aa968a7d7063574a3d3024170a0000000000000000000000000000000000040f1b27333f49535f69727f8c95a0aba3998f82808c96a0aca0968d80736a5f544a3f34281f1409000000000000000000000000000000000005121f2b3744505b656c6f7274777a7d807a6e6154473b312f3c4855626f7b8895a093867a6d6053473a35414b556875828e9ba8a69a8d8073675a4d4034271a0d0000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c302316090000000000000000000000000000000003101c28343f4a54616e7b87929facac9f92867a6d6154473d3221160c01000000000f1b26313c4754606d7a85929facac9f93877b6e61544a4034281c100400000000000000000815212e3b4854616e7b87949f9f95887c6f6255493c2f221609000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000810161c2023242d2d2d2d2423211c17100800000810171d2123242d2d2d2d2323201c160f0800000000000000000000000000000000000000000000020a11171c23282c2d31343638393939393836342d2c29241e160d040000000000000000070c1012131e202020202020201f1413110d08010000000000000000000000000000000000000000000001080d1113141f202020202020201e1312100c06000000000000000c18232e39434b51535f606060606060595751493f351d140a000314202c37414b53595b606060606060605c5a544b4230261c110604101c28333e485055576060606060606054524c443a3024190d010000010d19242f3a434c51545e60606060606060585650483f33291f12080000010c161f2c35414b53595b606060606060605c53504a42382d22170b000000000000000000000000000000000000000000000000000000000000000000000009141f28343f4a54606a74808d97a0958c7f72695e53463e31281d130700000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000000000000000000000000000000000916222f3c4955626f7c8686868686868686796c605346392d201306000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e6c6c6c6c6c6c6c6a675f555353524f5960636c6c6c6c6c6c67645c53483c3024180b00000000000000000000091623303c4956636f7c8999a4afac9f9286796d6053473a2d22170b0000000000000000000000000000000000000000000815222e3b4855616e7b8897a2adaea298887b6e6155483b2e22150800000000000000000000000000000000040e1a242b3744505b656e7b86929fa7a89f92867c7984919ea5a89f92877c6f665c50443c31261a0e0500000000000000000000000000000000030f1b27333f49535b60626568686d70736e685e524639292f3c4855626f7b8895a093867a6d6053473a3a45515d677683909da9a5998c7f7266594c3f3326190c0000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c302316090000000000000000000000000000000006121f2c3844505c6673808c99a3afa89b8e8175685e5246392d20130400000000000a15202c3945515d6774818e9ba7afa4998d8073665c5144382c1f150900000000000000000814212e3b4754616e7a8793939393887b6f6255483c2f221509000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000050b1014161720202020171614100b0500000000060c1114171820202020171614100b0500000000000000000000000000000000000000000000000000060b11171c1f2024272a2b2c2c2c2c2b2a2821201d19130c0400000000000000000000000406071113131313131313120706040100000000000000000000000000000000000000000000000000000104060712131313131313131107060300000000000000000007121d273039404546525353535353534c4a463f372d230b0200040f1a252f3941484d4e535353535353534f4d494239301e140a00000b17222c363e44494a535353535353534746413a32281e13080000000008131e28313a41454751535353535353534b4a453f362d20170d00000000040d1a232f3941484d4e535353535353535046443f382f261c11060000000000000000000000000000000000000000000000000000000000000000000000030b17232e38424e58606d7a84919e9f92867b6e615a50433a2f24180d01000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000000000000000000000000000000000916222f3c4955626f7c8893939393939386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000714202d3946525e68767979797979797771675b4f464854606b70797979797979746e64584c4033271a0d010000000000000000000714202d3a4753606d7a86939facaea399897d706353493f33271b0f030000000000000000000000000000000000000004111d2935414c5565717e8b98a9b3ac9f9285786d6053463a2d201307000000000000000000000000000000020c16202a36424d56606c77828f98a3aca0968c8073707d8a939eaaa3999083786d60574d42372b20170d02000000000000000000000000000000000b17222d38414950535558565d616366615e564c41362a2f3c4855626f7b8895a093867a6d6053473e444d57606d7a86929faca9988b7e7165584b3e3225180b0000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c30231609000000000000000000000000000000000713202d3a4653606d7984919eabaca096897d7063564c4135291d1105000000000004111d2935414b55636f7c8995a0acab9e9185796d6053463c31261a0e00000000000000000714212e3a4754616d7a8686868686867b6e6255483b2f221508000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000407090a131313130b0a0804000000000000000005080a0b131313130a0907040000000000000000000000000000000000000000000000000000000000060c101213171a1d1e1f20201f1e1d1b1413110d080100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e272e34383a464646464646463f3e3a352d251c1100000009131d272f373d40424646464646464642413d3730271e0c02000005101a242c33393c3d464646464646463a3935302820160c0200000000010c161f282f35393a45464646464646463e3d3a342d241b0e05000000000008111d272f373d404246464646464646433938332d261d140a0000000000000000000000000000000000000000000000000000000000000000000000000006111c26303d45515d67717e8a949e988f82756c61554b4035291d1104000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000000000000000000000000000000000916222f3c4955626f7c88959f9f9f9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a86868686868683776a5d5144495663707d8686868686868074675a4e4134271b0e010000000000000000000613202c3945515d677784909daab4ab9a8d8073655b5044372b1f140a000000000000000000000000000000000000010c13202c3945515d6775828e9ba8b5a89c8f8275665c5044382b1f120600000000000000000000000000000008131e28323a46525e69717e8b949faaa59e9184796d6b75818e98a2aba0958c7f72695f53463f32291e14080000000000000000000000000000000006111b262f383f4446494b4c5254575954524c443b30252f3c4855626f7b8895a093867a6d605347464f565f69727f8b98a3ada197887c6f6255493c2f2216090000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c3023160900000000000000000000000000000005121e2b37424d5764717d8a97a1adab9e9184786c6053463a3025190d010000000000010d18242f3a4854606b7784919dabada1978a7d7164574d42372b1d1207000000000000000713202d3946525e687679797979797976695f53473a2e211408000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306070a0d10111213131212100e0707040100000000000000000000000000000000000000000000000001040707131313131313130d0c0a0702000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151d23282c2d3939393939393933312e2a231c130a000000020b151d252c313435393939393939393634312c261e150c0000000008111a22282d3031393939393939392e2d29241e160e04000000000000040d161e24292c2d383939393939393932312e29221b1209000000000000000b151d252c31343539393939393939362d2b28221c140b0200000000000000000000000000000000000000000000000000000000000000000000000000000a141e2935414c55616c75828f9893948a7d70675d5145392c201306000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000000000000000000000000000000000916222f3c4955626f7c8895a2acac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87939393939084776a5d5144495663707c89939393938d8174675a4e4134271b0e0100000000000000000004101d2935404b556773808d9aa9b3ab9e9184786c6053463c2f261b1106000000000000000000000000000000000007131d28333f4a54606d7a86929facb1a7988b7f7265544a3f34281c10030000000000000000000000000000030d1924303a44505a616e7b85929fa6a99e93897d7067616e7b86929fa7a79f92867b6e615a50443b3025190d04000000000000000000000000000000000a141d262d3337393c3f4146474a4d4746413b3229222f3c4855626f7b8895a093867a6d605350535961686e7b85929eaaac9e9285786c605346392d2013060000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c302316090000000000000000000000000000000714212d3a46535f6976828f9ca9afa3998c7f73655b504437281e13080000000000000007131d2c38434f5965727f8c99a3aea99c8f8276695f5347392e23180c0000000000000005111d2a36414c565e6c6c6c6c6c6c6c6c5f574d42372b1e1206000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e221508000000000002080d10121313131313131313070704010000000000000000000000000000000000000000000000000002070b0d0d13131313131313130f0e0c090400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d111314202020202020201a1916130d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f202c2d2d2d2d2d2d2625221e18110a0100000000030b131a202527282d2d2d2d2d2d2d292825211b140c0300000000000810171c2023242d2d2d2d2d2d2d21201d19130c040000000000000000040c13191d20212b2d2d2d2d2d2d2d2524211d1811090000000000000000030b131a202527282d2d2d2d2d2d2d29201f1c17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000020c19242f3a43505a616e7b8686868686847a6d6053473a2d201407000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000000000000000000000000000000000916222f3c4955626f7c8895a2acac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87949f9f9d9084776a5d5144495663707c89969f9f9a8d8174675a4e4134271b0e01000000000000000000010d18242f3d495663707c8997a1adaca196897d7063584e41382d22170f06000000000000000000000000000000071118242f3844505b66717e8b98a2aeaca095887b6e6155483b2e23170b0000000000000000000000000000010b151f2935414c56616c75828f97a2ada2978e81756b605e69727f8c95a0aca2988f82766c62564c41362a1f160c01000000000000000000000000000000020b141b22272b2d2f3035393a3d403b3936302920232f3c4855626f7b8895a093867a6d60545c60636b707a839197a1ada49a8e8175655b5044372b1f12050000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c30231609000000000000000000000000000004101c2834404b55616e7b87939facac9f92867b6e6153493f3327160c0200000000000000010f1b27323d4754616d7a86929facac9f93877b6e61554b4034281c1004000000000000010d1925303a444c525f60606060606055534d453c31261a0e02000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e22150800000000060d14191c1f1f202020202020201413110d080100000000000000000000000000000000000000000001080e1317191a20202020202020201c1b191510090200000000000000000000000000000000000000000000000000010507070b0e101212131312110f0d0a07060400000000000000000000000000000000000000000000000000040c13191d202d2d2d2d2d2d2d2d2625231e19120a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1013131f202020202020191816120d070000000000000002090f14181b1b202020202020201c1b191510090200000000000000050b10141617202020202020201413110d08020000000000000000000001080d1113141e20202020202020181715110c060000000000000000000002090f14181b1b202020202020201d13120f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313e46535f696e7979797979786d675d5145392c201306000b1825323e4b5865717e8b989f9f9a8d8073675a5a6773808d9a9f9f988b7e7165584b3e3225180b000000000000000000000000000000000000000916222f3c4955626f7c88959f9f9f9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1aa9d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e01000000000000000000000713202d3a4653606d7985929eacb2a89c8f82756a5f53493f332721180f0802000000000000000000000003091119232935404b55606c7884919daab3a99d908477695f53463a2d1c1106000000000000000000000000000007121d27313945525d68717e8a939ea9a69f92857a6d615957606d7883909aa4aa9f948b7e71685e52463e31281e130800000000000000000000000000000000020a11171b1f202224292d2e30332e2d2a25292c2e343c4855626f7b8895a093867a6d6063666d70767d859195a0a9a89f93877c6f6253493f33271b0f030000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c30231609000000000000000000000000000006131f2c3845515c6773808d9aa4afa99c8f8275695e5241382d2217040000000000000000000a16202d3946525e6875828e9ba8afa49a8d8073675c5145382c1f150a0000000000000008131e28323a4146535353535353534847423c332b23190f04000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e2215080000000810181f25292b2c2d2d2d2d2d2d2d2d201d19130c0400000000000000000000000000000000000000020a12191f2326272d2d2d2d2d2d2d2d292825211b140c030000000000000000000000000000000000000000000003080d111314181b1d1e1f20201f1e1c1a171413100c0701000000000000000000000000000000000000000000040d161e24292c393939393939393933322f2a241c130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607131313131313130c0c0906010000000000000000000004080c0e0f131313131313130f0f0c0904000000000000000000000004080a0a131313131313130707050100000000000000000000000000000104060712131313131313130b0b0905010000000000000000000000000004080c0e0f13131313131313100606030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a36424d575f616c6c6c6c6c6b605d554b4035291d1104000b1825323e4b5865717e8b939393938d8073675a5a6773808d939393938b7e7165584b3e3225180b000000000000000000000000000000000000000916222f3c4955626f7c8893939393939386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1a99d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e010000000000000000000006121f2c3844505c6673808d9aa4afaa9e94887c6f655b50443d332a2219140e09060400000100000406090e141a232b353d45515d67717e8a95a0acada2978b7e7265574d42362a1e0a0000000000000000000000000000030c18242f39434f59606d7a85919ea5ab9f948b7e71685e52505c666f7c87939fa9a69f92857a6e61594f433a2f24190c030000000000000000000000000000000000060b0f121316191d2021242621272c2f35393a3f444855626f7b8895a093867a6d6d7074797d828a9297a0a7aaa1968e81756a5f5341382d22170b000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c3023160900000000000000000000000000000713202d3a4653606d7985929eacada1978a7d7064564d422f261b110600000000000000000005111d2a36414c5663707d8a96a1adac9e9285796d6053463c31261b0f01000000000007131e29333d454c5052535353535353534948443d352b21160b000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e221508000006101a222a3035383939393939393939392c29241e160d040000000000000000000000000000000000000a141c242b2f333439393939393939393534312c261e150c0200000000000000000000000000000000000000060b0f13191d20212427292b2c2c2c2c2b292724201f1d18120f0a04000000000000000000000000000000000000010c1620282f35394646464646464646403f3b352e251c1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d1a26313b454d53555f606060605e53514b433a2f24180d01000b1825323e4b5865717e8686868686868073675a5a6773808686868686867e7165584b3e3225180b000000000000000000000000000000000000000916222f3c4955626f7c8686868686868686796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87949c9c9c9084776a5d5144495663707c89969c9c9a8d8174675a4e4134271b0e010000000000000000000003101c28343f4a54616e7b87939fabb0a69c9083776c60584e453c342a251e1a1312100c070e070c1013131a1f262a353d47505a606d7984919ea7b1a99f9285796d6053473b31261a0e00000000000000000000000000000a151e2935404b55606b74818e97a1ada3999083776c60564c4a54606b74818e97a1ada2978e81756c61554c4135291e150b00000000000000000000000000000000000000030506080d11131821272c33383a4145474a505356626f7b8895a093867976797d81858a8f949ea1a9a9a29891847a6e61584e432f261b1106000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c302316090000000000000000000000000006121f2b37434e5864717e8a97a1adac9e9184796d6053463b3020140a00000000000000000000010d1925303a4653606c7884919eacada1978a7e7164584e43372b1d120700000000000c18242f3a454f575c5e6060606060606056544f473d32271b10040004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e22150800020d18222c343b414446464646464646464639352f2820160c010000000000000000000000000000000006101c262e363b3f40464646464646464642413d3730271e14090000000000000000000000000000000000020a11171b1f252a2d2e3134363839393938383633302d2c29241d1b150e09030000000000000000000000000000000008131e28323a414553535353535353534d4b4740372e24190d0200000000000000000000000000000000000000000000000000000000000000000000000000000002080d10121313131313131313131313131313131313131313131313121211100e0b090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306131313131313131308070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b4246485253535353514745403a31281d130700000b1724313d4a56626c71797979797979736e645858646e73797979797979716c62564a3d3124170b000000000000000000000000000000000000000815212e3b47535f6a767979797979797979766c5f5346392d20130600000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a878f8f8f8f8f84776a5d5144495663707c898f8f8f8f8d8174675a4e4134271b0e0100000000000000000000000c17232e3846535f6975828e99a3afab9f948b7f726a60574e463e36302a25201f1c181b1a1b181c1f20262b31363f474f59616c74808d96a1adada2978d8073675d5145392a1f14090000000000000000000000000006111c26303845515d67707d89939da9a89f92877c6f655b5044424f59616d7a85929ea6a99e938a7d70675d51453d30271d1207000000000000000000000000000000000000000000050d161d242932383d44484c5154545c6063666f7b8895a2998c7f8285898d91979c9fa6aca69f9792867c6f685e52463c311d140a00000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c30231609000000000000000000000000000815212e3a47535f6a7683909ca9afa49a8d8073665c5044382c1f1202000000000000000000000008131f2b3844505b6673808c9aa4afa99c9083766a5f5347392f24180d01000000030f1b2834404c5761686b6c6c6c6c6c6c6c6360594f44382c2013070004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e2215080008141f2a343e464d5152535353535353535345413a32281e1308000000000000000000000000000000020b18222e3840474c4d53535353535353534f4d49423930261b1004000000000000000000000000000000060b141b22272b3036393a3e414345454646454442403d3a38352f2b27201a140d050000000000000000000000000000010d19242f3a444c525f606060606060605957524940352a1e13070000000000000000000000000000000000000000000000000000000000000000000000000000060d14191c1f1f202020202020202020202020202020202020202020201f1e1e1c1a18161413100c070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c101220202020202020201514120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17212931363a3b4646464646453a39352f281f160c0100000915212e3a45505a62656c6c6c6c6c6c67645c52525c64676c6c6c6c6c6c65625a50453a2e2115090000000000000000000000000000000000000006131f2b37434e585f626c6c6c6c6c6c6c6c6c645a4f43372b1e120500000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8283838383838174675b4e414855626f7c8283838383827f7265584c3f3225190c00000000000000000000000006111c2a36424d57626e7b87929fa8b0a69f92877c6f695f585046413b36312d2c282327272723282c2d31373b42465159606b717e8a929da8b1a79f92857a6d61554b4035291d1004000000000000000000000000020b17232e38424e58606d7984919ea5aca1968d80736a5f53493f3d46525e68717e8b949faba59e91847a6d60594f43392e23180b0200000000000000000000000000000000000000050f171f282f353d43484f54555d6064666d6f73767c8895a29c918c8f92989a9ea1a9aca8a09d948f857d6f6a60564c41342a200b0200000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c3023160900000000000000000000000004101d2935404b55626f7c88949fabac9f93877b6e61544a3f34281c10030000000000000000000000030f1c28333f4a54616e7b87939facab9f94887c6f62554b4035291d100400000005111e2b3744505c68737879797979797979706b6054483b2f2216090004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e221508000d1925303b4650585d5f606060606060605f524c443a2f24190d0100000000000000000000000000000a141d2a34404a52585a60606060606060605c59544b42372c21150900000000000000000000000000020a11171d262d33373a4146474b4e505152535352514f4d4a4745403937322a251f170f080000000000000000000000000004111d2935414c565d6c6c6c6c6c6c6c6c66635b52473b2f23160a000000000000000000000000000000000000000000000000000000000000000000000000000810181f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a29272523201f1c1813110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171c1f2d2d2d2d2d2d2d2d21211e1a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171f262a2d2e3939393939382d2c29241d160d0400000005111d29343f485056586060606060605a58524a4a52585a606060606060585650483f34291d110500000000000000000000000000000000000000030f1b26323c464e535560606060606060605f5a52493e33271b0f0200000000000000000000000000000000000000000000000000000000000000000713202c3945525d686d767676767676746f64584c4047535f6a6f767676767676726d62564a3e3125180b000000000000000000000000000e1a26313b47535f6974808d96a0abaea39991857b6e6a615a524c46423c3a38342e3434342e34383a3c42474d535b626b707d86929fa4aeaaa0958b7f72685e5243392f24180d010000000000000000000000000a141d28343f4a54606a73808d96a0aca59e9184796d60584e413835414c56606c77829099a3ada1968d80746b60554b4034281d140a000000000000000000000000000000000000050e172129313940454f54596063676d7175797c808387929faca39c999c9fa2aaabaca49f9c96918a827b6f6b60584e443b3022180e0000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c302316090000000000000000000000000613202c3945515d6774808d9aa6b0a99c8f8276695f5342382e23170c000000000000000000000000000b17222d3846535e6976828f9ca9b0a69a8d8074675d5145392c20150a00000005121f2b3845525e6b7885868686868686867d706356493d3023160a0004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f07000b1724313e4a5764717d8a97a4aea194887b6e6155483b2e22150800101c2935414d5862696c6c6c6c6c6c6c6c6c5d564c4135291d11040000000000000000000000000006111c262f3c46525c64676c6c6c6c6c6c6c6c68655d54493d3125190c000000000000000000000000030b141b22272f383f44464c5254575a5c5e5f5f5f5f5e5c5a5753514b47433d363129211a120a0100000000000000000000000713202c3945525d687679797979797979736d63574b3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000006101a222a30353839393939393939393939393939393939393939393939393838373634322f2d2c2923201d19130f0a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151c23282c39393939393939392e2d2a251f170f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d141a1e21222c2d2d2d2d2b20201d18130c0400000000010c18222d363f454a4b5353535353534d4c474040474c4d5353535353534b4a453f362d22180c0100000000000000000000000000000000000000000a15202a343c4347495353535353535353534f4940372c21160a00000000000000000000000000000000000000000000000000000000000000000004111d2935414c565d6069696969696967645c53483c434e585f6269696969696965625b51463a2e2216090000000000000000000000000009141f2b37424d57606d79849199a4afaba19791847c706c615e56534d494644404141414141404546494d53575f616d727d869298a2aeaca2989083786c60564c4131281d120700000000000000000000000006111b262f3844505c666f7c87929fa8aa9e938a7d70675d51463c2f303a44505b656f7c87929fa8a89f93887d6f675c51453c2f261c110600000000000000000000000000000000030c172029333b434b515960636b70757a7e8285898c909299a3afada7a5a9aaaba39f9c9a93908a847e766e6960594f463c32291e10060000000000000000000003070909101d293643505c6976838f9ca9a296897c6f6356493c302316090000000000000000000000000714202d3a4753606d7985929fabada2978a7e7164574d4230261c11060000000000000000000000000006111c2a36424d5764717e8a97a1adab9f9285796d6053473c32271b0f01000005121f2b3845525e6b7885919393939393897c706356493d3023160a0004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e52452f24180c000b1724313e4a5764717d8a97a4aea194887b6e6155483b2e22150800121f2b3844515d6974797979797979797976685d5245392c201307000000000000000000000000000b17222d38424e58646e737979797979797979756f65594d4134281b0e0200000000000000000000030c151d262d333d41495053565e616467696b6c6c6c6b6b696663605d55544e46423b332c241c130a01000000000000000000000714212d3a4754606d7a86868686868686807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000020d18222c343b4144464646464646464646464646464646464646464646464645454443413e3c3a38342f2d29241e1a150f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e262e343846464646464646463b3a36312921170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214151f202020201e1413110d070100000000000006111b242d343a3d3e464646464646403f3b36363b3f404646464646463e3d3a342d241b1106000000000000000000000000000000000000000000040e18222a32373b3c464646464646464646433e372e251b1005000000000000000000000000000000000000000000000000000000000000000000010d1924303a444c52545c5c5c5c5c5c5b58534a41363c464e53555c5c5c5c5c5c585651493f34291e120600000000000000000000000000030e1a26313c45515d676f7d87939fa4aea9a19691867e756e68615e575653514a4e4e4d4e4e4b515356575f62696e767f879298a2aaafa49a92867c6f665b50443a301f160c010000000000000000000000000b17222d38414d57606d78839099a3aea2988e81756b61554b40342a27333f49535f6a73808d96a1ada49a9184796d60584e42382d22170b030000000000000000000000000000000b151e29333b454d555d606b6f767d81868a8e9298999d9fa3abb5aca6a8a09e9a9992908c87837e78716c615e574f473d342b20170d000000000000000000040a0f131516191c28333f4a546a7683909da9a296897c6f6356493c30231609000000000000000000000006131f2b37434e5865717e8b97a2adab9f9285796d6053473b3120150a0000000000000000000000000000000e1a25313b4653606d7985929eabaea2988b7e7165584e43372b1e1308000005121f2b3845525e6b7885919e9f9f9f96897c706356493d3023160a0004111e2b3744515e6a7784919daaa89b8f8275685c4f4235291c08000e1a2734414d5a6774808d9aa7ab9e9285786b554b4035291d10040b1724313e4a5764717d8a97a4aea194887b6e6155483b2e22150800131f2c3946525f6c7986868686868686867a6d6054473a2d211407000000000000000000000000030f1c28333f4a545f6a738086868686868686868275685c4f4235291c0f02000000000000000000020c151e272f383f444e535b6063686d7174767878797978777573706d67626058534d453e362e251c130a000000000000000000000714212d3a4754606d7a8793939393938c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000008141f2a343e464d5152535353535353535353535353535353535353535353535251514f4d4b494745403a3935302b26201b150c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f4453535353535353534846423b33291f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507081313131313120706040100000000000000000009121b22292e313239393939393934332f2b2b2f333439393939393932312e29221b1209000000000000000000000000000000000000000000000006101820262b2e2f39393939393939393937332c251c1309000000000000000000000000000000000000000000000000000000000000000000000008131e28323a4145475050505050504e4c4841382f343c4347485050505050504c4a463f372d23180d01000000000000000000000000000009151f2935404b55606b727f8b929da4ada9a198928a817a746e696562605c545b5a5a5a5b545c606266696e747b828b9299a2aaaea39f93887e706a5f544a3f32291e0d04000000000000000000000000040f1b27333f49535f69727f8c95a0aba79f92857b6e61594f43392f22222d38414e58606d7984919ea6aca0958c80736a5f544a3f33281f1409000000000000000000000000000007121c27303b454d575e676d747c83898e92989b9fa2aaa9a8aab0aca29a9796918e8a86837f7b76716d66615a524d453d352b22190e050000000000000000070f161b1f222325252b3844505b667784909daaa296897c6f6356493c3023160900000000000000000000000815222e3b4754606a7783909da9b1a79a8d8074675c5145382c1f130300000000000000000000000000000009141f2c3845515c6774808d9aa7b1aa9d9083776a6054473a2f24190d010005121f2b3845525e6b7885919eabaca396897c706356493d3023160a0004111e2b3744515e6a7784919daaa99c8f8376695c50433025190e020e1a2734414d5a6774808d9aa7ac9f928679675d5145392c1f13060b1724313e4a5764717d8a97a4aea194887b6e6155483b2e22150800131f2c3946525f6c7985929393939393877a6d6054473a2d2114070000000000000000000000030d1a232b3844505b666f7c8792939393939392857b6e6154473b2e211408000000000000000000000a141e2730394149505860656c70767a7e818384858686858482807d79746f6a615e57504840372e251c12090000000000000000000714212d3a4754606d7a87939f9f9f998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000d1925303b4650585d5f6060606060606060606060606060606060606060605f5f5e5d5c5a585653514b4746413a37312b262018120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e38424a505f606060606060605f534d453b31251a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000911181d2124252d2d2d2d2d2d2726231f1f2326272d2d2d2d2d2d2524211d18110900000000000000000000000000000000000000000000000000060e151b1f21222d2d2d2d2d2d2d2d2d2b27211b130a010000000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a43434343434341403c362f262a32373b3c4343434343433f3e3a342d251b1107000000000000000000000000000000030d18242f3a434f59626d74808d929ca3adaaa29f938e86807b76726f6d6669686767676869666d6f72777b81868f949fa3ababa39f918c7f726c61584e42382d20170d000000000000000000000000040e1a242b3744505b656e7b86929fa7ab9f958b7f72695e52473e31271d1b262f3c45515d67707d8a949eaaa89f92877c6f665b50443b31251a0e04000000000000000000000000000c18232e39424d575e696e79818990959b9fa3aaaaa8a19e9c9ea6a69a908a8784817d7a76726e6964605c545046423b332b23191007000000000000000007101921272c2f30323230394653606c7985929faca295887c6f6255493c2f2216090000000000000000000004111d2935414c56626f7c88959fabab9f95887c6f62554b4034291c100400000000000000000000000000000004101c2834404b55626f7c88959fabab9f95887c6f62564c4135291d11040005121f2b3845525e6b7885919eabaca396897c706356493d3023160a0004111e2b3744515e6a7784919daaaa9d9083776a564c41362a1e11050e1a2734414d5a6774808d9aa7afa399867a6d6053473a2d2014070b1724313e4a5764717d8a97a4aea194887b6e6155483b2e22150800131f2c3946525f6c7985929f9f9f9f93877a6d6054473a2d21140700000000000000000000010b151f2a36414c56606c78839099a39faa9e948b7e71685e5246392d20140700000000000000000006111c263039424a535b606a6f787d82868a8d8f9192929292918f8d8a86817c756e69615a524a40372e241b0f0600000000000000000714212d3a4754606d7a8793a0aca6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000101c2935414d5862696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6b6a69676562605c5554524c47433c373228231d150c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c5e574d42362a1e12050000000000000000000000000001070b0f111213131313131313080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c111517182020202020201a1917131317191a202020202020181715110c06000000000000000000000000000000000000000000000000000000040a0f1315162020202020202020201e1b1610090100000000000000000000000000000000000000000000000000000000000000000000000000040e161e24292c2d3636363636363433302b251d20262b2e2f36363636363632312e29231b1309000000000000000000000000000000000007131d28313d47515b606c77808c919ea1a9aea59e98928d87837f7c79777674747474747677797c7f83888e92999fa6aea8a199928b7f736d635a50463c2f261c0e050000000000000000000000020c16202a36424d57606c77829098a3aea3999083786c60564d42352c1f15141d2935404b55616c75828f98a2aea3999083786c60574d42362a20160c02000000000000000000000004101c2834404a545e696e7b838e939d9fa7aca7a09d9996918f949ea4978a7e7b7774716d6865615e5753504a423e363029211911070000000000000000040f19232b32383b3c3f3f3f424b55626e7b8898a2aea894877b6e6154483b2e211508000000000000000000000613202c3945525d6874818e9aa79faa9d9083766a5f5343392f23180c00000000000000000000000000000000000c18232e3947535f6a7683909daa9fa79a8e8174685d5245392c2013060005121f2b3845525e6b7885919e9f9f9f96897c706356493d3023160a0004111e2b3744515e6a7784919daaab9e918578685e5246392d2014070e1b2834414e5b6774818e9aa7b5ab94887b6e6155483b2e2215090b1825313e4b5864717e8b97a4aea194887b6e6155483b2e22150800131f2c3946525f6c7985929facaca093877a6d6054473a2d2114070000000000000000000007121d27313946525e68727f8b959fabaea2988f82766c62564d41362a1e11050000000000000000030d17232e38424a545c656c737c838a8f93999a9c9e9f9f9f9e9e9c9998928e89827b716c635c524940362d22180b02000000000000000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000121f2b3844515d697479797979797979797979797979797979797979797979797878777674716f6d6764615d56534e47433c342e271e191008000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66767979797979797976695e53463a2d211407000000000000000000000000050c12171b1d1e202020202020201514120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105090b0b1313131313130d0d0b07070b0d0d1313131313130b0b09050100000000000000000000000000000000000000000000000000000000000003060809131313131313131313120f0a0500000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021292929292929282724201a13151b1f21222929292929292525221e181109010000000000000000000000000000000000010c161f2b353f44505b656c747f8a92979ea6acaaa29f9a93908c898684828181808181828486898c90959a9fa3ababa49f9691877e736d635b51473e342a1d140a00000000000000000000000008131e28323a46525e69727e8b949faaa89f92877c6f665b50443b30231a0d0b18242f3943505a616e7b86929fa8ab9f958b7f72695e53463e32281e1308000000000000000000000006121f2c3844515c666e7b8490959da5aba49f9b95908c8884828f9ca09386796e696764605d5654534d46443f38302a251f170f070000000000000000000a16212b353d4348494c4c4c4d525d67727f8c99aaaca096867a6d6053473a2d201407000000000000000000000714212d3a4754606d7a869293939393988b7e7165584e4331271d1207000000000000000000000000000000000007121d2b37434e5865717e8b989393939392867a6d6054473a2d2114070005121f2b3845525e6b7885919393939393897c706356493d3023160a0004111e2b3744515e6a7784919daaada197877a6e6154473b2e23180b0f1b2835424e5b6875818e9ba8b0a3978a7d7064574a3d31261a0d0c1825323f4b5865727e8b98a5aea194887b6e6155483b2e22150800131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000000020b18242f39434f59616e7a85929fa7b0a69f92867b6e615a50443b3025190e0200000000000000010b151f28343f4a545c666d77808890959c9fa4aba8a5a3a2a2a3a5a8aaa39f9b938f867e736e635b52483e342a1d140a000000000000000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c79868686868686868686868686868686868686868686868685848482807e7c7975716d68625f58534e454039302a221a1109000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d78868686868686867b6e6154483b2e2115080000000000000000000000060f161d23272a2b2d2d2d2d2d2d2d22211e1a140e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1113141d1d1d1d1d1d1b1a18140f080a0f1215151d1d1d1d1d1d191816120d070000000000000000000000000000000000000000040d192327333f49535b606d737d858f949da0a7acaca49f9c989892918f8e8d8d8d8e8f919298999d9fa7acaca69f99938d847d716c635b51493f352c22180b020000000000000000000000030d1924303a44505a616e7b85929fa6ada1968d80746a5f544a3f32291f110807121d28313e46535f69737f8c95a0aca79f92867b6e615a50443a3025190d0400000000000000000005111e2a36414c56606d78829096a0a7a8a099938e88837f7b787c8895a093867a6d60565754524c4846423b38342e261e1a140d05020000000000000000030f1b27323d474f5456585859575e616d7984919eabaa9e918477675d5145392c201306000000000000000000000c1925323f4c5865727f8686868686868686796d6054473c3121150b010000000000000000000000000000000000000f1b26313c4754606d7986868686868686867f7265584b3f3225180c0005121f2b3845525e6b7885868686868686867d706356493d3023160a0004111e2b3744515e6a7784919daab3a9968a7d7063554b4034281d14111c2935424f5c6875828f9ba8b3a6998c807366584e43372b1f16111926323f4c5965727f8c98a5b5ab94877a6e6154473b2e21140800131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000a141d2935404b55606b75818e97a2adaa9f948b7e72695e52483e32291f1408000000000000000007121d27313944505c666d78818c939a9fa7a9a29f9b9896959596989b9fa2aaa59e98928a80736e635a50463c2f261b11060000000000000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929393939393939393939393939393939393939399929291908f8d8b8985827e7a756f6a625f58514b433c342c231b12090000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79869393939393877b6e6154483b2e21150800000000000000000000050f1820282f333738393939393939392e2d2b261f180f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020608080b0e1011121313121211100d0b0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0e10111213131212100e0b080806020000000000000000000000000000000000000000000000000000000000000000000000010407071010101010100e0d0b08030000030608091010101010100c0b09060100000000000000000000000000000000000000000000071017222d384149505b636b707b828990959c9fa4acaca9aaa39f9d9c9b9a9a9a9b9c9d9fa3aaaaababa39f9b948f878079706b625a514940372e231a10060000000000000000000000010b151f2935414c56616c75828f98a2aea69e9184796d60584e42382d20170d00010c161f2a36424d57606d7984919da5aea2988f82756c61564c4135291f160c0100000000000000000713202d3946525e6873808d949fa8a7a0969187817c77726e6f7b8895a093867a6d60534a4745413b3a36312b2823201f1b1714110e090200000000000007131f2c38434f59606365656667696e75808d96a1aca89b8e817568554b4035291d1104000000000000000000000b1824313e4a56626d7279797979797979796d675d5145392c201303000000000000000000000000000000000000000a15202c3945515d676d7979797979797979726d62564a3d3124180b0005111e2b3744505c68737879797979797979706b6054483b2f2216090004111e2b3744515e6a7784919daab4a79a8d8074675c51453a2f26201d1e2b37424d576a7783909daab6a99d9083766a5f53473c3128201e1d27333f49536774808d9aa7aea399877a6d6054473a2d21140700131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000006111b262f3845515d67707d89939ea9aea2988f82776c60574d42362d20170d0200000000000000000c18232f39434f59606d78818e939fa4aaa29f97928e8b898888898b8e92989fa3aaa29f928c80736c61584e41382d22170b0000000000000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d0604020000000000000000000000000000020506060503000000000000000000000000131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9e9e9d9c9a9898928f8b86817c756f6a605c554e463e352d241b120900000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939f9f9f94877b6e6154483b2e211508000000000000000000010c16202a323a3f4345464646464646463b3a37312a21180e0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205090e121415181b1d1e1f20201f1f1e1c1a181514120e090502000000000000000000000000000000000000000000000000000000000000000000000001080d111314171a1c1e1f20201f1e1d1b181514120e09040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f383f44515961696e757d83898f939a9c9fa2aaa7a8aaa9a7a7a7a7a7a9a9a8a6a9a29e9b99928e88827c746d676059504840372e251c110800000000000000000000000007121d27313945525d68717e8a939eaaaa9e948a7d70675d51463c2f261c0e050000040d1a26313b45515c66707d89939ea9aa9e948a7e71685e52463d31281d120700000000000000000714212e3a4754616d7a86929fa6aaa09590847c756f6a66626f7b8895a093867a6d6053473a3935302d2e3633312e2d2b2722201e19140d0500000000000915222f3b4854606b6f72727273767b818d929da8aca1968a7d7064574a3d2f24180d01000000000000000000000915222e3a46515b62656c6c6c6c6c6c6c6c605d554b4135291d11040000000000000000000000000000000000000004111d2935414b555d606c6c6c6c6c6c6c6c65625b51463a2e22150900030f1b2834404c5761686b6c6c6c6c6c6c6c6360594f44382c2013070004111e2b3744515e6a7784919daab7ab9f9285796d60564c42382f2c292a2d3a47535f697885929fabb8ab9f95887b6e62584e4339312d2a2a2d3744505b6576828f9ca9ac9f928679685d5245392c20130600131f2c3946525f6c7985929facada093877a6d6054473a2d21140700000000000000000b17222d38414e58606d7984919ea5afa79f92867b6e655b50453b30241b0e05000000000000000004101c2934404b55606b73808d939ea5a7a098928c85817e7c7c7c7d7f82868d9299a1a8a49c928b7e716a5f53493f33271c110600000000000714212d3a4754606d7a8793a0ada6998c807366594d4033261a1312110f0b0706040100000000000306070b0f11131312100d0a09070400000000000000131f2c3946525f6c7985929facacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a6a6a7aaa9a7aaa29f9b99928e87827c736d675f584f473f362d241b1007000000000000000000000000000000000000000606060606060606060606060606060606060713202d3a4653606d798693a0aca194877b6e6154483b2e21150800000000000000000007121d28323c444b5051535353535353534846423c332a1f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e11151a1e21222528292b2c2c2c2c2b2b29272522211e1a14120e090200000000000000000000000000000000000000000000000000000000000000050b1013191d20212427292b2c2c2c2c2b2a282522211e1a15110d070100000000000000000000000000000000000000000000000000000000000000000000000406070a0d0f11121313131212100e0c09060603000000000000000000000000000000000000000000000000000000000000000a141d262d3340474f575e616b70777d82878b8f9298989a9b9d9e9e9f9f9f9e9d9d9b999797928e8a86817c766f6a605d554f473e362e251c130a000000000000000000000000030c18242f39434f59606d7a85919ea6aea2988f82756c61554b40342a1d140a0000000009141f2834404b54606b75818e97a2ada69e92857a6d61594f43392f24180c0300000000000004111d2935414c566673808c98a2aea29890837a6f6a625f58626f7b8895a093867a6d6053473a2d30363a3b43403e3b3937332d2d2a251f170e0500000000091623303c4956636f7d7f7f7f8083868e939da4aea59e9184786d6053463a2d201307000000000000000000000006121e29343f49515658606060606060605f54514b433a2f24180d0100000000000000000000000000000000000000010d18242f3a434b51545f60606060606060585651493f34291d120600000c18242f3a454f575c5e6060606060606056544f473d32271b10040004111e2b3744515e6a7784919daab7ada2978b7e71685e544a423c3935363a3f4a54616e7b8898a2aeb5afa79a8d80746a5f554b433d393636393d4653606c7985919eabaa9e9184776b564c4135291d110400131f2c3946525f6c7985929facada093877a6d6054473a2d21140700000000000000030f1b27333f49535f6a73808d96a0acaa9f958c7f72695f53493f33291f120900000000000000000006131f2c3845515c67707d88939fa5a7a09590857f797572706f6f7072757a80869196a1a9a49f92867c6e655b5044382e23170c00000000000714212d3a4754606d7a8793a0ada6998c807366594d4033261f201f1e1b181413110d080100060b101213171c1e1f201e1d1a171613100b050000000000131f2c3946525f6c7985929facb8ada39c9898989898989898989898989898999a9b9d9fa3aaaaacaba39f9a938f8780796f6a615950483f362d22190f050000000000000000000000000000000306071313131313131313131313131313131313131313202d3a4653606d798693a0aca194877b6e6154483b2e2115080906010000000000000b17232f3a444e565c5e6060606060606055534d453c31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d14191e20262b2e2f323436383939393938373634322e2d2b26201e1a140e0902000000000000000000000000000000000000000000000000000000040a0f161c1e24292c2d3134363839393939383634322e2d2b26201d18130c060000000000000000000000000000000000000000000000000000000000000001070c10131416191c1d1f1f20201f1e1d1b191613120f0b060000000000000000000000000000000000000000000000000000000000020b141b2227353e454d525960636b70757b7e8285888b8d8f9091929292929191908e8c8a8885817e7a746f6a626058514b433d352d241c130a010000000000000000000000000b151e2935404b55606b74818e97a1ada79f92867b6e615a50433a2f22190b0200000000030c18232e39424f59616e7a85929fa7ada1978e81746b60554b4035291e150a0000000000000713202c3945525d687783909daaab9f92857b6e6860585355626f7b8895a093867a6d6053473a333b4246474f4d4a4846443f3b3a36302920170d020000000e1a2734414d5a6774808b8b8c8d8f92999ea5aca59e938a7e71665c5044382b1f12060000000000000000000000010d18232d373f464a4c53535353535353524745413a31281d130700000000000000000000000000000000000000000007131d28313a41454752535353535353534b4a463f372d23180d01000007131e29333d454c5052535353535353534948443d352b21160b000004111e2b3744515e6a7784919daab1a7a09d92857a6d665b544e474541424648505b66727f8c98aab4aba49f9d92877c6f675d554f4746414146474e58626f7c8997a1ada99c8f8276695c4f432f24190d0100131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000030c19232b3744505b656e7c87929fa8aea3989083786c60574d41382d21170d00000000000000000004111d2935414c55606d7984919aa4a9a09590837b726d67656362626365686d737c849197a1aba2989083786c60544a3f34281c1003000000000714212d3a4754606d7a8793a0ada6998c807366594d40332b2c2c2c2b282521201d19130d0a11171c1f2024282b2c2c2b2a272322201c160f0800000000131f2c3946525f6c7985929facb8a79c918c8b8b8b8b8b8b8b8b8b8b8b8b8b8c8d8e909298999da0a7aaaca49f99928d837c706b625a50483e342b21170d03000000000000000000000000060b1012132020202020202020202020202020202020202020202d3a4653606d798693a0aca194877b6e6154483b2e21191815120d0600000000000f1b27333f4b5660686b6c6c6c6c6c6c6c6c5f574d42372b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191f252a2d31373a3b3e41434445464645454443403e3b3a37312d2a251f1a140d0500000000000000000000000000000000000000000000000000060b151b21272c2f35393a3d414344454646454543413e3b3a37312c29241d17110a03000000000000000000000000000000000000000000000000000000040a0f12181c1f202326282a2b2c2c2c2c2b2a282523201f1c17110f0a03000000000000000000000000000000000000000000000000000000020a1117232c333b42464f54596063696e7276797c7e808283848585868585848382807d7b7975716d68625f58544e45403a312b231b120a0100000000000000000000000007121c27303945515d67707d89939da9aba0958c7f72695e53483e31281d100700060000000007121d27303d46525e68727f8b959faba99e93897d70675d51453d30261c110600000000000714212d3a4754606d7a86939facaa998c8073695e564e4855626f7b8895a093867a6d6053473a3b454d52545c5a57555350494746423b32291f14090000000e1a2734414d5a6774808d98999a9c9fa3aba8a19e938e81756c61544a3f34281c100300000000000000000000000006111b252d343a3e3f46464646464646463a39352f281f160c01000000000000000000000000000000000000000000010c161f282f35393a46464646464646463f3d3a342d251b1106000000010c17212b333a404445464646464646463d3b38322b23190f04000004111e2b3744515e6a7784919daaaca09590958e81786c665f5854524c4d53555a606c7883909daaafa4999390959083796d67605954524c4c525458606a74818e9aa9b3aa998d8073665a4d4033271a080000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000b151e2a36414c56606c77829099a3aea79f92867b6e665b50453b2f261b0f050000000000000000000613202c3945515d67737f8c96a1aca29790837a6e69605d5556555556565d606a6f7b859199a3aa9f948b7e71665c5044382c1f1509000000000714212d3a4754606d7a8793a0ada6998c807366594d4036383939393735322d2c29241e19141c23282b2d3135383939383633302f2c2721191108000000131f2c3946525f6c7985929facb2a5988c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f80818386888c91959c9ea6acaba39f9591867d716c625a50463d33291f140900000000000000000000020a11171c1f202c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2d3a4653606d798693a0aca194877b6e6154483b2e2c2524221e18110901000000111d2a3743505c6872787979797979797976695f53463a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080e161e25293036393c4247484b4e50515253535252514f4d4b4846423c3a36302a251f170f0800000000000000000000000000000000000000000000020a111720262b33383a4145474a4d4f515253535251504e4b4847423c39352f28231c150c05000000000000000000000000000000000000000000000000040a0f161b1d23292c2d303335373839393939383635322f2d2b28221c1b150e090300000000000000000000000000000000000000000000000000000006111a202930363d44484f54565e6165666d6f7174757778787979787877767573716f6d6664605d56534e47433d352f281f19110900000000000000000000000000000c18232e39424e58606d7984919ea5afa4999083786d60574d42362c1f160c1313130c060603000b151e2a36414c56606c78839099a4afa59e9184796d60584e42382e23170c00000000000916232f3c4956626f7c8999a4aea298887b6e62574d444855626f7b8895a093867a6d6053473a424d575e6169666461605b5354524d443b3025190e0200000e1a2734414d5a6774808d9a9f9fa29f9e9d9a96918b81786d605a5042382e23170b000000000000000000000000000009131b23292e313239393939393939392d2c29241d160d040000000000000000000000000000000000000000000000040d161d24292c2d393939393939393932312e29231b13090000000000050f1821292f34373839393939393939302f2c272119110700000004111e2b3744515e6a7784919daaaa9d908490938e81786e6a64605d56575f61646c727f8b95a0acac9f93878390958f82796f6b64615e56565e61646a6f7c87929facaea298897d7063564a3d3023170a0000131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000007121d27303946525e68717e8b949fababa0958c7f726a5f544a3f332a1d140a000000000000000000000714212d3a4754606d7a85929fa8a89f92857b6e685e57514b4949494a4c52585f696f7d87929faaa69e9184786d6053463c31261a0e020000000714212d3a4754606d7a8793a0ada6998c807366594d40434445464544423e3a39352f2a251e262e34383a3e424446464543403d3c38332b23190f050000131f2c3946525f6c7985929facada093877a7272727272727272727272727273737477797c8084898f949da0a7afa7a09892877e716c61584e453b30251a0d040000000000000000020c141c23282b2d393939393939393939393939393939393939393939393a4653606d798693a0aca194877b6e6154483b393932312e29231b1309000000121e2b3845515e6b7884868686868686867b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a121a202830353b4146474e5355585b5c5e5f5f5f5f5e5e5c5a5855534d4846423b363029211a120a0200000000000000000000000000000000000000030b141b222732373d44484c5254575a5c5e5f5f5f5f5e5d5b5855534d4745413a342e261e170f0700000000000000000000000000000000000000000000060b151b21272c2f34383a3d40424445464646454543413f3c3938332d2b26201a150b06000000000000000000000000000000000000000000000000000000080e171f252a33384851595e6060605c60626567686a6b6b6c6c6c6b6a6a68666462605c6060605f5c574f453a29241d160d07000000000000000000000000000004101c2834404a54606a73808d96a09fa99f93877c6f665c50453b31241a20202020201913120f0b060c1925303b44505b666f7c87939fa99fa1968d80736a60544a3f34281c1003000000000a1724303d4a5763707d8a96abab9f9285796c6053463c4855626f7b8895a093867a6d6053473a46525e696e7673716e6c6567615e564d42362a1e110500000e1a2734414d5a6774808d939393989291908d8a847e746d665c51483e30261c11060000000000000000000000000000010911181e2224252d2d2d2d2d2d2d2c21201d18130c0400000000000000000000000000000000000000000000000000040c13181d20212c2d2d2d2d2d2d2d2524221d18110901000000000000060f171e24282b2b2d2d2d2d2d2d2d2322201b160f070000000005111e2b3844515e6b7784919eaaa4978b7e8491938e827c75716d686b6b696e71767e87929fa7b1a79c8f827b8692948f837c75716e686b6b686d70757c859299a3afaa9f9285796d6053463a2d2013070000131f2c3946525f6c7985929facada093877a6d6054473a2d21140700000000000c18232e39424f59616d7a85929ea6aea3999083786d60574e42382d21180b0200000000000000000007131f2c38434f5965727f8c98a2aca0968b7f72695f564d45403d3c3c3d41454e57606b74808d98a2aca1968a7e7164574d42372b1e12060000000714212d3a4754606d7a8793a0ada6998c807366594d4c5051525352514e4b4745413a36302a30383f44464a4f51525351504d4a48443d352b21160b0000131f2c3946525f6c7985929facada093877a6d656565656565656565656565666768666d6f73777c828990959fa4acaaa299928b7e716a60574d42362a1f160c01000000000000000a141e262e34383a46464646464646464646464646464646464646464646464653606d798693a0aca194877b6e6154484646463f3e3a342d251b11060000121e2b3845515e6b7884919393939393887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c242c323a41464d5254575f626567696b6c6c6c6c6b6a696765615f5754524d46423b332c241c140a020000000000000000000000000000000000030c151d262d333c43474f54565d606467696b6c6c6c6c6b696765615f5754514b443f3830292119100700000000000000000000000000000000000000020a111720262b323839404547494c4f50525253535251504e4c4946443f3837312b262017110a020000000000000000000000000000000000000000000000000000050d141a2136424e59636b6c6c6c6c6b64615a5c5d5e5f5f5f5f5e5e5d5b535b60656c6c6c6c6b6861574c403428130c0400000000000000000000000000000006121f2c3844515c666f7c879293939393978d80746a60544a3f33291f202c2d2d2d2c26201f1c17110a141e28333f4a54606a74808d979393939392877c6f665c5044382c1f1206000000000b1824313e4b5764717e8a97a4aa9e918477655b50443c4855626f7b8895a093867a6d6053473b4754616e7b82807d7b7976746e695e52463a2d20140700000e1a2734414d5a6774808686868686858483807d79716c605c544a40362c1e140a0000000000000000000000000000000000060d12151819202020202020201f1413110d070100000000000000000000000000000000000000000000000000000001070d1113141f20202020202020181815120d06000000000000000000050c13181b1e1f20202020202020161613100b04000000000005111e2b3844515e6b7784919eaaa3978a7d7d8992948f86817d7a797778797b7e838b9299a3afaba0958a7e737f8c94959087827e7a797878797a7d82889297a1abaea3988d8074665c5145382c1f13060000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000004101c2834404b54606b74818e97a1ada79f92877c6f665c50453c2f261c0f06000000000000000000000915222f3b4854606b7784919eaaab9e9184786d60574d443b352f2f2f30353c454f59616d7a86929faca89d908376695f53473a2d2114080000000714212d3a4754606d7a8793a0ada6998c8073665956595c5e5f5f5f5e5b5854524c46413a333c424a5053575b5e5f5f5e5d5a56544f473d33271c100400131f2c3946525f6c7985929facada093877a6d605858585858585858585858595a545c6062666b6f767c838d939aa3ababa39f92867c6f695e52463e31281d130700000000000006111c2630383f444653535353535353535353535353535353535353535353535353606d798693a0aca194877b6e6154535353534c4a463f372d23180d0100121e2b3845515e6b7884919e9f9f9f94887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b141d262e363e444c52565e61666a6e717476777879797878777673716e6966615e57524d453e362e261c140a00000000000000000000000000000000030c151e272f383f444e54596063686d7074767778797978787674716e6965605d55504a423b332b221910070000000000000000000000000000000000040b141c222832373d43484b515356595b5d5e5f5f5f5f5e5d5b585653504a47433c373127221b140b03000000000000000000000000000000000000000000000000000002091f2c3945525e6b757979797978706c615f57514b525352524b51575f656c71787979797873685c5044372b1e11000000000000000000000000000000000713202d3a4653606d798386868686868686857a6d60584e42382e282b383939393939332d2b28221c140b17222d38424e58606d7a858686868686868683796d6053463a2d201307000000000b1824313e4b5764717e8a97a4ab9e918578665c50443c4855626f7b8895a093867a6d605347424e5865717e8b8d8a888583807b6e6154473b2e21140800000d1a26333f4c58646e74797979797979787774706d66625a514a42392e241a0c020000000000000000000000000000000000000106090b0c131313131313131307060401000000000000000000000000000000000000000000000000000000000000000104060713131313131313130c0b090601000000000000000000000001070c0f1112131313131313130a0907040000000000000005121e2b3845515e6b7884919eaba3968a7d73808d9499928e8a8785848585888b90959fa3abaea3999183786d78828f959a938f8b8786848485878a8e939aa1a9afa59f92867b6e61544b4034281c10040000131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000040e1a242c3845515c66707d89939ea9aba0958c80736a5f544a3f332a1d140a0000000000000000000000091623303c4956636f7c8996a0aca3998b7f72665c50453b32292422222429333d46525d6874808d9aa8ab9f95887b6e6155483b3025190d0100000714212d3a4754606d7a8793a0ada6998c807366606366696b6c6c6c6a6865605d56524c443e454d545c6064686b6c6c6b69666360594f44382c20130700131f2c3946525f6c7985929facada093877a6d60544c4c4c4c4c4c4c4c4c4c4c4d4a5053555960636a6f7980889299a3abaea39891857b6e615a50433a2f24180d0000000000000b17232e38424a50535f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f606d798693a0aca194877b6e615f5f5f5f5f585651493f34291e120600121e2b3845515e6b7884919eabaca194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000009131d262f38404850565e61686e73777b7e81838485868685858482807e7b77736e69615e57504840382e261c13090000000000000000000000000000000a151e273039414950585f626b70757a7d808284858686858483817e7b77726d67605c544d453d342b22190f05000000000000000000000000000000040d161d262d333c43474f54555c606366686a6b6c6c6c6c6b69686562605b54534e47423c332d261d150d03000000000000000000000000000000000000000000000000000613202d394653606c7987868686847d756e69605c554f46454f545c60696e777e8586868685786b5f5245382c1f120500000000000000000000000000000006121f2c3844515c666d7779797979797979786d685d52463d302e34384546464646463f3938332d261d18111c262f3c45525d686d7879797979797979776d665c5044382c1f1206000000000a1723303d4a5663707d8996a9ac9f9286796d6053463e4855626f7b8895a093867a6d6053474b54606a76838f9997989290857a6d6053473a2d20140700000b1723303c47525c64676c6c6c6c6c6c6b6a6764605c545044403930271c1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eaba396897c7078828f949f9b97989291919298979d9fa7aeaaa29f92877d70666d7a8390959f9c97999291919298979b9fa4acaca49f938c7f72695e5342392e23180c000000131f2c3946525f6c7985929facada093877a6d6054473a2d21140b0b0b0b0c16202b37424d57606d7984919da5afa3999083796d60584e42382e21180b020000000000000000000005121e2a36424d576774808d9aa8ac9f92867a6d61544a3f33292018161619212935414c56626f7c8895a0aca7998c807366564c4135291d110500000714212d3a4754606d7a8793a0ada6998c8073656c6f7376777879787775716d68615e5650484d575f666d7175777979787673706b6054483c2f22160900131f2c3946525f6c7985929facada093877a6d6054473f3f3f3f3f3f3f3f3f40403f4446494f545860676d737e879299a3aeaaa1978f82766c61554b4135291d12070000000003101c28343f4a545c6a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d798693a0aca194877b6e6c6c6c6c6c6c65625b51463a2e22150900121e2b3845515e6b7884919eabaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000007101b252f38404a525a61686d747b8084888b8e8f919292929291918f8d8b8884807b746e69615a524a40382e251b0f060000000000000000000000000006111c263039424a535b606a6f767d82868a8d8f919292929291908e8b88847f7a726d665e574e463d342b21170b0200000000000000000000000000030c161f282f383f444e54596063676d707375777879797978787674726f6c66625f58534d443f382f271f150d03000000000000000000000000000000000000000000000000000b1825313e4b5864717e889396918a827b736d67615953525960666d737b828b929792877e7064574a3d3124170a0000000000000000000000000000000004101c2834404a545c606a6c6c6c6c6c6c6c6b605d564c413430383f445253535353534c46443f382f2a2119141d2935414c565d606b6c6c6c6c6c6c6c6a605c544a3f34281c1003000000000815222e3b4855616e7b8897a1ada399897d70635a50474855626f7b8895a093867a6d60534c535c666f7c89949faaa29b8e8175675d5145382c1f1306000007131f2b36404a52585a60606060605f5e5d5a5753514b423f342e271e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0d0e10111212131313131211100f0d0b090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556c7885929f9f9f95887c6f6d79828d939a9fa29f9e9e9fa3aaa9a9aba39f98928a7f726b60686d7a838d939a9fa39f9e9e9fa2aaa8a9aba49f9a938c81776c60574d4230271d1207000000131f2c3946525f6c7985929facada093877a6d6054473a2d211818181818181e28323a47535f69737f8c96a0aca89f92877c6f665c51463c30261c0f0600000000000000000000000714212d3a46535e697784919eaaa99c8f8276685e5242382e21170d07080f1924303a47535f6a7784919daaaa9d908377685e5246392d20130700000714212d3a4754606d7a8793a0ada6998c807370787c7f838485868584817e7a746d68615a51575f696e787e828485868483807d7063564a3d3023170a00131f2c3946525f6c7985929facada093877a6d6054473a3232323232323232332e34383a3d43484e555c606c717e87929fa5afa99f948a7e71675d5145392e23180c0000000006121f2b3844505c6674797979797979797979797979797979797979797979797979797979788693a0aca194877b79797979797979726d62564a3e3124180b00121e2b3845515e6b7884919eabaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000030c19222d37404a525c636c717a81868c9196989a9c9e9f9f9f9f9e9d9c9a9895918d86817b716c645c524a40372d21180e030000000000000000000000040e17232e38424a545c656c727c82898f92999a9c9e9f9f9f9f9e9c9a9895908b857f786e6960584e463d33291d140a000000000000000000000000000b151e283139424a50585f626b6f75797d7f828385858686858483817f7c79746f6a625f575049413931271f150b010000000000000000000000000000000000000000000000000a1724303d4956626c717f8b919e948f868079706b615f5d606b6f797f868f949f93887e716c6155493c3023160a00000000000000000000000000000000000c18232e39424a51535d606060606060605e54524c433a2f38424a505e5f6060605f5953504a423b332a251f19242f3a434c52545e606060606060605d53504a42382e23170c00000000000613202d394653606c7985929eabab9b8f82756c615a544e55626f7b8895a093867a6d6053565d656d7983909da6aca0958a7d7064554b4035291d10040000030e19242f3840474c4d53535353535251504d4a464540393028231c150c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406090e12141517191b1d1e1f1f2020201f1f1e1d1c1a18161312100c0705020000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6779869293939393887b6e676d7880878f93999b9d9e9f9f9f9e9c9a99928e867e726d62595e686d7980878e92999a9c9e9f9f9f9e9d9a99938e877f746c655b50453b311e150b00000000131f2c3946525f6c7985929facada093877a6d6054473a2d2424242424242424303a44505a616e7b86929fa8aca0968d80736a60544b40342a1e150a0000000000000000000000000815212e3b4854616e7b8796a0acab988c7f7265564c4130261c0f06000008131e2b37434e586774808d9aa7ac9f93867a6d6154473a2e21140700000714212d3a4754606d7a8793a0ada6998c80747d83898c8f91929292918e8b86807a706c635b5e696e7b838a8e91929291908d86796c5f5346392c201300131f2c3946525f6c7985929facada093877a6d6054473a2d252525252525252623282c2d32383d434b515a616c727f8b939ea9b0a69e91847a6d60544b4034281c10040000000713202d3a4653606d78868686868686868686868686868686868686868686868686868686868a95a1b9ac9f9286868686868686867f7265584c3f3225190c00121e2b3845515e6b7884919eabaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e2b343f49525c646e737e858d92999da0a8a9a29f9d9c9b9c9d9fa2aaa7a09d99928e857e736e645c52493f332a1f140900000000000000000000020c162028343f4a545c666d777f8790949b9fa3aba7a3a2a1a1a2a4a8a7a7a09d97928b837b6f6a60584e453b2f261b1106000000000000000000000007121d273039434b545b606a6f767c8185898c8e90919292929291908e8b8985817c756e69605b534b433931271d12070000000000000000000000000000000000000000000000000815212d3945505a626d727f8b919c98928c847d756e69686d747c838c92989c918b7f726c625a5044392d201408000000000000000000000000000000000007121c2730394044465153535353535353524745413a31343f4a545c6a6c6c6c6c6c66605b544d453f363029201e28313a41454752535353535353535146443f3830261c1106000000000005121f2b3744505b6574818e9ba6aa9e938a7e716c62605857626f7b8895a093867a6d605c60686d77818e95a0aca79d9184786c605346392f24180c0000000008121d262f363c3f414646464646464544413d3a38342e271e18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013141a1e2121242628292a2b2c2c2d2c2c2c2b2a29272522201f1c1814120e0903000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d79868686868686867a6d61666d737c82878b8e909192929291908d8a86817b716c625b51565e676d737c81868a8d909192929291908e8a87817c736d605b53493f33291f0c0300000000131f2c3946525f6c7985929facada093877a6d6054473a31313131313131313135414c56616c76828f98a3aea49a9184796d60584e42392e22180c030000000000000000000000000b1825313e4b5864717e8b97a8aea399887c6f6255493c3022140a000000020f1b26323d4a5763707d8a96a8afa4998a7d7064574a3d3124170700000714212d3a4754606d7a8793a0ada6998c80808a9095999c9e9f9f9f9d9b98928d857e736d63616e7b8590959b9e9f9f9e9c9286796c5f5346392c201300131f2c3946525f6c7985929facada093877a6d6054473a2d2119191919191919171c1f20272c30394045505a626d74818e97a1adada1968c7f73665c5145382c1f14090000000713202d3a4653606d798692929292929292929292929292929292929292929292929292929298a3aebaaea399929292929292928b7f7265584c3f3225190c00121e2b3845515e6b7884919eabaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303d46515b646e74808a92979fa3a9a19e999792908f8f8f909298989d9fa7a39f97928a80736e635b51453b31261a0e0400000000000000000008131e28323a44505c666d78818c92999fa6a9a19e9a9795949596979b9fa2a9a9a29f9590857c6f6a60574d41382d22170b01000000000000000000040d18232e39434b555d666c737c83898e9298999b9d9e9f9f9f9f9e9c9b9897918d88827b736c655d554b43392f24180e05000000000000000000000000000000000000000000000005111d29343e48505a626d727f8c929c9f96918a827b73717a818891959f9d928c7f736d625a50483e33281c10040000000000000000000000000000000000000b151e272e34383a4446464646464646453a39352f2b3844505c66757979797979726c665f575146423b3229251f282f35393a4546464646464646443a38342e261e150a000000000000030f1b27333f4953626f7c89949ea9a59f92877e756f6a6764626f7b8895a093867a6d65676d717a818e939da7a99f958a7e71665b5044382b1d120700000000010b141d242b303334393939393939383734312d2c28231d150c07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12181d1f20252a2d2e31333536373839393939393838373534322f2d2c2823211e1a140f0b0600000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d67767979797979797976685e5c606a6f757a7e8183858586858483817e7a746e69615a51494c555c606a6f757a7e8183848586858483817e7b756f6a635b504941382d21170d0000000000131f2c3946525f6c7985929facada093877a6d6054473e3e3e3e3e3e3e3e3e3e3e45525d68717e8a949faaa89f93887d6f675d51463d30271d1006000000000000000000000000010e1a2734414d5a6774808d9aa7ac9f9286796d6053463a2d201307000000000a14212e3b4754616e7a8796a1adab998d8073665a4d402f24180c00000714212d3a4754606d7a8793a0adab9f92858d929da0a7aaa39f9e9e9fa2a39f97928a7f736d6975828e97a0a7aaacaaa29f9286796c5f5346392c201300131f2c3946525f6c7985929facada093877a6d6054473a2d21140c0c0c0c0c060c1012131b1e272e343e47515b606d7985919ea7b1a99e9185796d6053463b31251a0e0200000713202d3a4653606d7986939f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa3aab4bfb4aba39f9f9f9f9f9f988b7f7265584c3f3225190c00121e2b3845515e6b7884919eabaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e38424f59626d74808d929ea1a9a39f97918c8885838282838385888b90959ea1a8a29f928d80736d62574d42362a20160a0000000000000000010d1924303a44505a606d78818e939fa3a9a29f97918d8a888788898b8e92979fa2aaa79f9792867c6f695e53493f33271d12070000000000000000010c161f2834404b555d676d78808790949b9fa2a9a29e9c9b9a9a9b9d9fa3a9a19e9a948f877f776d675d554b40352920170d0200000000000000000000000000000000000000000000000c17222d363f48515b636d737f8c929ca09e948f867f7d848d939aa09d938d80736d635b51483e362c22170b00000000000000000000000000000000000000030c151c23282c2d3739393939393939382d2c29242d3a4653606d7987868686867f786e69625b524d443e3530282024292c2d3839393939393939372d2c28231c150c03000000000000000b17222d384854606a75828f97a2aaa399928b827c7773716e6f7b8895a093867a6f7175797e848e939da5aba2979083786c60544a3f33281c0b010000000000020b12191f2326272d2d2d2d2d2c2b2a2724201f1c18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e151a1d24292c2d31363a3b3d4041434445454646464645444342403e3c3a38342e2d2a261f1b17110a0200000000000000000000000000000000000000000000000000000000000000000004101d2935404b555d6c6c6c6c6c6c6c6c6c5e5651586062686d71747678797978787674716d67615e5750483f434b51585f62686d71747678787978777674716e69625f5851443f382f261b0f050000000000131f2c3946525f6c7985929facada093877a6d60544b4b4b4b4b4b4b4b4b4b4b4b4f59606d7a85929ea6aca1968d80746b60554b40342b1e150b0000000000000000000000000004111d2935414c55697683909ca9aa9d908377665c5144382c1f1206000000000714202d3946525e687884919eaba99c8f827669554b4035291d1004000714212d3a4754606d7a8793a0adada29792979da49f9c97989291919298969a9f9f918c7f726e7b87939fa9b1a7a09d98929286796c5f5346392c201300131f2c3946525f6c7985929facada093877a6d6054473a2d21140700000000000003060a0c151d2328353f45515d67717e8b95a0acada1978b7e7164574d42362a1e120500000713202d3a4653606d798693a0acacacaca49f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa0a1a6aeb8b1a9a3a19f9f9f9f9f988b7f7265584c3f3225190c00121e2b3845515e6b7884919eabaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606b727f8c929ca4aaa299928c84807b787675757677797b7f838a91969fa6a49c928b7f72695f53463d32271b0f030000000000000005111d2935414c56616c74808d939ea5a7a097928b85807d7b7b7b7c7e81858c9298a0a7a9a29891857b6e655b5044392f24180c000000000000000008131e28313a45515c676d79828d92999fa6a39f9a97928f8e8d8e8e9092989b9fa3a69e99928c82796d675d51453f32291e1408000000000000000000000000000000000000000000000006101b242d363f49515b636d73808d929da49e98928c8a91969fa49e938e81746e645b51493f362d241a10050000000000000000000000000000000000000000030b12181c1f202a2d2d2d2d2d2d2d2b21201d1f2b3844505c66717e879399928c827b726d615e565046413a3229241d20212b2d2d2d2d2d2d2d2a201f1c17110a03000000000000000006111b2c38434e58616e7b859298a2a9a39f948f8984807e7b7a7c8895a194877a7c7e82858b91969ea5aaa29992857b6e665b5042382d22170b0000000000000001080e13171a1a20202020201f1e1d1a171313100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191f262b2f35383a3e4246484a4c4e50515252535353525251504f4d4b494644403b3a36312b27221b140b070100000000000000000000000000000000000000000000000000000000000000010d18242f39434b515f606060606060605f524c454e54565e6165686a6b6c6c6c6b696764605d55534d453e363940454e53565d606467696b6c6c6c6b6a6764615e57534e4640332d261d140a000000000000131f2c3946525f6c7985929facada093877a6d605757575757575757575757575754606b74818e97a1ada59e9184796d60594f43392f22190c04000000000000000000000000000613202c3945515d677885929eaba89b8e827568544a4034281c10040000000005111e2a36414c566976838f9ca9ab9e918578675d5145382c1f1306000714212d3a4754606d7a8793a0adb3a9a29fa2a19e948f8b8786858485878a8d92979f93887e727e8b99a4afaba0959088858686796c5f5346392c201300131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000000030b1218232935414b55606c7883909da9b3a99d908377695e53463a2d21140600000713202d3a4653606d798693a5afaca29a979393939393939393939393939393939393939393959ca6b1a99f97949393939393938b7f7265584c3f3225190c00121e2b3845515e6b7884919eabaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c666f7c87929fa4aba29892878079736f6a6a696869656c6e72777d848f949fa6a49f92867b6e61584e43382b1f1306000000000000000713202d3946525d68717e8a929da5a79f9590857f7974706f6e6e6f7175797f869195a0a7aaa1978f82776c60554b4035291d1004000000000000010d19242f3a43505a606d79828f949fa3a7a099928e898583818181828386898e92999fa7a39f948f82796d605b51443b3025190e02000000000000000000000000000000000000000000000009121b242d373f49525b636e74808d929da5a39f99979ea1a69e948e81786c605c524940372d241b11080000000000000000000000000000000000000000000000070c1012131e202020202020201f1413111c28343f4a54616c717e87939a9490867f766e69615a524c443e352f281f191f202020202020201e1312100c0600000000000000000000000f1b27323d46525e69707d8692979ea5a69e9c95918d8a888786929fac978d87898b8e92979ea1a8a8a09892877e70695f544a3f2f261c110600000000000000000003070b0d0e13131313131312110e0a070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e171e252a3137394045474a4d535457595b5c5d5e5f5f605f5f5f5e5d5c5a585553514a4846423b37332d261d18120c040000000000000000000000000000000000000000000000000000000000000007121d283139404553535353535353535346413c43474c5254585b5d5e5f5f5f5e5d5a5754514c46423b332c2e343c43474c5254575a5d5e5f5f5f5e5d5b5754524d47433c3427221b140b02000000000000131f2c3946525f6c7985929facada093877a6d646464646464646464646464646464666f7c88939fa9a89d93897d70675d51473d3129241e160e060000000000000000000000000714212d3a4754606d7a8797a2ada6998c807366594d402e23180c0000000000010d192530414e5a6774818d9aa7ada197867a6d6053473a2d201407000714212d3a4754606d7a8793a0adbcb3ada9a1979289827e7b797878797a7d81858d929992857b818e9babafa49990837c79797b6e6255483b2f22150800131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000071118242f3a44505b65717e8b97a2adab9f95877b6e6154483b2e23170c00000713202d3a4653606d7986939ea8a69a908a86868686868686868686868686868686868686868a95a1ada3978d87868686868686867f7265584c3f3225190c00121e2b3845515e6b7884919eabaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606d78839099a3afa39992867d736d67625f585c5c535b6061656c707a828f949fa9a2988f82766a6054473b2e22150800000000000005121e2a36424d57616d7a85929ea4a99f9590837b726d66646261626364676d727b839095a0aaa99f948b7e71675d5145382c1f140900000000000004111d2935414c56616c74818e949ea6a69f959087817c79767474747577797d818790959ea5a69e948e81756d62564c41362a1e140800000000000000000000000000000000000000000000000009121b252d374049525c646e74808d939da59f9f9f9fa79f948f82786d665b504a40372e251b1209000000000000000000000000000000000000000000000000000004060711131313131313131207060b17232e3842505a616c717e88939a98928b827b716c615e564f45413a312b22190f13131313131311070603000000000000000000000000000a16212a36424d57606b707d858e939d9fa7a7a09d9a9795989298a3ae9f979495989b9fa2a9aaa29f9691867d706c61574d42382d1d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117202930363c42474b515357575e61646668696a6b6c6c6c6c6c6b6b6a68676562605c5455534d46443f382f29241d160d05000000000000000000000000000000000000000000000000000000000000010c161f282f3539464646464646464646393632373a4146474b4e505252535251504e4b4745413a36312921232831373a4145474b4e505152535251504e4b4746423b37312a2217110a0200000000000000131f2c3946525f6c7985929facada093877a71717171717171717171717171717171717883909aa4ada1968e81746b60554e48443d35302820180f0600000000000000000000000915222f3c4855626f7c8895a9b3a4988b7e7165584b3e32251807000000000000081926333f4c5966727f8c99a5b2a995887b6e6255483b2f221508000714212d3a4754606d7a8793a0adbab9ada19792857d76716e696b6b676d70747a808792978e81828f9ca9ac9f93877b6f6a6c6e695f53473a2e21140800131f2c3946525f6c7985929facada093877a6d6054473a2d21140700000000000000000000000007131d27333f4953606d7985929fabb1a7988b7e7265544a3f34281c10030006121f2b3844505c6675818e96a1a4978a7e79797979797979797979797979797979797979788693a0aca194877b79797979797979726d62564a3e3125180b00121e2b3845515e6b7884919eabaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66727f8b95a0aba89f92877d706b605d55534e4f4f495053555a61686d79829097a1a49f94897c6f6256493c2f2316090000000000000714212d3a46535e6974818d97a1ada19790837a6e69605c5455545556555c60696e7a839098a2aea69e9184796d6053473b31261a0e0200000000000613202c3945525d68717e8a939da6a89f948f837c746f6c6668676768666d70757c838f939ea7a69e938b7f72685e52463b3025190d0100000000000000000000000000000000000000000000000009131c252e37404a525c606c77818e93939393939393959082796d665c544a3f382e251c1309000000000000000000000000000000000000000000000000000000000000040606060606060605000006111c26303e48505a626c717f88939f9f948f857e756d686159514b433d342b21160a00060606060400000000000000000000000000000000040e1a25303b454f59606b707b818a90959a9ea1a8a6a4aaa39fa3aab4a8a3a1a2a4a8aba49f9c98928c847c706b615a50453b2f261c0b0200000000000000000000000306080909090909090909090909090909090909090909090909090909090909090909090909090909090909090806030000000000000000000000000000020b141c2228323b41464d53555d606468696e70737476777878797979797877767573716f6d6665615f57535049413d352f281f170f06000000000000000000000000000000000000000000000000000000000000040d161d24292c39393939393939392e2d2a272b3036393a3e4143454646454543413e3a39352f2a251f171820262b2f35393a3e4143454546454443413e3b3a36302b2620181006000000000000000000131f2c3946525f6c7985929facb1a4988b7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e808d95a0acab9e91847a6d67625f58544f45413a322a21181006000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000b1825313e4b5864717e8b97a4b0a3968a7d7063574a3d3024170a000714212d3a4754606d7a8793a0adbcb1a79e92857c706b64615e57555d6063686d747e8692938e86929faca99d908376695f60625f574d42372b1e120600131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000000000000010b17222d3845515d6774818e9aabb5a89c8f8275665c5044382c1f12060003101c28343f4a54606d7a84919ea59f92867b6e666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d798693a0aca194877b6e6c6c6c6c6c6c65625b51463a2e22160900121e2b3845515e6b7884919eabaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919ea7ada1968d80736b6059514b474342423f44464850565d676d7a85929b9993908c8275685c4f4235291c0f020000000004101d2935404b55616e7b86929fa9a69e92857a6e685e57514b484848494b51575e686e7b86929fa9ada1968b7e7165574d42362a1e12050000000004111d2935414c55606d7a85929ea5aca0968f82796e6a62605b545a5b545c60636a6e78818f959faba59f92857a6e61564c41362a1e1105000000000000000000000000000000000000000000000000010a131c252e384044505b656c7881868686868686868683796d675d544a42382d261c130a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e2c363e48505a626d727f8b919b9e97928a817a706b605d554e463d32271b0f030000000000000000000000000000000000000000000009141f29333d474f5960696e757d83888d9196979a9b9d9e9fa3aab4aaa29f9e9c9b9999938f8b857f796f6a615950483e33291d140a00000000000000000000040a0f121515161616161616161616161616161616161616161616161616161616161616161616161616161616161515120f0a030000000000000000000000020b141d262d333e444c52575f62676d7174787b7d7f81838485858686868585848382807e7c7976726e6964605b534f454039312921170f06000000000000000000000000000000000000000000000000000000000000040c12181d202d2d2d2d2d2d2d2d21201d1b1e252a2d2e32353738393939383634312d2c29241e1a140d0c151a1e24292c2d31343638393939383734312e2d2a251f1b150e0600000000000000000000131f2c3946525f6c7985929facb8a69b908b8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8d929da7b1a79a8e817b77746f6a636059524c443c332a22180f050000000000000000000b1825313e4b5864717e8b97a4afa295897c6f6256493c2f2316090000000000000a1723303d4a5663707d8996a3b0a4978b7e7164584b3e3125180b000714212d3a4754606d7a8793a0adb8ab9f958a7e716a605954524d4b5154565d616c707d8793989298a3aea79a8d817467575355534d453c31261a0e0200131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000006111b2935404b5564717d8a99a3afac9f9285796d6053463a2d20130700000b17232e3845525d68707d89939da2989083796d6059606060606060606060606060606d798693a0aca194877b6e616060606060585651493f34291e120600121e2b3845515e6b7884919eabaea194887b6e6155483b2e22150802020202020202020202020202020202020202020202020000000000000000000000000004101d2935404b5564717d8a96a1acaa9e9184796d60594f45403937312d3337393e444c555e68717e8b8e8a86837f7c6f6255483c2f221509000000000006131f2c3945515d6774818d99a3ab9f948a7e71685e564d45403c3b3b3c40454d565f69727f8b97a1ada99d908377695f53463a2d211407000000000613202c3945515d6773808d97a1ada69e91847a6d675f5853504a4e4e4b5153585f666d79839099a3ada2978d8174685e5246392d20140900000000000000000000000000000000000000000000000000010a131c2627333f49535b666c757979797979797979776d675d554b42392f261c140a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1a242d363f48505a626d727f8b919ba29f938e857d746d6760584e43382c1f130700000000000000000000000000000000000000000000030d17212b353d474f575e616b70767c8084878a8d8f90919298a3aea2989291908e8c8986837e79726d6660584f473e362c21170b02000000000000000000060e151b1f21222323232323232323232323232323232323232323232323232323232323232323232323232323232322211f1a150e06000000000000000000000a141d262f383f4450565e61696e74797d8184878a8c8e8f909192929392929291908f8d8b8886837f7b76706c656059514b433b332921170d0400000000000000000000000000000000000000000000000000000000000001070d101320202020202020201413110f13191e202125282a2b2c2c2c2b2a272421201d19130e0903030a0f13191d202124272a2b2c2c2c2b2a282421201e1a140f0a030000000000000000000000131f2c3946525f6c7985929facb8aca29b9897979797979797979797979797979797979a9da4aeb5a99d938e8784817c76706b605d564e463c342a21170b0200000000000000000c1926323f4c5965727f8c98a5aea195887b6e6255483b2f2215080000000000000916232f3c4956626f7c8995a2afa5988b7f7265584c3f3225190c000714212d3a4754606d7a8793a0adb6aa9d9083776c61584f4846424145474c525a616b73808d969fa3aab4a5998c7f7266594c4847423c332a2015090000131f2c3946525f6c7985929facada093877a6d6054473a2d21140700000000000000000000000000000c18242f3a4754606d7a86929facaea298887b6e6255483b2f221508000006111c2935414c56606b74818e96a1a0958d80746b60564c53535353535353535353606d798693a0aca194877b6e6154535353534c4a463f372d23180d0100121e2b3845515e6b7884919eabaea194887b6e6155483b2e22150f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0b0a08040000000000000000000613202c3945515d6775828f9ba8aea3988b7e71675d51473d352f2b2622272b2d323a434c56606d7883817e7a76736f6a5f53473b2e21150800000000000714202d3a4753606d7985929faba89c8f82766c61564c433b342e2e2f2f343b444d57606d7985919eababa095887b6e6155483b2e221508000000000714212d3a4754606d7a85929fa9aa9e94897d70685d554e46443f41414045464e545c676f7c87929faca99f92867a6e6154473c31261a0e0200000000000000000000000000000000000000000000000000010a1417222d38414a545b60686c6c6c6c6c6c6c6c6a605d554c433930271d140a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b242d363f48515b626d727f8c919ca39e97918a81796f6a6054483b2e2215090000000000000000000000000000000000000000000000050f19232b353d454d525961636a6f74787b7d8082838486929fac9f92868483827f7c7a76716d67605c544e463e352c231a0f0600000000000000000006101820262b2e2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2e2b2620181006000000000000000006111b262f38424a505a61686e747b81858a8e919697999b9c9d9e9f9f9f9f9f9e9e9d9b9a9898928f8c87827d78706b605d554d453b33291f160c0100000000000000000000000000000000000000000000000000000000000000010406131313131313131307070502080d111314181b1d1f1f201f1e1d1b181413110d08010000000001080d111314181b1d1e1f201f1e1d1b181414110e090200000000000000000000000000131f2c3946525f6c7985929facb8b4aca6a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a7a9aeaeafafa59d9a96918d88837d746d685f584e463c33291d140a00000000000000000d1a2733404d5a6673808d99a6ada194877a6e6154473b2e2114080000000000000815222f3b4855626e7b8895a1aea6998c807366594d4033261a0d000714212d3a4754606d7a8793a0adb3a9988b7f72655a50463d3a3635393a41465059606d7984919eabb4b2a5988b7f7265584c3f3a37312a21180e030000131f2c3946525f6c7985929facada093877a6d6054473a2d21140700000000000000000000000000000713202c3945525d687783909daab4aa978a7d7064574a3d3124170a0000000d19242f3a444f59606d7984919aa49f93887d70685d5245464646464646464653606d798693a0aca194877b6e6154484646463f3e3a342d251b11070000121e2b3845515e6b7884919eabaea194887b6e6155483b2e221b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b171714110c05000000000000000714202d3a4753606d7a86929facac9f92867a6d60554b403529241d1a171b1f2028313a44515c666d7775716d6866625f584e43372b1f12060000000004101c2834404b5564717e8b98a2aca096897d70635a50443b31282321222329323c44515c6673808c99aab1a7988b7e7265584b3f3225180800000005111e2a36424d5765727f8b98a2aea99c8f82756b60564c433c38332d2e34383c424b555f6a74818e9ba8aea3988c7f7266574d42372b1e120500000000000000000000000000000000000000000000000000000006111b262f38424a50535b60606060606060605d54514c433a31271e150b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b242d363f49515b626d727f8c9193939393938e847c6f6256493c2f231609000000000000000000000000000000000000000000000000071119232b333b42464f55585f6267696e71737576787c8895a093867977767572706d6764605d55514b423d342c231a1108000000000000000000040e18222a31373a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3a37312a22180e03000000000000040d17222d38414a545b606c717a81878d92989b9ea1a8a6a7a8a7a5a4a3a3a3a3a4a5a6a8a6aaa39f9c9a938f8a837d746d675e574d453b31281d13070000000000000000000000000000000000000000000000000000000000000000000006060606060606060000000000010507070b0e101213131212100e0b070604010000000000000000010406070b0e101212131211100e0b08070502000000000000000000000000000000131f2c3946525f6c7985929facb8b0a8a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa0a1a2a5a7aba8a09e9a949089817a6e6a5f584e453b2f261c1106000000000000000e1a2734414d5a6774808d9aa7ada093877a6d6054473a2d2114070000000000000815212e3b4854616e7b8794a1aea69a8d8073675a4d4034271a0d000714212d3a4754606d7a8793a0adada197877a6e6154473e342d2a292c30353e45515c67727f8c99a3aeb2a5988b7f7265584c3f322b2620180f06000000131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000000000000000004111d2935414c566875818e9ba8b2a5998c7f7266594c3f3326190c00000008131e28323d45515d67707d88939fa49a91847a6d60594f443a303939393a4653606d798693a0aca194877b6e6154483b393932312e29231b1309000000121e2b3845515e6b7884919eabaea194887b6e6155483b2e28282828282828282828282828282828282828282828282828282423211c1710080000000000000a1723303d4a5663707d8998a3aea89b8e8275675d51433a2f23181d1d1d1d1d161f2834404a545c606a6864615e5655534e463c32261b0f030000000006131f2c3845515c6775828f9caaaa9d9184776b6054483e32291f18151518202834404a54626f7b8898a2aea89b8e8175685b4e423025190d0100000714202d3a46525e697683909daaada196897d7063594f433a312b282223282c3039434e58626f7c8895a0acaa9d908477695f53463a2d211407000000000000000000000000000000000000000000000000000000000a141d262f383f44464e5353535353535353504745413a31281f150c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b242d373f49515b636d737f86868686868686868174675a4e4134271b0e01000000000000000000000000000000000000000000000000071119202930363e44484e5355575e616467686a6f7b8895a093867a6d69686663605d5553514b454039302b221a1108000000000000000000000a15202a343c434748494949494949494949494949494949494949494949494949494949494949494949494949494949494847433c342a20150a0000000000010c161f27333f49535b666c747e858e92999fa2aaaba9a8a19e9c9a9897979696979798999c9e9fa4acaca49f9c95908981796e695f574d433a2f24180d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8a89e969393939393939393939393939393939393939393939495989b9ea1a9aaa69f9c938e847c6f6a5f574d42382d22170b000000000000000e1b2734414e5a6774818d9aa7ada093867a6d6053473a2d2014070000000000000814212e3b4754616e7a8794a1ada79a8d8174675a4e4134271b0e000714212d3a4754606d7a8793a0adab9e918578685e5246392c221e1d20242934404b55616e7a86929facb2a5988b7f7265584c3f32251a150e0600000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000000010d19242f404d596673808c99a6b3a79b8e8174685b4e4135281b0e000000010c16202935404b55606b74808d96a0a1968e81746b61564c4135292d2d3a4653606d798693a0aca194877b6e6154483b2e2d2525221e18110901000000121e2b3845515e6b7884919eabaea194887b6e6155483b35353535353535353535353535353535353535353535353535353531302d28221a120800000000000d1a2733404d5a6673808d99aab4aa978b7e7164554c4131282a2a2a2a2a2a2a2a2a232e39424a51535d5b5754524c4847433c342a20150a00000000000713202d3a4653606d7985929facab998c7f7366594f44362c20170d07070e18232e394653606c7985929fabaa9d9184776a564c41362a1d110500000814212e3b4754616e7b87959fabab9e9184786c6053463d31281f1c17181c1f27313c47535f6a7784919daaaca095887b6e6155483b2e22150600000000000000000000000000000000000000000000000000000000020b141d262d333839424646464646464646443a39352f281f160d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b252d373f49515b636d737979797979797979746e64584c4033271a0d0100000000000000000000000000000000000000000000000000070e171f252a33383c4347484d5254575a5c626f7b8895a093867a6d605b595653514b47454039342e271e19100800000000000000000000030f1b26313c464e53555656565656565656565656565656565656565656565656565656565656565656565656565656565655534e463c31261a0f030000000007131d28313a44505b656c78808a92979fa3abaaa69f9c9896918f8d8b8a8a89898a8a8b8d8f91939a9c9fa4aca7a09d938e837b6e695f554b41352921160a000000000000000000050a0d0f101313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313100f0d0a050000000000000000000000000104060712131313130908060300000000000000000000000000131f2c3946525f6c7985929facb8a2968c87868686868686868686868686868686868686868787898b8e92979da0a7aba59d9691857c6f695e544a3f33281d12070000000000000e1b2834414e5b6774818e9aa7aca09386796d6053463a2d2013070000000000000714212e3a4754616d7a8794a0ada79a8e8174675b4e4134281b0e000714212d3a4754606d7a8793a0ada99c8f827669564d41362a1a12111319232f3946525e687683909da9b2a5988b7f7265584c3f32251909030000000000131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000000000000000000081824313e4b5764717e8a97a4b1a89c8f8275695c4f4236291c0f00000000040d18242f3a434f59606d79849199a39d938a7d70685e52463e32292d3a4653606d798693a0aca194877b6e6154483b2e21191816120d070000000000121e2b3845515e6b7884919eabaea194887b6e615548424242424242424242424242424242424242424242424242424242423e3c39332c241a100500000004101c2834404b546976828f9ca9aea398887b6f6255483c2f3737373737373737373737373039404446514e4b4746413c3b37322a261f180f06000000000a1723303d4a5663707d8998a2aea399897c706356493d32231a0e05000007121f2b3844505b6676838f9ca9ac9f928579685e5246392d20130700000b1824313e4b5764717e8a97a7b1a79a8e8174665b5044382b1f160f0b0c10151f2b37434e586773808d9aa6b1a7988b7e7165584b3e2d22170b0000000000000000000000000000000000000000000000000000000000020b141c22282b2d353939393939393939372d2c29241e160d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b252d373f49515b63666c6c6c6c6c6c6c6c67645c53483c3024180b000000000000000000000000000000000000000000000000000000050d141a21282c31373a3c4246484a4d55626f7b88959f93867a6d60534c494745403a39352f28231d150c07000000000000000000000006121f2b37434e585f6262626262626262626262626262626262626262626262626262626262626262626262626262626262625f584e43372b1f1206000000010d18242f3a434f59606c77818d929fa2a9ada59e9b948f8b888482807f7e7d7d7d7d7e7e808284878b8f939a9ea6aca59d9590847b6e675d51453d32271b0f03000000000000030a1016191c1d20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201d1c1916100a03000000000000000001070d1113141f202020201515120f0a040000000000000000000000131f2c3946525f6c7985929facada093877a797979797979797979797979797979797979797a7b7c7e81858a90959fa3aba8a19792857b6e665b5044392e23180c0000000000000e1b2835414e5b6874818e9ba7aca09386796d6053463a2d2013070000000000000714212d3a4754606d7a8793a0ada79b8e8174685b4e4135281b0e000714212d3a4754606d7a8793a0ada89b8e8175685b4e423025190f0408121d2a36414c566774818d9aa7b2a5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000000000a1724303d4a5763707d8a96a3b0a99c908276695d5043362a1d10000000000007131d28313d45515d676f7c87929fa59e91857a6d615a50443b302d3a4653606d798693a0aca194877b6e6154483b2e211508090601000000000000121e2b3845515e6b7884919eabaea194887b6e61554e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4a49453e362c22170c00000006131f2c3845515c667884919eabac9f9286796d6053464444444444444444444444444444444444444444444444444444443b3a36312a21180e030000000d192633404c5966737f8c99aaac9f92867a6d6053473a2d201407000000030f1c28333f4a546874818e9ba7aea298877a6d6154473a2e21140700010e1b2834414e5b6774818e9aa7b4aa978a7e7164544a3f3328190d040000040d1b26323d4a5764707d8a97aab4a79b8e81746853493f33271b0f030000000000000000000000000000000000000000000000000000000000020a11171c1f20282d2d2d2d2d2d2d2d2a21201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000109131b252e37404951575960606060606060605a58534a41362b2014080000000000000000000000000000000000000000000000000000000002090e161c20262b2e30363a3b3e4855626f7b88939393867a6d6053473d3a39352f2c29241d18120b030000000000000000000000000815212e3a47535f6a6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6a5f53473a2e21150800000004111d2935414b55616b73808d939da4ada9a29f938e88827e7b78757472717070707071727375777b7e82878f939fa2aaa7a0969183796d60594f43382c1f14090000000000040d151c212629292d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292926211c150d04000000000000040c13181d20202b2d2d2d2d22211f1b150e0600000000000000000000131f2c3946525f6c7985929facada093877a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c666c6d6e6f7274797e838c9299a3aba9a1978f82786c60554b4034281c100400000000000e1b2834414e5b6774818e9aa7aca09386796d6053463a2d2013070000000000000714212e3a4754616d7a8794a0ada79a8e8174675b4e4134281b0e000714212d3a4754606d7a8793a0ada79a8d8174675a4e4134271b0801010d1925303e4b5864717e8b97a4b1a5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000000000a1623303d495663707c8996a3afaa9d9083776a5d5044372a1d110000000000010c161f2935404b55606a73808d95a0a1978e81756c61564c41362d3a4653606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e615b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b575550483e33281c110400000713202d3a4653606d7986939facaa9d908477665c50505050505050505050505050505050505050505050505050505050504846423b332a1f1409000004101d2935404b556975828f9ca8aa9d918477675d5145392c201306000000000b17222d414d5a6774808d9aa7b4aa94887b6e6155483b2e2215080005111e2a36414c566a7683909da9aea298887b6e6155483b2d221708000000000a15212e3b4854616e7b8798a2aeaa9d908377655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000060b0f12131b20202020202020201d1413110d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c252e3740464b4c53535353535353534e4c4841382f251a0f03000000000000000000000000000000000000000000000000000000000000050b10151b1f21252a2d2f3c4855626f7c8686868686796d6053473a2d2c2924201d18120c0700000000000000000000000000000915222f3c4855626f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c6f6255483c2f2215090000000613202c3945515d67707d8a929ca5aea9a197928a817c76726e69696765646463636464656669696e72767c828a9298a2aaa8a0958e81746b6054483c31261a0e02000000030d161f262d32353639393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393635322d261f160d0300000000040d161d24292c2d38393939392f2e2b2620181006000000000000000000131f2c3946525f6c7985929facada093877a6d606060606060606060606060606060605b6060616265666d71787f879299a3afa99f948b7f72675c5145382c1f130700000000000e1b2734414e5a6774818d9aa7ada093867a6d6053473a2d2014070000000000000814212e3b4754616e7a8794a1ada79a8d8174675a4e4134271b0e000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d0100081724303d4a5763707d8a96a3b0a5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000000000916222f3c4955626f7c8895a2afaa9e9184776b5e5144382b1e11000000000000040d18242f39434e58606d79839099a39e938a7e71685e52463e333a4653606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6868686868686868686868686868686868686868686868686868686868686864615a5045392d21140800000815212e3b4854616e7b879aa4afa99c90837669545d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d55534d453b31261a0e020006131f2c3845515d677884919eaba99d9083766a554b4035291d110400000000061a2633404d596673808c99a6aea295887b6f6255483c2f221509000713202d3946525e687885929fabac9f9285796c605346392d201306000000000714212d3a46535e697985929facac9f9285796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000306060f131313131313131311070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c252e353b3e40464646464646464641403c362f261d1308000000000000000000000000000000000000000000000000000000000000000000040a0f12151a1e212e3a47535f6a76797979797976675c5145382c201d1813100d0701000000000000000000000000000000111e2a3744515d6a77848989898989898989898989898989898989898989898989898989898989898989898989898989898983766a5d5043372a1d10000004101d2935404b55606d7984919ea4aeaaa19791857e756f6a65615f575a58575756565757585a565e61656a6f757e869298a2aea89e93897c6f63574d42372b1e12050000000a151f2831383e4243464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464643423e3831281f150a000000010c161f282f35393a45464646463c3b37322a22180e040000000000000000131f2c3946525f6c7985929facada093877a6d6054535353535353535353535353534a5053545456545c60666d737e87929fa7b0a69e9185796d6053463a2f24180d01000000000e1a2734414d5a6774808d9aa7ada093877a6d6054473a2d2114070000000000000815212e3b4854616e7b8794a1aea79a8d8074675a4d4134271a0e000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d0100091623303c4956636f7c8996a2afa5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000000000916222f3c4955626f7c8895a2afab9e9184786b5e5145382b1e120000000000000007121d27313d45515c666f7c87929fa59e92857a6e615a50453b3a4653606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b7575757575757575757575757575757575757575757575757575757575757575716c6155493c3023170a00000916232f3c4956626f7c8995acb6a89c8f82756a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a615f574d42362a1e1205000714202d3a4753606d7a86939faca89c8f8275695c4f422f24180d01000000000d1a2733404d5a6673808d99a6afa295887c6f6255493c2f221609000714212e3a4754616d7a8798a2aeaa9d918477665b5044382b1f12060000000005121e2a36424d576a7784919daaaea298877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c232a2f323339393939393939393433302b251d140b0100000000000000000000000000000000000000000000000000000000000000000000000306090e121f2b37434e585f626c6c6c6c6c6c5c554b4034291c110d0704010000000000000000000000000000000000111e2a3744515d6a77849095959595959595959595959595959595959595959595959595959595959595959595959595959083766a5d5043372a1d10000006131f2c3945515d67737f8c96a1adaea29891857b716c625f5855534d4d4c4b4a4a4a4a4b4b4d4d5254585f626c707c86929fa7afa59c8f8276695f53463a2d211407000005101c26313a42494e505353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353504e49423a31261c1005000007131d28313a40454752535353534847433c342a20150a0000000000000000131f2c3946525f6c7985929facada093877a6d6054474646464646464646464646463f44464748494b51545c606c727e8b959fabada1978b7e7165554b4135291d1104000000000d1a2733404d5a6673808d99a6ada194877a6e6154473b2e2114080000000000000815222f3b4855626e7b8895a1aea6998d8073665a4d4033271a0d000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222f3b4855626e7b8895a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000000000916232f3c4956626f7c8995a2afaa9d9183776a5e5144372b1e1100000000000000010b151f2834404b545f6a737f8c959fa1978f82756c62574d423a4653606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabb5a89b8f8281818181818181818181818181818181818181818181818181818181818181817e7164574a3e3124170b00000a1623303d495663707c8996a3afa89b8e8177777777777777777777777777777777777777777777777777777777777777776e695f53463a2d211407000915222f3c4855626f7b889aa4afa89b8e8275685b4f422d22170b00000000000e1b2834414e5b6774818e9aa7b4ab95887b6e6255483b2f221508000915222f3c4855626f7b8895aab4a99c8f837669544a3f33281c0f0300000000020e1a2531434f5c6976828f9ca9b4aa95887b6f6255483c2f2215090000000000000000000000000000000000000000000000000000000000030607090b0d0f1111121313121211100f0d0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a12191e2325262d2d2d2d2d2d2d2d272724201a130b02000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313c464e535560606060605f514b43392f23180c010000000000000000000000000000000000000000111e2a3744515d6a7784909da2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a29d9083766a5d5043372a1d1000000714202d3a4753606d7985929ea8b1a79f92867c6f69615a534e484642413f3e3d3d3d3d3e3f404246474e535a616a717e8b959fabac9f93877b6e6155483b2e22150800000a16212d38424c545a5c60606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605c5a544c42382d21160a00010d18242f3a434b51535e6060606055534e463c32261b0f0400000000000000131f2c3946525f6c7985929facada093877a6d6054473a393939393939393939392d3338393a3b3c40454a505a606c7883909da9b3a99d908376675d5145392c201306000000000c1926333f4c5966727f8c99a5aea195887b6e6255483b2f2215080000000000000916222f3c4955626f7c8895a2afa5988c7f7265594c3f3226190c000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000000000a1623303d495663707c8996a3afaa9d9083776a5d5044372a1d110000000000000000030d18232e39424e58606d78839098a39e948b7e71695e52463f4653606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabb7aa9e938f8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8c807366594d4033261a0d00000a1724303d4a5763707d8a96a3b0ab9e928583838383838383838383838383838383838383838383838383838383838383837b6e6155483b2e221508000a1724303d4a5763707d8a96acb6a89c8f827569544a3f33281c0f0300000004111d2935414c566875828e9ba8aea399877a6e6154473b2e211408000a1723303d4a5663707d8996a3b0a89b8e8275685b4f422d22170b000000000000091c2835424f5b6875828e9ba8b0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000104060b10121315171a1c1d1e1f1f201f1f1e1d1b19171514120e09060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d1216191920202020202020201b1a18140f080100000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c43474853535353535345403931271d1207000000000000000000000000000000000000000000111e2a3744515d6a7784909d9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9d9083766a5d5043372a1d100004101c2834404b5464717e8a97a2acaca0958b7e726a5f575047433c3a3631323131303031313230363a3c43475058616c7683909da9afa49a8c7f7265594c3f3226190700000d1926323e49545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69665e54493e3226190d0004111d2935404b555d606b6c6c6c6c625f584e43372b20150a00000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2d2d2d2d2d2d2d2d2d22282b2d2d2e2e34383f44505b65707d8997a2adac9f92867a6d6054473a2d211407000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f2316090000000000000a1623303d495663707c8996a3afa4988b7e7165584b3e3225180b000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000000000b1824313e4b5764717e8a97a4b1a99c8f8276695c504336291d1000000000000000000007121d27303c44505c666f7c86929fa69f92857b6e615b51454653606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabb7afa59e9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b998c807366594d4033261a0d00000a1724313d4a5764707d8a97a3b0ada1979290909090909090909090909090909090909090909090909090909090909090887b6e6255483b2f221508000b1825313e4b5864717e8b97a4b1a99d908376665b5044382b1f130a0603060a13202c3945525d687784919daaac9f9286796c605346392d201306000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b060000000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000001070d1113171c1f20222426292a2b2b2c2c2c2b2b2a28262422211e1a1312100c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002060a0c0d13131313131313130e0d0b080300000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18222a31373a3c46464646464638342f271f150b01000000000000000000000000000000000000000000111e2a3744515d6a77839093939393939393939393939393939393939393939393939393939393939393939393939393939083766a5d5043372a1d100006131f2c3845515c6675828f9a9c9fa29d9083786d60584e453e37322d2a262524242323242425252a2d32373e46505a64717e8b97aab3ac9c8f8275695c4f422f24180c00000f1c2935424e5a66707679797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797670665a4e4235291c0f000613202c3945515d676d78797979796f6a5f53473d32271b0f00000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d212020202020202020171c1f20212123282e343f4953606d7985929eabafa3998a7d7063574a3d3024170a000000000b1724313e4a5764717d8a97a4b0a3968a7d7063574a3d3024170a0000000000000b1724313e4a5764717d8a97a4b0a3978a7d7064574a3d3124170a000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000000000c1926333f4c5966727f8c99a5b2a79b8e8174685b4e4135281b0e000000000000000000000b151e28343f4a545f6a727f8c949fa2978f82766d62574d4653606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabb7b8afaaa8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a6998c807366594d4033261a0d00000a1724313d4a5764707d8a97a3b0b3a9a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d94887b6e6155483b2e221508000c1926323f4c5965727f8c98a5b2ab9e9285796c6053463a30241b14121012141c26303a4754606d7a86939facaa9d918477655b5044372b1f1205000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000003090e13181d2023282b2d2f3133353737383939393837373533312e2d2a26201f1c17110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f3939393939392c29231d150d0300000000000000000000000000000000000000000000111e2a3744515d6a77838686868686868686868686868686868686868686868686868686868686868686868686868686868683766a5d5043372a1d10000713202d3a4653606d79868b8d909298988a7e71665c50463c332b26211e1a1918171717171818191e20262b343e4754616e7b8798a2aeaa9e9184776b554b4035291d100400101d293643505c69768386868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868276695c504336291d10000714202d3a4753606d7a85868686877c6f62584e43372b1d1207000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114131313131313130b0f12131415181c232d3844505c6675828e9ba8b5ab998c7f7266594c3f3326190c000000000916232f3c4956626f7c8995aab4a4978b7e7164584b3e3125180b0000000000000c1925323f4c5865727f8b98a5b4aa95887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000000000000000004101c2934404b556774818e9aa7b3a6998c807366594d4033261a0d00000000000000000000030c17232e38424e58606c78839098a29f948b7f72695f544a53606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabb7b1a9a3a19f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f998c807366594d4033261a0d00000a1723303d4a5663707d8996a3b0b8b0aba99f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa9aaaaaaaaaa94877a6e6154473b2e211408000d1a2733404d5a6673808d99a6b3ada297887c6f62564c41352d26201f1c1f20262e38424e5864707d8a9aa4afa89b8e81756853493f33271b0f03000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e0100000000010e1a2734414d5a6774808d9aa7b1a4978b7e7164584b3e3125180b00000000000000000000000000000000000000040a0f151a1d24292c2e34383a3c3e404244444546464545444342403d3b3a36312d2c28231c19130d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090c0e1011121313131211100f0d0b0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151b1f21222d2d2d2d2d2d1f1c18120b030000000000000000000000000000000000000000000000101d2936424f5b677177797979797979797979797979797979797979797979797979797979797979797979797979797979797671665b4e4236291c10000613202d394653606c777c7e808385888b867a6d60544a3f342a211b15120e090b0a0a0a0a0b090e11151b222d3a46525e697885929fabac9f928679675d5145392c1f130600101d293643505c6976838f9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938f8276695c504336291d10000613202c3945515d67717e8b959a8f82756a605447392e23180c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070606060606000003060607070c111b28343f4a546673808d99a6b3a69a8d8073675a4d4034271a0d010000000814212e3b4754616e7a8798a3aea6998c7f7366594c40332619090000000000000d1a2733404d5a6673808d99a6aea298877a6d6154473a2e211407000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000000000000000006131f2c3845515c677783909daab4aa988b7e7165584b3e3225180b000000000000000000000006111c26303c44505b666e7b86929fa69f92867b6e665b5053606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabb7a99f9894939393939393939393939393939393939393939393939393939393939393938c807366594d4033261a0d0000091623303c4956636f7c8996a2afb0a69f9c9393939393939393939393939393939393939393939393939c9ea6b0aea398877a6d6054473a2d211407000e1a2734414d5a6774808d9aa7b3b3a9998c8073685d52463f382f2d2b282b2d30383f4a545f6a76828f9cacb0a6988b7e7265584b3f2d22170b00000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b000000000000000000000000000000000000070c151b20262b2f35393a3f4446484a4d4f5051525253525251504e4c4a4846423d3a38342e29251e19140d050000000000000000000000000000000000000000000000000000000000000000000000000004070c10121316191b1d1e1f1f201f1f1e1d1b19171414110e0806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12151520202020202013100c07010000000000000000000000000000000000000000000000000e1a27333f4a555f676a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a665f554a3e32261a0d0005121f2b3744505b656c6f717476797b7e7e71675d5142382e22180f0a0502000000000000000002050b111e2a36424d566b7884919eabafa399867a6d6053473a2d20140700101d293643505c6976838f918b86868686868686868686868686868686868686868686868686868686868686868686868686868686868686868b918f8376695c504336291d100004111d2935404b55606d7883909d94897c6f62544b4034281c10040000000000131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000000000000000b17232e3f4c5965727f8c98a5b2a79a8e8174675b4e4134281b0e010000000613202d394653606c7985929faca79b8e8174685b4e4131261a0e020000000003101c28343f4a546875828e9ba8ac9f928579685e5246392d201307000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d21140700000000000000000000000000000714202d3a4753606d7986929facaea298887c6f6255493c2f2216090000000000000000000000000a151e28333f4a545f69727f8b949fa2989082786c605753606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabb7a3988d888686868686868686868686868686868686868686868686868686868686868686807366594d4033261a0d00000815222f3b4855626e7b8895a9b3ab9f948f8686868686868686868686868686868686868686868686868f949eaaac9f928579675d5145392c201306000e1b2734414e5a6774818d9aa7b4b8ab9f92857a6d615b5049413c393834383a3d424a505c666e7c87939facab9f94877b6e6154483b2e21150600000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b0e0100000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a00000000000000000000000000000000030b121820262b31373a4145474a50535557595c5d5e5e5f5f5f5e5e5d5b595755534d4946443f3835302a251e170e0802000000000000000000000000000000000000000000000000000000000000000001070c1013181c1f20232527292b2b2c2d2c2c2b2a28262421201e1915120f0a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306080913131313131306040000000000000000000000000000000000000000000000000000000a16222e39434d555b5d606060606060606060606060606060606060606060606060606060606060606060606060606060605d5b554d43382d22160a00030f1b27333f49535b60626467666c6e71716c62554b4030261c100600000000000000010507090e12161c222c3845515c677885919eabaea399877a6d6054473a2d21140700101d293643505c6976838f8b7f79797979797979797979797979797979797979797979797979797979797979797979797979797979797979797f8b8f8376695c504336291d1000010d18242f3a44505c66717e8a979a8e8174665c5145382c1f13060000000000131f2c3946525f6c7985929facada093877a6d6054473a2d21140700000000000000000000000104091925323f4c5865727f8b98a5b2a89b8e8175685b4e4235281b0f0200000005121f2b3744505b657783909daaa99c90837669574d42362a1e12050000000006121f2c3844505c667783909daaa99d9083766a564c4135291d1105000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000007101d2935404b5563707d8a99a3aeac9f9285796d6053463a2d201307000000000000000000000000030c17222d38424d57606c77828f98a29f948c7f726a5f54606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b7979797979797979797979797979797979797979797979797979797979797979736e63574b3f3226190c00000714212d3a4754606d7a8797a2ada99c8f82797979797979797979797979797979797979797979797979828f9ca9ab9e9184786b554b4135291d1104000e1b2834414e5b6774818e9aa7b4b3ada2988d81746d605b534e4846443f4446484e545c606d7883909aa4afa79c8f8376695e52463a2d20140700000a1723303d4a5663707d8996a3b0a89b8e8175685b4e4235281b090000000000020f1b2835424e5b6875818e9ba8b0a3968a7d7063574a3d3024170a000000000000000000000000000000070c151d232831373c42474b5154545c60626466686a6a6b6c6c6c6b6a6a686664615f575653504a46413a3630292019130d05000000000000000000000000000000000000000000000000000000000003090e12181d1f23282c2d3032343638383939393838373533312e2d2a25211f1b150f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c27313b434a4f5153535353535353535353535353535353535353535353535353535353535353535353535353535353504e4a433a31271c110500000b17222d38414950535558545b60626465625a50433a2f1e140a00000000020507080d1113141a1e21272c343c4653606d7986929facac9f928679675d5145392c20130600101d293643505c6976838f8b7f726c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c727f8b8f8376695c504336291d10000007131d28343f4a54606d7985929e9285796d6053463a2d2013070000000000131f2c3946525f6c7985929facada093877a6d6054473a2d21140c0c0c0c0c0c0c0c0c0c0c070d10151c28333f4a546673808c99a6b3a79a8e8174675b4e4134281b0e01000000030f1b27333f49536874818e9ba7ab9f928578695f53463a2d211407000000000713202d3a4653606d7986929faca79a8e8174675b4e413025190d01000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000000000000050e19222c3945515d6774818e9aabb4a99c908376665c5044382c1f12060000000000000000000000000006111c262f3c44505b656e7b86929fa69f92867b6e665c606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c66635c52473b2f23170a00000613202c3945515d677885929eabaa9d9184776c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c667784919eaaa99c8f8376695c50432f24180d01000e1b2834414e5b6774818e9aa7b3a9a19e9e928b7f726c655f585553504a5053555860666d74808d959facaba0958a7d7164574d42362a1e120500000916222f3c4955626f7c8895aab4a99c8f8276695c4f4330251a0e0200000000030f1c2936424f5c6975828f9ca8b5ab95897c6f6256493c2f23160900000000000000000000000000000810191e272e343c43474d53555d6064666d6f7173757777787979787877767573706e696763605c54524c46413b322a251e170e06000000000000000000000000000000000000000000000000000001070c141a1d24292c2e34383a3c3f4143444546464645444342403e3b3936302e2b261f1c17110a020000000000000000000000000000000000000000000000000000000000000000000000000000040607090c0e1011121313131211100f0d0b0807050200000000000000000000000000000000000000000000000000000b151f2931393f42444646464646464646464646464646464646464646464646464646464646464646464646464646464643423e3831281f150a00000006111b262f383f4446484b4a50535558585650483f31281d0c02030506090e121415191d2021262b2d33383e464e58636f7c8999a3afab9e9185786b554b4135291d110400101d293643505c6976838f8b7f72656060606060606060606060606060606060606060606060606060606060606060606060606060606065727f8b8f8376695c504336291d100000010b17232e3845515c6673808d99978a7d7063574a3d302417070000000000131f2c3946525f6c7985929facada093877a6d6054473a2d211919191919191919191919191a181d20262b3844505b6674818e9ba7b3a6998d8073665a4d4033271a0d00000000000b17222d3f4c5965727f8c98aaada297887b6e6155483b2e23180c000000000915222f3c4855626f7b8898a3aea9988b7e7265584b3f3225180800000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000060e17202935404b55606d7985929fabb1a7988c7f7265544a3f34281c100300000000000000000000000000000a141d27333f49535e69717e8b949ea3989083786d60606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e616060606060606060606060606060606060606060606060606060606060605957524a40352a1f1307000004111d2935414c55697683909ca9ab9f928578695f606060606060606060606060606060606060606d7986929faca79a8d8174675a4e4134271b0700000e1b2734414e5a6774818d9aa7ada19792919692877f776f6a6562605b545c6062656a6f78808d929ca7afa4999083786c6053463b30251a0e0200000814212e3b4754616e7b8798a3aeaa9d9084776a574d42362a1e12050000000005111d2935414c566a7783909daaafa399877b6e6154483b2e2115080000000000000000000000000009111a222a303940454e53575f62676d7175797b7d8082838485858685858483817f7d7b7874706d66615e56524c443e36302920180f07000000000000000000000000000000000000000000000000030b12181f252a2f35393a404446494c4e5051525253525251504e4c4a4746413c3a37312b28221c140b070000000000000000000000000000000000000000000000000000000000000000000004070c10121316191b1d1e1f1f201f1f1e1d1b19171414110e0806030000000000000000000000000000000000000000000000040d171f272e333637393939393939393939393939393939393939393939393939393939393939393939393939393939393736322d271f160d03000000000a141d262d3337393c3e3f4446484b4b4a453f362d1f160c0b0f1213151a1e2121252a2d2e31373a3d44485058606a74818e9babb5a99d9083766a5d50432f24180d0100101d293643505c6976838f8b7f72655853535353535353535353535353535353535353535353535353535353535353535353535353535865727f8b8f8376695c504336291d1000000006111c2834404b54626f7c88979a8d8073675a4d402e23180c0000000000131f2c3946525f6c7985929facada093877a6d6054473a2d252525252525252525252525262624292c31373f4a54606c7985919eabb3a9988b7e7165584b3e3225180b00000000000616232f3c4956626f7c8998a2aea9978b7e7164544b4034281c1004000004101d2935404b5565727e8b98aaada197887c6f6255483c2f22150900000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000000030a0f182029323b45515d67727e8b97a2adab9f95887b6e6155483b2e23170c000000000000000000000000000000020b17222d38414d57626c75828f97a29f958c7f736a606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e615553535353535353535353535353535353535353535353535353535353534d4b4740382e24190e020000010d19242f414d5a6774808d9aabaea298887b6e61555353535353535353535353535353535355626f7c8899a3afa9988b7e7265584b3f3225180c00000e1a2734414d5a6774808d9aa7ab9e9285849199928c827c76726e6c666b666d6e72767c828d929ca4aea69f93877c6f655b504437291f14090000000713202d3a4653606d7986929facab9f928578695e52463a2d201407000000000713202d3946525d687885929eabac9f9286796d6053463a2d20130700000000000000000000000009121b232c343c424b51585f62696e747a7d8185888a8c8f9091919292929191908e8c8a8884807d79736d68615e565046413a322a2119100700000000000000000000000000000000000000000000060d151d24293136394045474a515356585a5c5e5e5f605f5f5e5d5b595754524c4847433c38332d261d18120b03000000000000000000000000000000000000000000000000000000000001070c1013181c1f20232527292b2b2c2d2c2c2b2a28262421201e1915120f0a0300000000000000000000000000000000000000000000050d151c2227292a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2926221c150d040000000000020b141b22272b2d2f2d3338393b3e3e3d3a342d241b1114171b1f2022252a2d2e3036393a3d4246484f545a616a6f7c87939facb2a8998d8073665a4d4033271a070000101d293643505c6976838f8b7f7265584c4646464646464646464646464646464646464646464646464646464646464646464646464c5865727f8b8f8376695c504336291d10000000000c18232e394653606c7985929c90837669544b4034281c100400000000131f2c3946525f6c7985929facada093877a6d6054473a3232323232323232323232323232332f35393c4347505b66707d8997a1adada297887c6f6255493c2f22160900000000000713202d3a4653606d7985929faba79b8e8174665c5145382c1f160c06060c141f2c3845515d6775828e9ba8ab9e9285786c605346392d20130600000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d21140700000000000205060b0f151a212a323b444e58606d7984919ea9b2a89d908376695f53463a2d1c11060000000000000000000000000000000006111b262f3b45505a616e7b85929fa59f92877c6f666d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e61554846464646464646464646464646464646464646464646464646464646403f3b352e261c120700000000081724313e4a5764717d8a99a3afaa988b7e7165574d42464646464646464646464646424d5765727f8c98abada297887b6f6255483c2f22150900000d1a2734404d5a6773808d9aa6ab9e92857d89929f948f88827e7b79787778797b7f828990949da4aea69e938d80736b6053493f3327170d0300000006121f2b3844505c667784909daaaea298877b6e6154483b2e21150a000000000714212e3a4754616d7a8797a1adaa9e918477665c5145382c1f1306000000000000000000000009121b242d353e464e545c606a6f757b81868a8e929797999b9d9d9e9f9f9f9e9d9d9b999796918d8985807a746e68615a524c443c332b2219100700000000000000000000000000000000000000000910181f272f353b42464b5153545c60636567696b6b6c6c6c6b6b6a686664615e5655534e46443f382f28231d150c05000000000000000000000000000000000000000000000000000003090e12181d1f23282c2d3032343638383939393838373533312e2d2a25211f1b150f0b06000000000000000000000000000000000000000000040b11161a1d1e202020202020202020202020202020202020202020202020202020202020202020202020202020201d1c1a16110a0300000000000000020a11171b1f202222282b2d2f3132312e29221b191e2022272b2d2f31363a3b3e4146474a4d53555960636c717c859199a4afaca096897d706356493d3023160a0000101d293643505c6976838f8b7f7265584c3f393939393939393939393939393939393939393939393939393939393939393939393f4c5865727f8b8f8376695c504336291d1000000915202b353f4744505b6575828f9b918578665c5145382c1f130600000000131f2c3946525f6c7985929facada093877a6d6054473f3f3f3f3f3f3f3f3f3f3f3f3f3f3f40414045474e535b606c7883909da9b3ac9e9285796c605346392d201306000000000006121f2b3844505c6675828f9caaab9e9285796d6053463d31281e171515171e28313a4753606d7985929facaa9b8e8175655b5044372b1f120500000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d21140c0c0c0c0d090e1114171b1f262b333b444c56606a73808c96a1adada1968a7e7164574d42362a1e0a0000000000000000000000000000000000000a141d29333f46525e69717e8a939ea3999083796d6d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6155483b39393939393939393939393939393939393939393939393939393933322f2a241c130a00000000000714212e3a4754616d7a86929faca89b8e8275695e53463d313939393939393939303946525e6976828f9ca9ab9e9285786c605346392d20130600000d192633404c5966737f8c99a6ab9f928578808d939f9c948f8b888685848586888b8f949c9fa6aca49d948f81786c60594f41382d2217050000000003101c28343f4a546875818e9ba8b3aa978a7d7064574a3d32271b0d04000001081623303d495663707c8996a9b3a89c8f827569544b4034281c10040000000000000000000007101b242d363e474f585f666d737c82878e92989b9ea2a9a6a8aaa8a7a6a6a6a7a8a9a8a6a8a19e9a97928c86807a716c615e564d453c342b22190e0500000000000000000000000000000000000009121b222a313940454d53555d6065666d6f72747677787979797877767573716e6867625f5853504a423d342e271e170e05000000000000000000000000000000000000000000000001070c141a1d24292c2e34383a3c3f4143444546464645444342403e3b3936302e2b261f1c17110a0200000000000000000000000000000000000000060e151b1f21222323232323232323232323232323232323232323232323232323232323232323232323232323232322211f1a150e06000000000000000000060b0f121315171c1f2022252524211d1d20252a2d2d3337393c3f4246484b4c525457575f61656b70767e859197a1abb1a79d9184786c605346392d2013060000101d293643505c6976838f8b7f7265584c3f322d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d323f4c5865727f8b8f8376695c504336291d1000010e1a26313d4751595e5f6673808c999786796d6053463a2d20130700000000131f2c3946525f6c7985929facada093877a6d60544c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4d4d4b5153585f626d737f8c959fabafa49a8d8174665b5044382b1f1206000000000003101c28343f4a5464717e8b98a3ada2978a7d7064594f433a30282322222227303a434f5964717e8a98a2aea2988a7d706453493f33271b0f0300000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d211919191919191a191e2022272b31373e454d565e686f7c87929fa8b1a79e9184786d6053463b31261a0e000000000000000000000000000000000000020b17212a36424d56616c75818f97a1a0958c80736d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6155483b2e2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2626231f19120a0100000000000713202d3946525d6876828f9ca9ac9f92867b6e61584e433b322c292424292c3139424d57616e7b86929faca89b8e8174655b5044372b1f120500000c1825323f4b5865727e8b98a5ac9f92867977818c939a9f9c989993929192939a989c9fa6aba8a09d928d82796d665b50463d2f261b110600000000000b17232e3f4b5865727e8b98a8b2a69a8d807367584e43372b1f15100c090e131e2a36414c5666727f8c99a5b3aa998c7f7366594c402e23180c00000000000000000000050e19222d363e485059616a6f7980878f93999fa3aaabaaaaa29f9d9b9a9a999a9a9b9d9fa2aaa9aba9a19e98928d857e756d685f574e463c342a20170c030000000000000000000000000000000009121b242c343c434b51575e61676d7175797c7f81838485858685858483817f7d7a77736f6a64605b544f454039302920170f05000000000000000000000000000000000000000000030b12181f252a2f35393a404446494c4e5051525253525251504e4c4a4746413c3a37312b28221c140b07000000000000000000000000000000000006101820262b2e2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2e2b262018100600000000000000000000030506060b0f12131518181b1e25292d3036393b3f4446484b4d535457565e616467696e72777d828a9297a1a9b3aa9f958b7e71665b5044382b1f12060000101d293643505c6976838f8b7f7265584c3f322520202020202020202020202020202020202020202020202020202020202025323f4c5865727f8b8f8376695c504336291d100004111d2a36424e59636a6c6c727f8b9894877a6e6154473b2e21140800000000131f2c3946525f6c7985929facada093877a6d605858585858585858585858585858585859595a555d60646a6e767f8c919ca7b1a99f93877c6f62544a3f33281c0f030000000000000b17232e3a4754606d7a86929faca99c9083766b60554b423a342e2f2e2d333a424b55616b7683909daaab9f9285796d6053473a2d22170b0000000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2525252525262627252a2d2d33373c434750575f686e7a849199a3afaa9f958b7e71665c504438291f140900000000000000000000000000000000000000050f1925303b44505a616d7a85929ea59f92877c6f798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6155483b2e22202020202020202020202020202020202020202020202020201a1917130e070000000000000005111d2935414c5664717e8b96a1ada3998d80746a60564d443e39352f2f35383c434b545e6973808d99a3aca096897d706353493f33271b0f0300000b1824313e4b5764717e8a97a4aea399867a6d74808891969d9fa49f9e9e9e9fa4aca9a7a79f9d95918980786d675c544a3f342b1d140a0000000000000615222f3c4855626f7b8896a0acaa9d9184776a6054473c31271f1c181b1a1e242d3946525e6876838f9ca9aea298897c706356493d30231607000000000000000000020d17202b343e48505a616b707c838c92999fa4abaca7a09d999892908f8d8d8d8d8d8f909298989c9fa4abaaa29f97928a827a6e6960584e463c32291e150b00000000000000000000000000000008121b242d363e464e555d60696e74797e8285898b8d8f91919293929291908e8c8a8784807c76716c666059514b433b332921170e0500000000000000000000000000000000000000060d151d24293136394045474a515356585a5c5e5e5f605f5f5e5d5b595754524c4847433c38332d261d18120b030000000000000000000000000000040e18222a31373a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3a37312a22180e03000000000000000000000000000003060b141a20262b3035393b4146474950535558575e616467686d7074777b7f84898f949fa2a9b2aaa2989083786d60544a3f33281c0f030000101d293643505c6976838f8b7f7265584c3f322519131313131313131313131313131313131313131313131313131313131925323f4c5865727f8b8f8376695c504336291d100006121f2c3845525e6a757979797e8a9795887b6e6255483b2f22150800000000131f2c3946525f6c7985929facada093877a6d656565656565656565656565656565656565666768676d71757b828c919ca4adaba2978e81756a5f5342382d22170b000000000000000613202c3945515d6775818e9ba6ab9f94897d70675d544c443f3c3b3b3c3f444b545d67707d89959faba4998d8174675c5145382c1b11060000000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a32323232323232333430363a3b3f44464e535a61696e7a839096a1abaea3989083786c60544a3f34281c1003000000000000000000000000000000000000000009141f29323e46525e68707e8a939ea399908378798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6155483b2e22151313131313131313131313131313131313131313131313130d0c0a07020000000000000000010d1924303a4653606d7984919ea7ab9f92877c6f685e564f47454141414045474e555c666e7b86929faba89e9184786c605346392d22170b0000000a1623303d495663707c8996abb5ab94877b6e6e737d848a9095989b9d9e9f9f9f9e9c9a9895908a847d736d665c554b42382d22190b020000000000000815212e3a47535f6a7784919eabaca095887c6f62584e4339312c282327262b2f35414c56616d7a86929facab9f9285796d6053463a2d20130700000000000000000009141f29323d46505a626c717d8690959fa3ababa49f9b95908c898584828180808081828385888b8f93999fa2aaa9a19e938f847b6f6a60584e443b30271d12070000000000000000000000000006101a242d363f4850585f676d737b80858b8f9298989a9c9e9e9f9f9f9e9e9d9b999795908d88837e786f6b605c554d453b332920170c0300000000000000000000000000000000000910181f272f353b42464b5153545c60636567696b6b6c6c6c6b6b6a686664615e5655534e46443f382f28231d150c05000000000000000000000000000a15202a343c434748494949494949494949494949494949494949494949494949494949494949494949494949494949494847433c342a20150a00000000000000000000000000020a11171f262a32373a4146474c5254535b60626568696e7174777a7d8084888c91959c9fa6adafa9a19892867b6e665c5142382d22170b000000101d293643505c6976838f8b7f7265584c3f3225190c06060606060606060606060606060606060606060606060606060c1925323f4c5865727f8b8f8376695c504336291d10000613202c3946535f6c798786868a909a95887b6f6255483c2f22150900000000131f2c3946525f6c7985929facada093877a72727272727272727272727272727272727272737475777a7d82878f949ca3adaba39992857b6e61584e432f261c11060000000000000004111d2935414c55626f7c88949faba69e9184796d665d56504a494848494950555d666d7984919ea7aa9f93877b6e61554b4034291c0a000000000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473f3f3f3f3f3f3f3f404042424647495053585f626c717b839095a0a8afa59f92867c6f655b5042382e23170c000000000000000000000000000000000000000000020d17202a36414c56616c75818e96a1a0958b7e788693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6155483b2e2215080606060606060606060606060606060606060606060606000000000000000000000000000008131f2c3845515c67727f8b95a0aba39991847a6e68615954514c4e4e4b5153575f676d78839098a2aca0968b7f72665b5044382b1b11060000000815222e3b4855616e7b8899a3afa295897c6f626b6f797e83888b8e909192929291908e8b87837e78706b605c544b43392f261c10070000000000000006121f2b37434e586673808d99a3afa89b8e81756a5f554b433c38342e3431373a4145525d68737f8c99a3afa79b8e8175675c5145382c1f13060000000000000000030d1925303b444e58626c717e879298a0a7afa79f99938e88837f7c79777574737373747577797c7f83878d92989ea5ada59e9691857c6f6a5f564c42392e23180c030000000000000000000000030c18222c363f48505a616a6f7980868d92979c9fa2aaa7a9a8a7a6a6a6a7a8a9a8a6a7a09d9a94908a837c746d675e574d453b32291e150a0000000000000000000000000000000009121b222a313940454d53555d6065666d6f72747677787979797877767573716e6867625f5853504a423d342e271e170e050000000000000000000000030f1b26313c464e53555656565656565656565656565656565656565656565656565656565656565656565656565656565655534e463c31261a0f030000000000000000000000040b141c222831363c43474c5254565e6164656c6f7275787b7e8184868a8d9196989da0a8abb0aba59e9791867d6f695f544a402f261c1106000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000613202c3946535f6c79869293979aa295887c6f6255493c2f22160900000000131f2c3946525f6c7985929facb2a5988c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f80808284868a8f92999fa6adaaa29992877d70695e52463c321d140a0000000000000000010d19242f3a47535f6a76828f99a3aca0968f82786d68605c5456555555535b60676d78818f96a0aca2988e8175695f5343392f23180c000000000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d60544c4c4c4c4c4c4c4c4c4c4d4e4d5254535b60636a6e757e859195a0a7afa59d938b7f726a5f53493f30261c110600000000000000000000000000000000000000000000050e1925303a44505a606d7a84919ea59e91847a8793a0ada194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b55606d78839099a3aba09690837a706b64605d555b5b555d60636a6e79818e959faaa49a9184796d60544a3f33281c0a000000000713202d3a4653606d7986929faca4978a7d716460666d71777b7f8183858586858483817e7b76716d666059504a423930271d140a0000000000000000030f1a26313c4854616e7b87929faaac9f92877c6f675d554e46454041414142474c515b606d7a85929eabaca095897d7063554b4034281c100400000000000000010b151f2a36424d56606a717e889299a2aaafa49c959087817c77726f6d6668676766676768666c6f72767b80868e939fa3aaa8a09792867c6f685e544b40342820150900000000000000000000000b151e2a343e48505a626c717c848c92989fa2a9aca8a8a09e9c9a9a999a9a9b9d9fa3ababaaa69f9c95908781796e695e574d443b30261c1106000000000000000000000000000009121b242c343c434b51575e61676d7175797c7f81838485858685858483817f7d7a77736f6a64605b544f454039302920170f050000000000000000000006121f2b37434e585f6262626262626262626262626262626262626262626262626262626262626262626262626262626262625f584e43372b1f120600000000000000000000040d161d262d333b42464e53565e6165686e7175787c7e8184878a8e91939a9a9da0a8aaacaeaca69f9c938e857c6f6b60574d42392e1d140a00000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000613202c3946535f6c7986929fa4a6a295887c6f6255493c2f22160900000000131f2c3946525f6c7985929facb8a79c918c8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8c8c8d8e9193999c9fa3abaca69f9892877e716b61564d42342a200b0200000000000000000008131e2b37434e58626e7c87929fa7a89e948f827a716d66646262616264656c7079818f939ea8a69f92867b6e61574d4231271d1207000000000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6058585858585858585859595a5b565e6164656c70757c828a9297a0a8afa59e938e81746d62584e41382d1e150a00000000000000000000000000000000000000000000000008131e29323e45525d68707d8a939da1978c808c99a6aea194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6155483b2e22150801010101010101010101010101010101010101010101010100000000000000000000000000000c18232e3944515c666f7c87929fa4a8a09590847d76716d6769676869676d70757b838e939ea7a59f93887d70665c5142382d22170b0000000006121f2c3844505c667784919eaaa5998c7f7266545c6064696e72747778797979787674716e6964605c544f443f3830271e150b020000000000000000000a15212d3a46535e6975818e98a3aea3999083796d675f5853514b4e4e4e4d53555d606d74818e97a1ada69d9083776b605443392e23180c000000000000000007121d27313946525e696f7c86929aa3ababa39f928d837c756f6a6662605c545a5a5a5a5a545b606265696e747b818a9298a2a9a9a19891847a6e665c51453c31261a0e0500000000000000000007121d27303c46505a626c717e8691969fa2aaaba39f9b9796918f8e8d8d8d8d8f9092999a9ea1a9aba79f9a938d837b6e695e564c42382e23170c0400000000000000000000000008121b242d363e464e555d60696e74797e8285898b8d8f91919293929291908e8c8a8784807c76716c666059514b433b332921170e050000000000000000000815212e3a47535f6a6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6a5f53473a2e211508000000000000000000030c161f282f383f444d53585f62686d72767a7e8185888b8e9196979a9d9fa4acaaacafacaba39f9b948f89817a6f6a60594f453b30271c0b0200000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000613202c3946535f6c7986929facafa295887c6f6255493c2f22160900000000131f2c3946525f6c7985929facb8ada39c9898989898989898989898989898989898989898999a9b9d9fa4abacaba7a09d9490867e716c62594f443b3022180e00000000000000000000010f1b26323c47535f6a73808d959fa8a69e948f847e7974716f6e6e6f7173787d848f939ea5a79f948c7f72695e53453c311f150b01000000000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d656565656565656565656566676869696e7074787d81878f939ea1a9aca49f938e81786d605b51463c2f261b0c03000000000000000000000000000000000000000000000000020c17202935414c56616b74818e96a19f9285929fabaea194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6155483b2e22150d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0a0907040000000000000000000007121d2834404a54606a727f8c929ca4a7a096918a827d7a7775747475767a7d818790959ea5a59e938d80736b60544b402f261c11060000000003101c28343f4a546875828f9ba8a89b8e817568565153575f6165686a6b6c6c6c6b696765615e5753504a423d342e261e150c070100000000000000000005121e2a36424d57616e7b86929fa6aba0958f82796f6a63605c555b5a5b575f62676d747f8c939ea9a99f948a7d7064594f4430271d120700000000000000000c18232f3943505a616e7b859198a3acaca399928b80786f6a625f585653504a4e4d4d4d4e4a505355575e61696e757e869297a2aaaaa1969082786d60574e42372b21170b0000000000000000000c18232e39424e58616c717f8a9298a0a8aba49f99928e8a8784828180808081828486898d92979ea1a8aca49f9590847b6e685e544a3f342820150a000000000000000000000006101a242d363f4850585f676d737b80858b8f9298989a9c9e9e9f9f9f9e9e9d9b999795908d88837e786f6b605c554d453b332920170c0300000000000000000915222f3c4855626f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c6f6255483c2f2215090000000000000000000a151e283139424a50575f616a6f757a7f83868b8e9297989b9ea1a8a7aaacafacaaaba39f9c99928e89827c756d6860584f473d33291e150b0000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000613202c3946535f6c7986929facaca295887c6f6255493c2f22160900000000131f2c3946525f6c7985929facacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a6a7a8aaa9a7a9a19e9a95908a837b706c625a50473e32291f100600000000000000000000000a15202b37434e58606d78839096a0a8a69e96918b85817e7c7b7b7c7e80848a91969ea5a7a0958f82776c60574d42332a1f0d0300000000000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a72727272727272727272727273737576787a7d8184898e93999ea6ada8a19a938c81786d665c50493f342a1d140a0000000000000000000000000000000000000000000000000000050e1924303a444f59606d7984919aa2989298a2aeaea194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6155483b2e221a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a171614100b050000000000000000000c18232e39424e58626d73808c929ea1a8a19e948f8a8683828181828386898e93999fa7a39f938f81786d60594f42392e1d140a0000000000000c17232e404c5966737f8c99abaa9d908477685d52464d5355585b5d5e5f5f5f5e5d5b5854534d46443f3830282321201d18130c040000000000000000020e1a25313b46535f69737f8c949fa7a79f948f837c75706d676867676869696e737a818c919ca5aaa1978f82766c6155473d331e150b000000000000000004101c2934404b55616c76828f97a1aaafa49a92877e736d665f58534e4946443f41404040413f4446484d53565e616c717c859298a2aca89f948d80736a5f53473e33281c10040000000000000004101c2834404b545f6a717e87939fa2aaa9a199938e86827e7a777574737373747577797c80858b91969da5afa79f9691847a6e665c50443c32261b0f04000000000000000000030c18222c363f48505a616a6f7980868d92979c9fa2aaa7a9a8a7a6a6a6a7a8a9a8a6a7a09d9a94908a837c746d675e574d453b32291e150a0000000000000000111e2a3744515d6a77848989898989898989898989898989898989898989898989898989898989898989898989898989898983766a5d5043372a1d10000000000000000006111c263039434b545b60696e757c81868b9093999b9ea1a9a8abadafaca9a6a8a09d9a99928f8b86817c766f6b605d564e463d352b21180c030000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000613202c3946535f6c7986929f9f9f9f95887c6f6255493c2f22160900000000131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9d9c9a9897928e89837e766e69615a50483f352c20170d000000000000000000000000040f1a26313c44505c666e7b8491969ea6a9a19e97918e8b898888888a8d91969ea0a8a59e9590837a6d655b50453b3121180e0000000000000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facb2a5988c7f7f7f7f7f7f7f7f7f7f7f7f7f7f80818385878a8d91969b9fa4ababa39f9691887f776d665c544a3f372d22180b0200000000000000000000000000000000000000000000000000000008131e28323e45515d67707d88939fa29fa2aab4aea194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6155483b2e2727272727272727272727272727272727272727272727272727272423201c161008000000000000000007121c27303d46515b646e73808a92979fa3a69f9c9992908f8e8e8f9092989b9fa4a69f99928c81786d665c50473d30271d0b02000000000000061724303d4a5763707d8a99a3ac9f93867a6d6054474246484c4e505252535251504e4b4846423c3b3937332d302d2c29241d160d04000000000000000009141f2a36424d57606d78828f959fa7a69f959087817d79777574747476787b80858e939ca3aaa29892857b6e615a5044352b210c03000000000000000006131f2c3845515c67707d8a949fa9b0a69f93887e716c605c544e47433c3a38342e3433342d3338393c42464d525a616a6f7c86929aa4afa69f92877b6e62594f44392d20150a0000000000000006131f2c3845515c666f7c869299a4aea8a0979187817b75716d6869676766676768676d7073797e848e939fa4aca8a0969083786d60584e43372b20150a0000000000000000000b151e2a343e48505a626c717c848c92989fa2a9aca8a8a09e9c9a9a999a9a9b9d9fa3ababaaa69f9c95908781796e695e574d443b30261c110600000000000000111e2a3744515d6a77849095959595959595959595959595959595959595959595959595959595959595959595959595959083766a5d5043372a1d1000000000000000020c17232e38424b555d666c727b82888e92999c9fa4ababadaeaca9aba39f9d9a9795918d8a86837e7a756f6b636059524c443c342b23190f06000000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000613202c3946535f6c7986929393939393887c6f6255493c2f22160900000000131f2c3946525f6c7985929393939393939393939393939393939393939393939393939399929291908f8d8b8885817d77716c615f5750483f362d231a0e05000000000000000000000000000a152028343f4a545e696e7b848f939ea1a8a9a19e9a9795959495979a9ea0a8a8a19e938e837a6e685e53493f33291f0f060000000000000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facb8a79c918c8b8b8b8b8b8b8b8b8b8b8b8c8c8d8e909297979a9ea1a8acaba39f99928d847d736c655c544a42382e241b100600000000000000000000000000000000000000000000000000000000020c16202935414b55606b74808d96a0abaeb4bcaea194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6155483b34343434343434343434343434343434343434343434343434343434302f2c28211a110800000000000000000b151e2b343f49525c646e737e858e92999ea1a8a39f9d9c9a9b9c9d9fa3a9a29f9b948f877f776d665c544a3f352c1e150b000000000000000714212d3a4754606d7a86929faca4998a7d7063544b403a3b3f4144454646464543413e3d4347494846443f3f3c3a39352f281f160c0100000000000000030e1a26313b44505c666d7a8390959da5a7a099938e898683828181818385888c92979da5a7a09892867d70695e52483e3323190f000000000000000003101c28343f4a54606d7984919ea6b0aa9e948c7f736c625a504a423c37322d2c282327272722282b2d31363b42465058606a707e88939fa8aea3998f82766c6155493c31261b0f00000000000004111d2935414b55606d79839098a3aba9a09691857d746e6964615d565b5a5a5a5a555c6063666d7179818b939aa4afa89f958c80736a5f54473d32271b0f010000000000000007121d27303c46505a626c717e8691969fa2aaaba39f9b9796918f8e8d8d8d8d8f9092999a9ea1a9aba79f9a938d837b6e695e564c42382e23170c04000000000000111e2a3744515d6a7784909da2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a29d9083766a5d5043372a1d10000000000000000a141e28343f4a545d676d787f868f939b9fa3abacafaca9aaa29f9c999992908d8a8784817d7a76726d68636059544f45413a322b2219110700000000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000613202c3946535f6c7987868686868686867c6f6255493c2f22160900000000131f2c3946525f6c79868686868686868686868686868686868686868686868686868686868685858482807e7b7874706b64615a534d453e362d241b11080000000000000000000000000000030c17232e38424d565e696e7a828a91969d9fa7a7a7a4a2a1a1a2a4a6a7a7a09d96918a81796e685e564c41382d21170d000000000000000714212d3a4754606d7a8793a0aca69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aca5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facb8ada39c98989898989898989898989898999a9b9c9ea1a9a7aba9a8a19e99928e87817a706b605b534a423930261c1209000000000000000000000000000000000000000000000000000000000000040e18242f3a434f59606d79849199a4afbbb9aea194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e61554840404040404040404040404040404040404040404040404040404040403d3c38332c231a100500000000000000030c19222d37404a525c636c717a81868d9196989b9c9e9f9f9f9f9e9d9b9997928e89827c736c655c544b42382e231a0c03000000000000000613202c3945515d677683909ca9ab9a8e8174665c5145382e323537383939393836313d464e5456555350494b494745413a31281d1307000000000000000009141f28343f4a545e686d7a838e929d9fa7a49f9b9892908e8e8d8e8f9197999ea1a9a29e9590867d706b60574d42362c221108000000000000000006121f2b3844505c66727f8c96a0acaea2988f82776c605a50443f38302b26201f1c171a1a1a171c1f20252a30363e464e58616c73808d96a1acab9f948a7d7064584e43372b1d120700000000000613202c3945515d67737f8c95a0aaada19791847b706b615e5754524c4e4d4d4d4e4b5153545c60676d747f88939fa5afa79f92877c6f62584e43372b1d1207000000000000000c18232e39424e58616c717f8a9298a0a8aba49f99928e8a8784828180808081828486898d92979ea1a8aca49f9590847b6e685e544a3f342820150a000000000000111e2a3744515d6a7784909d9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9d9083766a5d5043372a1d1000000000000006111c26303844505c666d79828c92989ea5acaeabaca49f9d9998928f8c898683807d7a7774716d6865615e56544f48443d353028201910070000000000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d100006121f2c3845525e6a757979797979797979766a6054473b2e22150800000000121f2b3844515d697479797979797979797979797979797979797979797979797979797979797978777674716f6c65636059555046423c332c241b12090000000000000000000000000000000006111c26303b444d575e686d757e848b9095979a9c9e9e9f9f9f9e9c9a9895908b847e756d675e564c443a2f261b0f05000000000000000714212d3a4754606d7a87939f9f9f9a8d8073675a4d4034271a0d01000815222e3b4855616e7b88949f9f9f988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a6a6a8a9a8a6aba39f9c9996918c87817b746d6761595049413930271e140a000000000000000000000000000000000000000000000000000000000000000007131d28313d45515d676f7c87939fa7b1acaca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e61554d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4a48443e352c21160b000000000000000007101b252e38404a525a61686d747b8084888b8e90919292929291908e8c8985817c766f6a605b534b423930261c1108000000000000000004111d2935414b5566737f8c99a7ab9e9285796d6053463e3128282a2b2c2c2c242f39434e58606261605b53585654514b433a2f24180d0100000000000000030b17232e38424c565e686d79818990959b9fa2aaa39f9d9b9a9a9b9c9ea1a9a49f9c97928c837b706b60594f453b30241a100000000000000000000713202d3a4653606d7884919ea8b2a99f92867b6e655b50483e342e261e1b1312100c060d060b0f12131a1f252a343d46505a606d7984919ea8b0a69c8f83766a5f5347392e23180c00000000000714212d3a4754606d7a85929fa7b0a69e92857b6e696059524d47464141404040414045464b51555d606d727f8b939ea9afa3998f82766a605447392f24180c00000000000004101c2834404b545f6a717e87939fa2aaa9a199938e86827e7a777574737373747577797c80858b91969da5afa79f9691847a6e665c50443c32261b0f040000000000111e2a3744515d6a77839093939393939393939393939393939393939393939393939393939393939393939393939393939083766a5d5043372a1d100000000000000b17232e38424f59606d78828f949fa3aaafaca7a09d9a93908c8985827f7c7a7673706d686764605d5654524c48433d383229241e160e07000000000000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d100004111d2a36424e59636a6c6c6c6c6c6c6c6c6260584e43372b1f130600000000101c2935414d5862696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a69676562605b53544f49453e37312a211a12090000000000000000000000000000000000000a151e29323b454d565d606c71797e83878a8d8f9192929292918f8d8b87837e79716c605d554c443b32281d140a00000000000000000714212d3a4754606d7a8793939393938d8073675a4d4034271a0d01000815222e3b4855616e7b8893939393938b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9d9c9b99979992908c89847f7b746e69605d554f443f382f271e150c020000000000000000000000000000000000000000000000000000000000000000010c161f2935404b55606b73808d95a09f9f9f9f94877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e615a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a57554f473e33281c1004000000000000000009131c262e38404850565e61696e73787c7e818384858686858583817f7c79746f6a625f585049413930271e150a000000000000000000010d18242f3b4855616e7b88959faba1978a7e71645a50433a2f241d151f141c2935404b55606a6f6e6c65676563605d554b4135291d1104000000000000000006111c26303a444c565e676d747c83898e9298999b9d9e9f9f9f9f9e9d9b999993908b857f786e6960594f473d33291f1208000000000000000005111e2a36414c5664707d8a96a1adada1978c7f72695e53493f3628231c140c0a060300000000000306090e1419222b343e45515d67717e8a96a0acab9f94887c6f62544b4034281c100400000006131f2b37434e5866727f8c97a2adaa9e948a7d70695f574f46423b3935303433342e34383a40454b515b626d74818e97a1adab9e94897c6f62554b4035291d1004000000000006131f2c3845515c666f7c869299a4aea8a0979187817b75716d6869676766676768676d7073797e848e939fa4aca8a0969083786d60584e43372b20150a0000000000111e2a3744515d6a77838686868686868686868686868686868686868686868686868686868686868686868686868686868683766a5d5043372a1d10000000000003101c28343f4a54616b74818e949ea6aeafa7a09d95908b8783807c797673706d676764615e565754524c4746413a38322c272119130c0400000000000000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d1000010e1a26313d4751595e5f6060606060606055544e463c32271b0f03000000000d1925303b4650585d5f6060606060606060606060606060606060606060606060606060605f5f5e5d5c5a585553504948443d39342b261f180f0800000000000000000000000000000000000000030c172029333b444c525a61676d71767a7e818284858686858483817e7b77716d67615a514b433b322920160b0200000000000000000714212d3a4754606d7a868686868686868073675a4d4034271a0d01000815222e3b4855616e7b868686868686867f7265584c3f3225190c000000000000131f2c3946525f6c798592939393939393939393939393939393939398929291918f8e8d8b8886837f7c78736e69615f57514c433e332d261d150c0300000000000000000000000000000000000000000000000000000000000000000000040d18242f39434f59606d798390999393939393877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e67676767676767676767676767676767676767676767676767676767676767676361594f44382c2014070000000000000000010a141c262e363e444c52575e61666a6f7274767878797978787675726f6d66626058534e443f382f271e150c03000000000000000000000714212d3a46535f697683909da8a99d9083766c61554b40352e27222222262d3845515d676f7c7b797674726f6d675d5145392c2013060000000000000000000a141e28323a444c555c606b6f777d8185898c8e90919292929291908f8d8a86837e79726d665f574f473d352b20170d0000000000000000000714202d3946525e6876828f9ca8b2ab9e9185796d60574d41382d2417110a02000000000000000000000002091019222935404b55606c7884919dabb0a69a8e8174665c5145382c1f13060000000815222e3b4754606a7884919ea9b1a79c8f82756c61574d453d36302d292427272723282c2e343a4145515b606d7a85929eaab0a69b8e8275675d5145392c1f13060000000004111d2935414b55606d79839098a3aba9a09691857d746e6964615d565b5a5a5a5a555c6063666d7179818b939aa4afa89f958c80736a5f54473d32271b0f0100000000101d2936424f5b677177797979797979797979797979797979797979797979797979797979797979797979797979797979797671665b4e4236291c10000000000006121f2b3844505c66707d89939da6b0aca49f959089837f7b76736f6d666663605d555754524c4a4745413a3936302c27211b160d08020000000000000000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d1000000915202b353f474e5253535353535353534947433c342b20150a000000000008141f2a343e464d5152535353535353535353535353535353535353535353535353535353535252514f4d4b4846443f3838332d28221a140e06000000000000000000000000000000000000000000050e172129323a414550555c6064686e7174767778797978787674716e6965605d555045403a312920170e040000000000000000000713202c3945525d687679797979797979736e64584c3f3326190d00000714212d3a46535f697679797979797979726d62564a3e3124180b000000000000131f2c3946525f6c798686868686868686868686868686868686868686858585848381807e7c7976736f6c65615e57534d45413a3127221b140b0300000000000000000000000000000000000000000000000000000000000000000000000007121d27313d45515c676f7c86868686868686867b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b737373737373737373737373737373737373737373737373737373737373737373706b6155483c2f231609000000000000000000020a131c242c323b41464d5254585f626568696b6c6c6c6c6b6a686663605c54544e4e4c4841382f1d150c03000000000000000000000005121e2a36424d5764717e8b96a1ab9f958a7d70675d51454039302f2e2f2f38404b55606d7986888583817e7c796d6054473a2d211407000000000000000000020c162029323a434b515960636b7075797c7f82838485868685858382807d7a76726d67605c544d453d352b23190e050000000000000000000814212e3b4754616e7a87939facafa3998c7f72675d51453b2f261b1206000000000000000000000000000000071018242f3944505b66727e8b99a3aeac9f9285796d6053463a2d2013080000000916222f3c4955626f7c8896a1acaca095897c6f625a50453b332a25201d191a1a1a181c1f23282f353f45515d67727f8b98a2aeac9f9286796d6053473a2d201406000000000613202c3945515d67737f8c95a0aaada19791847b706b615e5754524c4e4d4d4d4e4b5153545c60676d747f88939fa5afa79f92877c6f62584e43372b1d1207000000000e1a27333f4a555f676a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a665f554a3e32261a0d00000000000713202d3a4653606d7883909da5afafa49a938c837d77726e686663605c545653514b4a4746413e3a3935302d2a251e1b17151312100b0600010000000000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d100000040f19242d353d424546464646464646463c3b37322b22190f040000000000020d18222c343b4144464646464646464646464646464646464646464646464646464646464646454443413e3c3937332d2c27211d170e09030000000000000000000000000000000000000000000000050f1720282f353e434b5153565e616467696b6b6c6c6c6b696765615e5753514b433e352f281f170e050000000000000000000004111d2935414c565d6c6c6c6c6c6c6c6c67645c52473b2f23170b000005121e2b37424d575f6c6c6c6c6c6c6c6c65625b51463a2e221509000000000000121f2b3844515d6974797979797979797979797979797979797979797979787877767573716f6d666662605b53534d47423c352f281f17110a0200000000000000000000000000000000000000000000000000000000000000000000000000010b151f2834404b55606a6f797979797979797976695e53463a2d211407000000000000000000121e2b3845515e6b7884919eabb4a79a8e818080808080808080808080808080808080808080808080808080808080808080807d7063574a3d3024170a00000000000000000000020e1925303b444c525f6060606060605d5d5e5f5f5f5f5e5d5b596060606060605a58534a41362b2014080000000000000000000000020e1a26313b4653606d7984919ea7a79e9184796d605b514b423d3c3b3c3d424a515d67717e8b9892908e8b897e7164574b3e3124180b00000000000000000000050e172029313940454f54596063676d70727576787879797878777573706d6865605d55504a423c332b23191107000000000000000000030f1b27333f495364717e8b9aa4afac9f92867a6e61554b4033291d140a000000000000000000000000000000000007121d28333f4a54616d7a86929facaea298897d706356493d2f24190d0100000d1a2633404d596673808c99a8b2aa9d9083776a6054483e332a211a14110d080d070c1013181d242935414c55606d7985929fabaea2988a7d7164574a3e2e23170b000000000714212d3a4754606d7a85929fa7b0a69e92857b6e696059524d47464141404040414045464b51555d606d727f8b939ea9afa3998f82766a605447392f24180c000000000a16222e39434d555b5d606060606060606060606060606060606060606060606060606060606060606060606060606060605d5b554d43382d22160a0000000003101c28343f4a5464717e8a95a0acaea49f93888078706b65615e565653514a494745403d3a3936302d2c292424242b29262422201f1c1711110c0600000000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d1000000008121b242b31363839393939393939392f2e2b27201910070000000000000006101a222a30353839393939393939393939393939393939393939393939393939393939393938373634322f2d2b27221b1c16110c060000000000000000000000000000000000000000000000000000050d161e242931394045474c5254575a5c5e5f5f5f5f5e5c5a5854524d474540393129241d160d050000000000000000000000010d19242f3a444c525f606060606060605a58524a40362b1f13070000020e1a26313c454d535560606060606060585651493f34291e1206000000000000101c2935414d5862696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a6968666462605c545653504946423b373129241e160d0600000000000000000000000000000000000000000000000000000000000000000000000000000000030d18232e39434e5860626c6c6c6c6c6c6c6c6c5e574d42362a1e1205000000000000000000121e2b3845515e6b7884919eabb7a99d938e8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8073665a4d4033271a0d0000000000000000000005111e2a36414c565e6c6c6c6c6c6c6c6a675f555353524f5960636c6c6c6c6c6c67645c53483c3024180b00000000000000000000000009141f2c3844515c66727f8b95a0aca1968e81756e605c544f4a4948494a4e545b606d7984919e9f9d9a92857a6d6053473a2d2014070000000000000000000000050e171f272f343d43484f54555c606366686a6b6c6c6c6c6b6a686664615e5653514b443f38302a211911080000000000000000000005121f2b3744505b6575818e9bacb6a99c8f8276685e5243392f21170b020000000000000000000000000000000000010b17222d3846525d6875828f9ca8b4aa9a8d807367564c4135291d11040005111e2a36424d576976838f9ca9b5ab998c7f7366584e43362c21180f0905010000000004070c1319242f3a45515d6774818e9aa7b4aa9b8e817468544a3f34281c1003000006131f2b37434e5866727f8c97a2adaa9e948a7d70695f574f46423b3935303433342e34383a40454b515b626d74818e97a1adab9e94897c6f62554b4035291d100400000006111c27313b434a4f5153535353535353535353535353535353535353535353535353535353535353535353535353535353504e4a433a31271c11050000000006121f2b3844505c6675828f9ca7b1aa9d928b7e736d66605954524d494644403d3a39352f2e2d2a252120282d3031383533312f2d2b28231c1d181109000000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d100000000009121920262a2c2c2d2d2d2d2d2d2d22221f1b150f070000000000000000000810181f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a29272522201f1b1711100b050000000000000000000000000000000000000000000000000000000000040c13191f272f34383b4146474b4e4f515253535251504e4b4846423b38352f271f18130c040000000000000000000000000008131e28323a414553535353535353534d4c4740382e24190e0200000009141f2a333c424648535353535353534c4a463f372d23180d010000000000000d1925303b4650585d5f606060606060606060606060606060606060605f5f5e5e5c5b5a585553514b4946443f3836312b261f19130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303c464e54555f606060606060605f534d453b31251a0e02000000000000000000121e2b3845515e6b7884919eabb7afa59d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a998d8073665a4d4033271a0d000000000000000000000714202d3946525e68767979797979797771675b4f464854606b70797979797979746e64584c4033271a0d01000000000000000000000004101c2834404a54606d7883919aa4a89e938c80746d6660595755555556585f666c75818e96a1aca3998e8174675d5145392c201306000000000000000000000000050d151d232932383d44484b515356595b5d5e5f5f5f5f5e5d5c5a5754524c47454039342e261e180f0800000000000000000000000613202d394653606c7885929eabb3a9988b7f7265564c4131271d0f050000000000000000000000000000000000000006111c2935414c5665727f8b98aab4aa9d918477685d5245392c201306000714202d3a46525e697885929eabafa399897c6f6256493d32231a0f060000000000000000000108131e2935404b5564707d8a97a9b3aa9d908377665c5044382b1f120600000815222e3b4754606a7884919ea9b1a79c8f82756c61574d453d36302d292427272723282c2e343a4145515b606d7a85929eaab0a69b8e8275675d5145392c1f1306000000000b151f2931393f42444646464646464646464646464646464646464646464646464646464646464646464646464646464643423e3831281f150a00000000000713202d3a4653606d7985929facaea3988d80746c605c544f4746413c3a38342e2d2c292421201d19242c34393d3e4442403e3b3a38342e2e29231b12090000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d100000000000080f151a1d1f20202020202020201615130f0a040000000000000000000000060d14191c1f1f202020202020202020202020202020202020202020202020202020201f1f1e1c1a181513120f0b0600000000000000000000000000000000000000000000000000000000000000000001080d151d23292c3036393b3e414344454646454543413e3b3a36302c29241d150d07010000000000000000000000000000010c1620282f35394646464646464646403f3b362e261c120800000000030e18212a31373a3b464646464646463f3e3a342d251b11060000000000000008141f2a343e464d51525353535353535353535353535353535353535352525251504e4d4b494645403c3937332d2a251f1a150d080100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2b343c43474953535353535353534846423b33291f140900000000000000000000121e2b3845515e6b7884919eabacacafa9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6998d8073665a4d4033271a0d000000000000000000000814212e3b4754616e7a86868686868683776a5d5144495663707d8686868686868074675a4e4134271b0e010000000000000000000000000c18232e3944515c66707d88939fa6a59c928c8079706b666462616263666a6f78808d939ea9a89f92877b6e62554b4035291d100400000000000000000000000000030b121821272c323839404546494c4f50515253535252504f4d4a4746413a39352f28231c150c060000000000000000000000000815222e3b4855616e7b8897a1adada197887b6e6255483b3022150b0000000000000000000000000000000000000000000d1924303c4855626f7b8898a2aeaca095877a6d6054473a2d211407000814212e3b4754616e7b8797a2adac9f92867a6d6053473a2d2014070000000000000000000000010d18242f3b4754616e7a8797a1adac9f9286796d6053463a2d20130700000916222f3c4955626f7c8896a1acaca095897c6f625a50453b332a25201d191a1a1a181c1f23282f353f45515d67727f8b98a2aeac9f9286796d6053473a2d20140600000000040d171f272e333637393939393939393939393939393939393939393939393939393939393939393939393939393939393736322d271f160d0300000000000815222f3b4855626e7b8898a2aeac9f92867a6d615a504a423d3936302d2c282320201d18141317222c363e45494b514f4d4a4846443f383a342d241b110600000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d1000000000000004090e1112131313131313131309080603000000000000000000000000000002080d10121313131313131313131313131313131313131313131313131313131313131211100e0b0906050300000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f252a2d2e3134363838393939383634322e2d2a251f1d18120b030000000000000000000000000000000000040d161e24292c393939393939393934332f2b241c140a010000000000060f181f262b2d2e3939393939393932312e29231b13090000000000000000020d18222c343b41444646464646464646464646464646464646464646464545444342403e3c3a38342e2d2b27221b1a140e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c19222b32373b3c46464646464646463b3a36312921170d0300000000000000000000121e2b3845515e6b7884919e9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f998d8073665a4d4033271a0d000000000000000000000814212e3b4754616e7a87939393939084776a5d5144495663707c89939393938d8174675a4e4134271b0e0100000000000000000000000007121c2834404a54606b73808d949fa7a49c928d837d7773706f6e6f7072767c828d929da5aaa1968d8174695f5343392f24180d01000000000000000000000000000001070c161b21272c2e34383a3d3f42434545464645454442403d3a3936302c29241d17110a03000000000000000000000000000a1724303d4a5763707d8a96a9b3ab9e928578695f53473a2e2114030000000000000000000000000000000000000000000813202d394653606c7985929facb1a795897c6f6256493c2f231609000916232f3c4956626f7c8995a9b3aa9e918477675d5145382c1f13060000000000000000000000000714202d3946525e687885919eabaea398887b6e6255483b2f22150800000d1a2633404d596673808c99a8b2aa9d9083776a6054483e332a211a14110d080d070c1013181d242935414c55606d7985929fabaea2988a7d7164574a3e2e23170b0000000000050d151c2227292a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2926221c150d040000000000000a1723303d4a5663707d8996aab4a89c8f8275685e52443f38302d2a25201f1c181413100d07111d28343e485055575e5c59575553504a4a453f362d23180c01000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000000000000000001040606060606060606060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1014191e20212427292b2c2c2c2c2b29272521201e1a14100c070100000000000000000000000000000000000000040c13191d202d2d2d2d2d2d2d2d2726231f19120a0200000000000000060e141a1e21222d2d2d2d2d2d2d2524221e1811090100000000000000000006101a222a303538393939393939393939393939393939393939393939393837363533312f2d2c2823201f1b17110e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f39393939393939392e2d2a251f170f050000000000000000000000121e2b3845515e6b7884919393939393939393939393939393939393939393939393939393939393939393939393939393938d8073665a4d4033271a0d000000000000000000000814212e3b4754616e7a87949f9f9d9084776a5d5144495663707c89969f9f9a8d8174675a4e4134271b0e01000000000000000000000000000c18232e39424f59606d788290959fa7a49d95908984807d7c7b7c7d7f838890949da4aaa39891847a6d61574d4231281d12070000000000000000000000000000000000040a0f161b1d23282c2d30333537383939393938373533312e2d2a251f1d18120c060000000000000000000000000000000c1926323f4c5965727f8c98a5b2a99c8f837669574d42372b1e120600000000000000000000000000000000000000000006121f2b3844505b667783909daab1a4978b7e7164584b3e3125180b000a1723303d4a5663707d8996a3b0a99c90837669554b4035291d100400000000000000000000000005111e2a36414c566a7683909da9b4aa96897c6f6356493c302316090005111e2a36424d576976838f9ca9b5ab998c7f7366584e43362c21180f0905010000000004070c1319242f3a45515d6774818e9aa7b4aa9b8e817468544a3f34281c10030000000000040b11161a1d1e202020202020202020202020202020202020202020202020202020202020202020202020202020201d1c1a16110a03000000000000000b1724313e4a5764717d8a97a4b0a6998d807366564c41342e26201e191312100c070604010815212d3945505a61646b68666462605c545651483f34291d1105000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000000000004090e1112131313131313131313060400000000000000000000000000000000000000000000000004080a0a1313131313131313130e0e0b080300000000000000000000000000000000000000000000000000000000000004080e111414181b1c1e1f20201f1e1d1b181514120e0904000000000000000000000000000000000000000000000001080d111314202020202020201a1917130e080100000000000000000003090e12141520202020202020191815120d060000000000000000000000000810181f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2b2928272522201f1c1813120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e151b1f22222c2d2d2d2d2d2d2d21211e1a140d05000000000000000000000000121e2b3845515e6b788486868686868686868686868686868686868686868686868686868686868686868686868686868686868073665a4d4033271a0d000000000000000000000814212e3b4754616e7a8794a1aa9d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e010000000000000000000000000007121c27303d44505c666d7a8390959da5a7a09d95918d8a888888898c90959c9fa6a9a19892867c6f685e52453c311f160c0100000000000000000000000000000000000000040b1012181c1f202326282a2b2c2c2c2c2b2a29272421201d1913100c0701000000000000000000000000000000000e1b2834414e5b6774818e9aa7b3a79a8d8074675a4d4131261a0e02000000000000000000000000000000000000000000030f1c28333f4a546875818e9ba8b3a6998d8073665a4d4033271a0d000b1724313e4a5764717d8a97a4b0a89b8f8275685c4f422f24180c00000000000000000000000000010d192530424f5c6875828f9ba8b0a3968a7d7063574a3d3024170a000714202d3a46525e697885929eabafa399897c6f6256493d32231a0f060000000000000000000108131e2935404b5564707d8a97a9b3aa9d908377665c5044382b1f120600000000000000060a0e10111313131313131313131313131313131313131313131313131313131313131313131313131313131310100d0a050000000000000000000b1724313e4a5764717d8a97a4b0a5998c7f7266594c3f30231c15110e080807070808090e131925303d4955616c71777573716e6d6665625b51453a2e221509000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000000000000080f151a1d1f20202020202020202013100c070100000000000000000000000000000000000000050b101416172020202020202020201b1a18140f0901000000000000000000000000000000000000000000000000000000000000020507080b0e10111213131212100e0b0807050200000000000000000000000000000000000000000000000000000001040707131313131313130d0d0b07020000000000000000000000000002050708131313131313130c0b0906010000000000000000000000000000060d14191c1f1f202020202020202020202020202020202020201f1f1f1e1d1b1a18161313100c0705030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151620202020202020201514120e090300000000000000000000000000111d2a3743505c6872787979797979797979797979797979797979797979797979797979797979797979797979797979797979736e63584b3f3226190c000000000000000000000814212e3b4754616e7a8794a1a99d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e0100000000000000000000000000000b151e28343f4a545d686d7a838e939ea0a8a8a09d999795949596999d9fa7aba49f9792867e706a60564c41332a1f0d040000000000000000000000000000000000000000000000070c10131316191c1d1e1f20201f1f1d1c1a171413110d080400000000000000000000000000000000000000101c2936434f5c6976828f9ca9b2a5998c7f7266594c3f3326190900000000000000000000000000000000000000000000000b17222d404d5a6773808d9aa6b3a89b8e8175685b4f4235281c0f000b1825313e4b5864717e8b97a4b1a89b8e8275685b4f4235281c070000000000000000000000000000081b2835414e5b6874818e9ba7b0a4978a7d7164574a3e3124170b000814212e3b4754616e7b8797a2adac9f92867a6d6053473a2d2014070000000000000000000000010d18242f3b4754616e7a8797a1adac9f9286796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96abb5a69a8d807367544b403428201c1816151514141515171a1e242b37434e5864717e8482807d7b7977726d62564a3d3124170b000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000000000009121920262a2c2c2d2d2d2d2d2d2d2d1f1c18120b0300000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d282724201a130b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1012131313131313131313131313131313131313131313121211100f0d0b090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608091313131313131313080705020000000000000000000000000000000f1b27333f4b5660686b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c66635c52473b2f23170a000000000000000000000814212e3b4754616e7a87949c9c9c9084776a5d5144495663707c89969c9c9a8d8174675a4e4134271b0e010000000000000000000000000000030c17232e38424c565e686d79818991969d9fa4aca6a3a2a1a2a3a5a8a9a29f99938e857c706c61584e443a3021180e00000000000000000000000000000000000000000000000000000406070a0c0f10121213131212110f0d0a07070501000000000000000000000000000000000000000000101d2a3643505d697683909ca9b1a4978a7e7164574b3e3124180b0000000000000000000000000000000000000000000000061926323f4c5965727f8c98a5b2a89c8f8275695c4f4236291c0f000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2834414e5b6774818e9aa7b1a4978b7e7164584b3e3125180b000916232f3c4956626f7c8995a9b3aa9e918477675d5145382c1f13060000000000000000000000000714202d3946525e687885919eabaea398887b6e6255483b2f221508000000000000000000000000000000000000000000000105090b0b1313131313131313120706030000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8899a4afa89b8e8275665c51453a322c29232322212121212223252a2f353f47535f6a76828f8f8c8a8886837e7265584b3f3225180c000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000008121b242b3136383939393939393939392c29231d150d0300000000000000000000000000000008121a22282d30313939393939393939393533302b251d140b010000000000000000000000000000000000000000000000000000000003090d1012131313131313131313060300000000000000000000000000000000000000000000000000000000000000000004080c0e0f13131313131313131313131313131313131313131313131313131313131313131313131313130f0e0c080400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232f3a444e565c5e60606060606060606060606060606060606060606060606060606060606060606060606060606060605a58524a40362a1f1307000000000000000000000814212e3b4754616e7a878f8f8f8f8f84776a5d5144495663707c898f8f8f8f8d8174675a4e4134271b0e0100000000000000000000000000000006111c26303a444c565e676d747d848a90939a9a9c9e9f9f9f9e9d9b9997928d87817a6f6a615a50463c32281e0f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111e2a3744515d6a7783909daab0a3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a99c908376695d5043362a1d10000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000a1723303d4a5663707d8996a3b0a99c90837669554b4035291d100400000000000000000000000005111e2a36414c566a7683909da9b4aa96897c6f6356493c30231609000000000000000000000000000000000000000000060c1115171820202020202020201f1312100c06000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facab9f9285796d60564c443d38342f2f2f2e2d2e2e2f3031363a4145515b626f7c87939b999798928a7e7164574b3e3124180b000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000000040f19242d353d424546464646464646464638342f271f150b010000000000000000000000000006101a242c33393c3d46464646464646464641403c362f261d1309000000000000000000000000000000000000000000000000000000070e14191d1f20202020202020202012100c06000000000000000000000000000000000000000000000000000000000002090f14181b1c20202020202020202020202020202020202020202020202020202020202020202020202020201c1b18140f0902000000000000000000000000000000000000000000000000000000040607090c0e1011121313131211100f0d0b0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090c0e1011121313131211100e0b080705020000000000000000000000000000000000000000000000000007121d28323c444b505153535353535353535353535353535353535353535353535353535353535353535353535353535353534d4b4740382e24190e02000000000000000000000714212d3a4754606d7a8283838383838174675b4e414855626f7c8283838383827f7265584c3f3225190c00000000000000000000000000000000000a151e28323a444c555c606b70787e83878b8d909192929291908f8c8985817c746d68605850483e342b20160c000000000000000000000000000000000000000000000000000000000000000306060808080808080605030000000000000000000000000000000000000000000000000000111e2b3844515e6b7784919eaaafa396897c706356493d3023160a00000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1aa9d9083776a5d5044372a1d11000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1724313e4a5764717d8a97a4b0a89b8f8275685c4f422f24180c00000000000000000000000000010d192530424f5c6875828f9ba8b0a3968a7d7063574a3d3024170a00000000000000000000000000000000000000000911171d2124252d2d2d2d2d2d2d2d2b201f1c17110a03000000000000000000000000000000000000000000000006131f2c3945515d677683909dabada2978a7e71685e564f4745403e3c3b3b3a3a3b3b3d3f42464c515a626d76828f99a4a6aa9f92857a6d6053473a2d201407000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000915202b353f474e5253535353535353535345403931271d1207000000000000000000000000050e18222c363e44494a5353535353535353534e4c4841392f251a0f03000000000000000000000000000000000000000000000000000811191f25292b2c2d2d2d2d2d2d2d2d1f1c17110a030000000000000000000000000000000000000000000000000000030c131a202527282d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282725201a130c03000000000000000000000000000000000000000000000004070c10121316191b1d1e1f1f201f1f1e1d1b19171414110e0806030000000000000000000000000000000000000000000000000000000000000000000000000003070c10131416191b1d1e1f1f201f1f1e1c1a181514120e09050200000000000000000000000000000000000000000000010c16202a323a3f43454646464646464646464646464646464646464646464646464646464646464646464646464646464646403f3b362e261c120800000000000000000000000713202c3945525d686d767676767676746f64584c4047535f6a6f767676767676726d62564a3e3125180b0000000000000000000000000000000000030c162029323a434b515960666d71767b7e8183848586858484827f7d79746f6a615e564e463e362c22190e050000000000000000000000000000000000000000000000000000000000060b0f121314141414141413120f0b06000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0aa9e9184776b5e5144382b1e11000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8275685b4f4235281c070000000000000000000000000000081b2835414e5b6874818e9ba7b0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000009121b22292e31323939393939393939382d2c28231c150c030000000000000000000000000000000000000000000004101d2935404b5566737f8c99a3aea99e91857a6d68605953514b4b494848474748484a4b4d53555d606c727f8c949fabaea3998d8074675d5145392c201306000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000e1a26313d4751595e5f606060606060605f514b43392f23180c0000000000000000000000030c17202a343e485055576060606060606060605b59534b41362b20140800000000000000000000000000000000000000000000000007111a232a3135383939393939393939392c28231c150c03000000000000000000000000000000000000000000000000020c151e252c31343539393939393939393939393939393939393939393939393939393939393939393939393939393534312c251e150c020000000000000000000000000000000000000001070c1013181c1f20232527292b2b2c2d2c2c2b2a28262421201e1915120f0a03000000000000000000000000000000000000000000000000000000000000000000060b1012181d1f202325282a2b2b2c2d2c2c2a29272521211e1a14110e0902000000000000000000000000000000000000000000050f1820282f333738393939393939393939393939393939393939393939393939393939393939393939393939393939393933322f2a241c140a00000000000000000000000004111d2935414c565d6069696969696967645c53483c434e585f6269696969696965625b51463a2e221609000000000000000000000000000000000000040d172029303940454f545c6064686e7174767878797878777573706d67625f58524c443d342c241a100700000000000000000000000000000000000000000000000000000000020a11171c1f20212121212121201f1b17110a0200000000000000000000000000000000000000000000121f2b3845525e6b7884919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0aa9d9184776a5e5144372b1e11000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2834414e5b6774818e9aa7b1a4978b7e7164584b3e3125180b00000000000000000000000000000000000006111b242d343a3d3e4646464646464646453a38342e261e150a00000000000000000000000000000000000000000000000c18242f3b4754616e7a86929fa8ada19790827a6f6b63605c5557565554545454555658575e61676d747e88939fa6b0a89f92867b6e61554b4035291d1004000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000000111d2a36424e59636a6c6c6c6c6c6c6c6c6c5c554b4034291c1004000000000000000000000b151e29323c46505a61646c6c6c6c6c6c6c6c6c68645d53483c3024180b0000000000000000000000000000000000000000000000030e19232c353c414546464646464646464638342e261e150a00000000000000000000000000000000000000000000000009131e272f373d4042464646464646464646464646464646464646464646464646464646464646464646464646464642403d372f271e1309000000000000000000000000000000000003090e12181d1f23282c2d3032343638383939393838373533312e2d2a25211f1b150f0b060000000000000000000000000000000000000000000000000000000000020a11171c1f24292c2d30323437373839393938373634312e2d2a25201e19140e09020000000000000000000000000000000000000000060f161d23272a2b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2726231f19120a02000000000000000000000000010d1924303a444c52545c5c5c5c5c5c5b58534a41363c464e53555c5c5c5c5c5c585651493f34291e120600000000000000000000000000000000000000050e171e272e343d424a5053565e616567696b6c6c6c6b6a686663605c55534e46413a322b221a110800000000000000000000000000000000000000000000000000000000020b141c22282b2d2e2e2e2e2e2e2d2b27221b140b02000000000000000000000000000000000000000000111e2b3844515e6b7784919eaab0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a99d9083766a5d5043372a1d10000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000000000000000000010c17222d363f454a4b53535353535353535246443f3830261c1106000000000000000000000000000000000000000000000714202d3946525e6874808d96a1aaa99f9490847c76706d67666462626160616162636567696e737a818b939aa4afaaa1968d8074695e5343392f24180d01000000101d293643505c6976838f8b7f7265584c3f3225190c06060606060606060606060606060606060606060606060606060c1925323f4c5865727f8b8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000000121f2c3845525e6a75797979797979797976675c5145382c1f130600000000000000000007121c27303a444e58616c70797979797979797979746f64594c4033271a0e010000000000000000000000000000000000000000000009141f2a353e474d51535353535353535353443f3830261c110600000000000000000000000000000000000000000000040f1a252f3941484d4f53535353535353535353535353535353535353535353535353535353535353535353535353534f4d4841392f251a0f04000000000000000000000000000001070c141a1d24292c2e34383a3c3f4143444546464645444342403e3b3936302e2b261f1c17110a020000000000000000000000000000000000000000000000000003090c141c23282b2f35383a3c3f41434445464646454443413e3b3a36312d2a251f1a140d050000000000000000000000000000000000000000050c12171b1d1e20202020202020202020202020202020202020202020202020202020202020202020202020202020201a1917130e0800000000000000000000000000000008131e28323a4145475050505050504e4c4841382f343c4347485050505050504c4a463f372d23180d010000000000000000000000000000000000000000050c151d232830383f44464d5254585a5d5e5f5f5f5e5d5c595653514b47433c3630292019100800000000000000000000000000000000000000000000000000000000000a141d262d3338393b3b3b3b3b3b3937332d261d140a000000000000000000000000000000000000000000111e2a3744515d6a7784909daab0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1a99c8f8276695c504336291d10000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000000000000000000000000000005111d29343f4850565860606060606060605e53504a42382e23170c0000000000000000000000000000000000000000000005111e2a36414c56606d7a849198a2aaa69f969189827d797573716f6e6e6d6d6e6e707274777b80858e939fa4acaba3989184796d60574d4231281d120700000000101d293643505c6976838f8b7f7265584c3f322519131313131313131313131313131313131313131313131313131313131925323f4c5865727f8b8f8376695c504336291d1000000000000000000104060606060606060606000000000000000000000013202c3946535f6c798786868686868686796d6053473a2d2014070000000000000000081118232e39424c565f6a707e8786868686868686868174685b4e4135281b0e02000000000000000000000000000000000000000000010d1925313c4750585e5f606060606060605f504a42382e23170c000000000000000000000000000000000000000000000814202c37414b53595b60606060606060606060606060606060606060606060606060606060606060606060606060605b59534b41372c20140800000000000000000000000000030b12181f252a2f35393a404446494c4e5051525253525251504e4c4a4746413c3a37312b28221c140b070000000000000000000000000000000000000000000000060d141a1e262e34383a404547494c4e50515252535252514f4d4b4846423b3a36302a251f170e07010000000000000000000000000000000000000001070b0f111213131313131313131313131313131313131313131313131313131313131313131313131313131313130d0c0a070200000000000000000000000000000000020c1620283035393a43434343434341403c362f262a32373b3c4343434343433f3e3a342d251b110700000000000000000000000000000000000000000000030b12181e262e34383b4146474b4e505152535251514f4c4a4645403937322a251e170e07000000000000000000000000000000000000000000000000000000000006111c262f383f444647474747474746443f382f261b11060000000000000000000000000000000000000000101d2a3643505d697683909ca9b1a5988b7e7265584b3f3225180700000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3a89b8f8275685c4f4235291c0f000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000000000000000000000000000000000915212e3a45505a62656c6c6c6c6c6c6c6c6b605c544a3f34281c1003000000000000000000000000000000000000000000020e1925303b45525d686f7c869298a0a8a8a09e948f8a8582807e7c7b7b7a7a7b7b7d7e8084878d92979da5afaaa29992867c6f675d51453b311f160c0100000000101d293643505c6976838f8b7f7265584c3f322520202020202020202020202020202020202020202020202020202020202025323f4c5865727f8b8f8376695c504336291d1000000000000004090e11121313131313131313090806030000000000000013202c3946535f6c7986929393939393867a6d6053473a2d20140700000000000000060f19232834404a545e686f7c86929a93939393968f82786d6053463a2d2013070000000000000000000000000000000000000000000004101d2935414d58626a6c6c6c6c6c6c6c6c6c5c544a3f34281c10030000000000000000000000000000000000000000000c1825313d48535d65686c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c68655d53483d3125180c000000000000000000000000060d151d24293136394045474a515356585a5c5e5e5f605f5f5e5d5b595754524c4847433c38332d261d18120b030000000000000000000000000000000000000000070f181f262a30383f44464b515356585b5d5e5e5f605f5f5d5c5a5854534d4746423b3630292018120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161e24292c2d3636363636363433302b251d20262b2e2f36363636363632312e29231b130900000000000000000000000000000000000000000000000000070c151c23282c3036393b3e414345454645454442403d3a38342e2b262019130d050000000000000000000000000000000000000000000000000000000000000b17222d38424a505354545454545453504941382d22170b00000000000000000000000000000000000000000f1c2835424f5b6875818e9ba8b3a6998c807366594d402f23180c00000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4a79a8e8174675b4e4134281b0e000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000000000000000000000000000000000b1724313d4a56626c717979797979797979786d665c5044382c1f13080000000000000000000000000000000000000000000008141e2935414c56606a707d8691969fa3aba69f9c98928f8c8a89888787878788898b8d9195999fa2a9aba69f9892877e706a60554b4133291f0d040000000000101d293643505c6976838f8b7f7265584c3f322d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d323f4c5865727f8b8f8376695c504336291d100000000000080f151a1d1f20202020202020201615130f0a04000000000013202c3946535f6c7986929f9f9f9f93867a6d6053473a2d201407000000000000040d18212b353d44515c666d7a849198a29f9fa19791847a6d665c5144382c1f12060000000000000000000000000000000000000000000005121f2b3845515e6a74797979797979797976665c5044382c1f12060000000000000000000000000000000000000000000e1b2734404d59656f757979797979797979797979797979797979797979797979797979797979797979797979797979756f65594d4034271b0e00000000000000000000000910181f272f353b42464b5153545c60636567696b6b6c6c6c6b6b6a686664615e5655534e46443f382f28231d150c05000000000000000000000000000000000000081019212931363e424a5053555d606365676a6a6b6c6c6c6b6a696764615e5754524d46423b3329241d150d040000000000000000000000000000000000000000000000000000000000020608080b0e1011121313121211100d0b0807050200000000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021292929292929282724201a13151b1f21222929292929292525221e181109010000000000000000000000000000000000000000000000000000030a11171c1f252a2d2e3234363839393938373533302d2c28231d1b150d0802000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545b60616161616161605b53493f33271b0f03000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3a89b8e817568554b4034291c100400000000000000000000000000000000000000000005121e2a36424d576976838f9ca9b2a5988c7f7265594c3f3226190c000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000000000000000005121e2a36424d5765717e868686868686868685786d6053463a3025190d01000000000000000000000000000000000000000000020d19242f3a434e58606b707c848d92999fa2aaaaa29f9c99979595949394949596989a9da0a8abaaa79f9d948f857d706c61584e433a2f21170d000000000000101d293643505c6976838f8b7f7265584c3f393939393939393939393939393939393939393939393939393939393939393939393f4c5865727f8b8f8376695c504336291d100000000009121920262a2c2c2d2d2d2d2d2d2d22221f1b150f070000000013202c3946535f6c7986929facaca093867a6d6053473a2d2014070000000000020b161f2a333d47515b606d78829096a1aaaea39992857b6e685d544a4034281c1004000000000000000000000000000000000000000000000613202c3946535f6c798686868686868686786d6053463a2d2013070000000000000000000000000000000000000000000f1c2835424f5b68758286868686868686868686868686868686868686868686868686868686868686868686868686868175685b4f4235281c0f0000000000000000000009121b222a313940454d53555d6065666d6f72747677787979797877767573716e6867625f5853504a423d342e271e170e050000000000000000000000000000000008111a222b333b424650545c6063676d6f727476777879797978777674716e6966615e56524d453f352f271f160d04000000000000000000000000000000000000000000000000000205090e121415181b1d1e1f20201f1f1e1c1a181514120e090502000000000000000000000000000000000000000000000000000000000000000000000002080d1113141d1d1d1d1d1d1b1a18140f080a0f1215151d1d1d1d1d1d191816120d07000000000000000000000000000000000000000000000000000000000000060c1014191e202125272a2b2c2c2c2b2a292623201f1c18120f0a04000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666c6e6e6e6e6e6e6c655b5044372b1f1205000000000000000000000000000000000000000c1925323f4c5865727f8b98abb5aa9d908477675c5145382c1f13060000000000000000000000000000000000000000000714212d3a46535f697885929fabb4aa968a7d7063574a3d3024170a000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000000000000000000000000000714212d3a46535e69768390939393939393978a7d7063564c4135291d11050000000000000000000000000000000000000000000008131e28313c464f59606a6f7980878e92989b9fa2aaa6a6a4a2a1a1a0a0a1a1a3a5a7a7aca49f9d9995908a827b706b615a50463d31281d0f05000000000000101d293643505c6976838f8b7f7265584c4646464646464646464646464646464646464646464646464646464646464646464646464c5865727f8b8f8376695c504336291d1000000008121b242b31363839393939393939392f2e2b272019100700000013202c3946535f6c7986929facada093867a6d6053473a2d20140700000000000a141d28313c454f59626d74818e949fa8aea49f92877d6f695f564c42392e23180c00000000000000000000000000000000000000000000000613202c3946535f6c798692939393939386796d6053463a2d2013070000000000000000000000000000000000000000000f1c2835424f5b6875828e9393939393939393939393939393939393939393939393939393939393939393939393938e8175685b4f4235281c0f00000000000000000009121b242c343c434b51575e61676d7175797c7f81838485858685858483817f7d7a77736f6a64605b544f454039302920170f050000000000000000000000000000060f1a232c343d454d535a61666d7075797c7f81838485858685858482807e7b77736e69615e575145403931281f160c030000000000000000000000000000000000000000000002080e11151a1e21222528292b2c2c2c2c2b2b29272522211e1a14120e09020000000000000000000000000000000000000000000000000000000000000000000000010407071010101010100e0d0b08030000030608091010101010100c0b09060100000000000000000000000000000000000000000000000000000000000000000003080e111414181b1d1e1f201f1e1e1c19171313100c0700000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c787a7a7a7a7a7a776c605346392d20130600000000000000000000000000000000000000091623303c4956636f7c8999a4afac9f9286796d6053473a2d22170b0000000000000000000000000000000000000000000815222e3b4855616e7b8897a2adaea298887b6e6155483b2e221508000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000000000000000000000000000815212e3b4854616e7b87939f9f9f9f9fa99b8f8275685e5246392d20150a00000000000000000000000000000000000000000000010c161f2b343d474f585f676d737b81868b8f9298989a9b9d9e9f9f9f9f9f9f9e9d9c9a989a93908d88837d766e69615950483e342b1f160c00000000000000101d293643505c6976838f8b7f72655853535353535353535353535353535353535353535353535353535353535353535353535353535865727f8b8f8376695c504336291d100000040f19242d353d424546464646464646463c3b37322b22190f04000013202c3946535f6c7986929facada093867a6d6053473a2d2014070000000006111c262f3a434d57606b727f8b939da6afa59c928b7e716b60574d443a30271c120700000000000000000000000000000000000000000000000613202c3946535f6c7986929f9f9f9f9386796d6053463a2d2013070000000000000000000000000000000000000000000f1c2835424f5b6875828e9b9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9b8e8275685b4f4235281c0f000000000000000008121b242d363e464e555d60696e74797e8285898b8d8f91919293929291908e8c8a8784807c76716c666059514b433b332921170e05000000000000000000000000030d18212c353e464e575f616c70787d8185898b8e90919192939292908f8d8b87847f7b746e69625b514b433a31281e150b000000000000000000000000000000000000000002080d14191e20262b2e2f323436383939393938373634322e2d2b26201e1a140e090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e101212131212110f0d0a070604000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8787878787877a6d6154473a2e211407000000000000000000000000000000000000000714202d3a4753606d7a86939facaea399897d706353493f33271b0f030000000000000000000000000000000000000004111d2935414c5565717e8b98a9b3ac9f9285786d6053463a2d201307000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000000000000000000000000000007131f2c38434e5866737f8c9aa4afaca8aaac9f92867a6d6154473c32261b0f0000000000000000000000000000000000000000000000040d19222b353d464e555d60696e747a7e8285888b8d8f909192929292929291908f8d8c898683807c76706c615f574f473e362c22190d0400000000000000101d293643505c6976838f8b7f72656060606060606060606060606060606060606060606060606060606060606060606060606060606065727f8b8f8376695c504336291d1000000915202b353f474e5253535353535353534947433c342b20150a000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000071017222d38424c555f69707d87929fa5afa79e938d80736c61594f453c32281e150b0000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8acacb2adaba5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a59b8e8275685b4f4235281c0f0000000000000006101a242d363f4850585f676d737b80858b8f9298989a9c9e9e9f9f9f9e9e9d9b999795908d88837e786f6b605c554d453b332920170c0300000000000000000000010b151f2a333e474f5860696e767d84898e9298989a9d9d9e9f9f9f9e9d9c9a9795918c86817b726d605d554b433a30271d1207000000000000000000000000000000000000040c13191f252a2d31373a3b3e41434445464645454443403e3b3a37312d2a251f1a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070c0f0e0c0904000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794949494877a6d6154473a2e211407000000000000000000000000000000000000000613202c3945515d677784909daab4ab9a8d8073655b5044372b1f140a000000000000000000000000000000000000010c13202c3945515d6775828e9ba8b5a89c8f8275665c5044382b1f1206000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000000000000000915222e3b4854606a7784919eaca49f9b9ea5a3998b7f7265584e43372b1c12070000000000000000000000000000000000000000000000071019232b343c434b51575f61676d7175797c7e80828384858586868585848482817f7d7a77736f6a64615a534d453e352c241a10070000000000000000101d293643505c6976838f8b7f726c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c727f8b8f8376695c504336291d1000010e1a26313d4751595e5f6060606060606055544e463c32271b0f030013202c3946535f6c7986929facada093867a6d6053473a2d2014070000050e192228333f4a545d676e7b859299a3afa89f958e81776c605a50473d332a20160c030000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000f1c2835424f5b6875818e9babb5b2a8a19e98989898989898989898989898989898989898989898989898989898988e8275685b4f4235281c0f000000000000030c18222c363f48505a616a6f7980868d92979c9fa2aaa7a9a8a7a6a6a6a7a8a9a8a6a7a09d9a94908a837c746d675e574d453b32291e150a0000000000000000000007121d27313c454f59616a6f7b828a91969b9fa2aaa7a7a5a3a2a2a3a4a5a8a7a7a09d99928e867f756d675d554b42392e23180c0300000000000000000000000000000000080e161e25293036393c4247484b4e50515253535252514f4d4b4846423c3a36302a251f170f0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d111314191c1b19150f090200000000000000000000000000000000000000030613131313131313130d0c0a07020000000000000000000000000003060809131313131313130b0b09050100000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e2114070000000000000000000000000000000000000004101d2935404b556773808d9aa9b3ab9e9184786c6053463c2f261b1106000000000000000000000000000000000007131d28333f4a54606d7a86929facb1a7988b7f7265544a3f34281c1003000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000000000000000000000004101c2834404b54626f7c8996a0a49a938e939eab9d9083776a5f5347392e23180c000000000000000000000000000000000000000000000000071119222a313940454d53555d6065666d6f71737576777879797979787877757472706d6866625f58555046423b332c231a1208000000000000000000101d293643505c6976838f8b7f79797979797979797979797979797979797979797979797979797979797979797979797979797979797979797f8b8f8376695c504336291d100004111d2a36424e59636a6c6c6c6c6c6c6c6c6260584e43372b1f13060013202c3946535f6c7986929facada093867a6d6053473a2d20140700030d17202b343d44505b666d79839197a2abaaa1969083796d655b50483e352b21180e04000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000d1a2734404d5a6773808d99a3aeada196918b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8175685b4f4235281c0f0000000000000b151e2a343e48505a626c717c848c92989fa2a9aca8a8a09e9c9a9a999a9a9b9d9fa3ababaaa69f9c95908781796e695e574d443b30261c11060000000000000000000c18242f39434d57616b707c858f949ea0a8aca8a19e9a989695959697989c9fa2aaaba39f98928b81796d675d544b4034281e150b0000000000000000000000000000020a121a202830353b4146474e5355585b5c5e5f5f5f5f5e5e5c5a5855534d4846423b363029211a120a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13191d202126292825201b140c0300000000000000000000000000000000060c101220202020202020201a1917130e0800000000000000000000040a0f13151620202020202020181715110c06000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e21140700000000000000000000000000000000000000010d18242f3d495663707c8997a1adaca196897d7063584e41382d22170f06000000000000000000000000000000071118242f3844505b66717e8b98a2aeaca095887b6e6155483b2e23170b00000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000000000000000000000006131f2c3845515c6674818d9aa89f9388828e9baaa095887c6f62544a4034281c10040000000000000000000000000000000000000000000000000710181f282f353b42464c5154545c60626567686a6b6c6c6c6c6c6c6b6a69676563605d5655534e49443e36312a211a110800000000000000000000101d293643505c6976838f918b86868686868686868686868686868686868686868686868686868686868686868686868686868686868686868b918f8376695c504336291d100006121f2c3845525e6a757979797979797979766a6054473b2e2215080013202c3946535f6c7986929facada093867a6d6053473a2d201407010b151f29333d46505a606c78828f95a0a9aba29891847a6e675c53493f362d23190f0600000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000815212e3b4854616e7b86929faaab9e91847f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7d7063564a3d3023170a000000000007121d27303c46505a626c717e8691969fa2aaaba39f9b9796918f8e8d8d8d8d8f9092999a9ea1a9aba79f9a938d837b6e695e564c42382e23170c040000000000000004101d2935404b555f69707d8692979fa6aca69f9c96918e8b898988898a8c8f92989ea1a8aaa29f938f83796d665c51453d30271c1207000000000000000000000000020b141c242c323a41464d5254575f626567696b6c6c6c6c6b6a696765615f5754524d46423b332c241c140a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10161b1e25292d2e333534312c251e150c0200000000000000000000000000030a11171c1f2d2d2d2d2d2d2d2d2726231f19120a0200000000000000070f161b1f22232d2d2d2d2d2d2d2524211d1811090000000000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e21140700000000000000000000000000000000000000000713202d3a4653606d7985929eacb2a89c8f82756a5f53493f332721180f0802000000000000000000000003091119232935404b55606c7884919daab3a99d908477695f53463a2d1c110600000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000000000000000000000000000713202d3a4653606d7985929eaa9d90837d8998a2a79a8d8074665c5144382c1f130800000000000000000000000000000000000000000000000000060d161d242931363a4145474a505355585a5c5d5e5f5f5f5f5f5f5e5d5c5a595654524c4847433c39332a261f180f080000000000000000000000101d293643505c6976828f9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938f8376695c504336291d10000613202c3946535f6c7987868686868686867c6f6255493c2f2216090013202c3946535f6c7986929facada093867a6d6053473a2d20140707121d27313b454e58616c73808d949ea7afa39992867c6f685e554b41382d241b11070000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000714212d3a46535e6974818e98a2ada196887c7272727272727272727272727272727272727272727272727272727272706b6054483c2f22160900000000000c18232e39424e58616c717f8a9298a0a8aba49f99928e8a8784828180808081828486898d92979ea1a8aca49f9590847b6e685e544a3f342820150a0000000000000006131f2c3845515d676e7b869298a1a9aaa29f948f8984817e7d7c7c7c7d7f82868b91969da4aea59e958f82786d60594f42392e23180c0000000000000000000000010b141d262e363e444c52565e61666a6e717476777879797878777673716e6966615e57524d453e362e261c140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12181d1f272b3035393a3f42413d3730271e1409000000000000000000000000030c151c23282c393939393939393933322f2a241c140a00000000000007101920272b2e2f3939393939393932312e29221b120900000000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e211407000000000000000000000000000000000000000006121f2c3844505c6673808d9aa4afaa9e94887c6f655b50443d332a2219140e09060400000100000406090e141a232b353d45515d67717e8a95a0acada2978b7e7265574d42362a1e0a0000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000000000005111d2935414c5664707d8a97a2a9998c807885929fab9e9285796d6053463a3025190d0100000000000000000000000000000000000000000000000000040c12181f262a2f35393a3f4446494b4d4f505152525353525251514f4e4c4a4745413c3b37322d28221a140e06000000000000000000000000101d293643505c69768286868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868376695c504336291d10000613202c3946535f6c7986929393939393887c6f6255493c2f2216090013202c3946535f6c7986929facada093867a6d6053473a2d2014071118242f39434d57606a717e8b929ca6aea49f92877d706a5f564c43392f261b1209000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d20130700000000000000000000000000000000000000000005121e2a36424d57616e7b86929fa8a89c8f82766c6565656565656565656565656565656565656565656565656565656360594f44382c2014070000000004101c2834404b545f6a717e87939fa2aaa9a199938e86827e7a777574737373747577797c80858b91969da5afa79f9691847a6e665c50443c32261b0f04000000000004111d2935414b55606d79839098a2aaa9a198928a827c787472706f6f70717275797e848d929fa4aba79f948d80746b60544a4034281c10040000000000000000000009131d262f38404850565e61686e73777b7e81838485868685858482807e7b77736e69615e57504840382e261c13090000000000000000000000000000000000000000000000000000000000000000000000000000000000060c10151a1d24292c32383a4146474c4f4d49423930251b0f0400000000000000000000000a151e262e34384646464646464646403f3b362e261c120800000000040f19222b32383b3c464646464646463e3d3a342d241b1106000000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e211407000000000000000000000000000000000000000003101c28343f4a54616e7b87939fabb0a69c9083776c60584e453c342a251e1a1312100c070e070c1013131a1f262a353d47505a606d7984919ea7b1a99f9285796d6053473b31261a0e0000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000000000000000000000713202d3946525e6875828f9ba9a197897c75828e9baba1978a7d7064564c41362a1e1105000000000000000000000000000000000000000000000000000001070d141a1e24292c2e34383a3c3e40424344454646464645454442413f3d3a3935302e2b26201c170e0903000000000000000000000000000f1c2935424e5a66707679797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797670665a4e4235291c0f000613202c3946535f6c7986929f9f9f9f95887c6f6255493c2f2216090013202c3946535f6c7986929facada093867a6d6053473a2d2014101a232935404b555e696f7c86929fa4aea69d928b7f726b61584e443b31271d140a00000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000020e1a25313b46525e6973808c96a0ac9f948b7e716a5f5658585858585858585858585858585858585858585858585856544f473d33271c10040000000006131f2c3845515c666f7c869299a4aea8a0979187817b75716d6869676766676768676d7073797e848e939fa4aca8a0969083786d60584e43372b20150a00000000000613202c3945515d67737f8c95a0aaaba19792867e766f6c6565636262636465676d7279808b9399a4afa69d92897d70665c5144382c1f150a00000000000000000007101b252f38404a525a61686d747b8084888b8e8f919292929291918f8d8b8884807b746e69615a524a40382e251b0f060000000000000000000000000000000000000000000000000000000000000000000000000002090e11171c1f262b2f35393d43474c5254595c59534b42372c2015090000000000000000000006111c2630383f4453535353535353534d4b4740382e24190e020000000a16202b343d434749535353535353534b4a453f362d22180c010000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e2114070000000000000000000000000000000000000000000c17232e3846535f6975828e99a3afab9f948b7f726a60574e463e36302a25201f1c181b1a1b181c1f20262b31363f474f59616c74808d96a1adada2978d8073675d5145392a1f14090000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000000000000000000000714212e3a4754616d7a86929fab9e928579717e8b99a3a99b8f8275685e5246392d20150a0000000000000000000000000000000000000000000000000000000003090e13191d2023282c2d2f32343537383939393939393837363432302d2c2924211f1b15100b050000000000000000000000000000000d1926323e49545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69665e54493e3226190d000613202c3946535f6c7986929facaca295887c6f6255493c2f2216090013202c3946535f6c7986929facada093867a6d6053473a2d201418222c353e45515d676e7b859198a3aea79e948d80746d62594f463c32291f150b0200000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000009141f2a36424d57606d7984919aa4a69f92867c6e685d554b4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4a48443d352b21160b0000000004111d2935414b55606d79839098a3aba9a09691857d746e6964615d565b5a5a5a5a555c6063666d7179818b939aa4afa89f958c80736a5f54473d32271b0f01000000000714212d3a4754606d7a85929fa7afa49992857c716c63605b535656555657555c60676d747f87939fa6aea49d9184796d6053463c31261b0f0300000000000000030c19222d37404a525c636c717a81868c9196989a9c9e9f9f9f9f9e9d9c9a9895918d86817b716c645c524a40372d21180e0300000000000000000000000000000000000000000000000000000000000000000001040b1014191c23282c3137394045474e54565e616668655d53493d3125190c000000000000000000000c17232e38424a505f606060606060605a58524a40362a1f13070000030f1b27323d464e545660606060606060585650483f34291d11050000000000000002050708080808080808080814212e3b4754616e7a8794a1a094877a6d6154473a2e21140808080808080808080705020000000000000000000006111c2a36424d57626e7b87929fa8b0a69f92877c6f695f585046413b36312d2c282327272723282c2d31373b42465159606b717e8a929da8b1a79f92857a6d61554b4035291d10040000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000000000000000000000006121e2b37424d5765727f8b99a3ab9b8e81756d7a86929fac9f92867a6d6154473c32271b0f00000000000000000000000000000000000000000000000000000000000001080d1113171c1f20222527292a2b2c2c2c2c2c2c2b2a2927262321201d1915120f0a0400000000000000000000000000000000000a16212d38424c545a5c60606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605c5a544c42382d21160a000613202c3946535f6c7986929facaca295887c6f6255493c2f2216090013202c3946535f6c7986929facada093867a6d6053473a2d2016202a343e47515b606d79839097a1aaa9a0958f82786d605b51473d342a20170d030000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d20130700000000000000000000000000000000000000000000030e1a25303b45515d67707d88939fa6a29891847a6d675c544b423f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3d3c38332b231a0f05000000000613202c3945515d67737f8c95a0aaada19791847b706b615e5754524c4e4d4d4d4e4b5153545c60676d747f88939fa5afa79f92877c6f62584e43372b1d120700000005111e2a36424d5766727f8c97a2adaa9f93877d706a615a5350494a4949494a4b51555c606d73808c949fabaca0958b7e7164584e43372b1f1206000000000000000a151e2b343f49525c646e737e858d92999da0a8a9a29f9d9c9b9c9d9fa2aaa7a09d99928e857e736e645c52493f332a1f14090000000000000000000000000000000000000000000000000000000000000001080d11161c1f252a2e34383c42474b5153586062686d72756f65594d4134281b0e00000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c66635c52473b2f23170a000006131f2b38434e5860626c6c6c6c6c6c6c65625a50453a2e211509000000000002090e121415151515151515151515212e3b4754616e7a8794a1a094877a6d6154473a2e211515151515151515151514120e09020000000000000000000e1a26313b47535f6974808d96a0abaea39991857b6e6a615a524c46423c3a38342e3434342e34383a3c42474d535b626b707d86929fa4aeaaa0958b7f72685e5243392f24180d010000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000000000814212e3a47535f697683909daba3998a7e716875828f9caba3998c7f7265584e43372b1d1207000000000000000000000000000000000000000000000000000000000000000104060c10121316181a1c1d1e1f1f20201f1f1e1e1c1b19171413110d0806030000000000000000000000000000000000000005101c26313a42494e505353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353504e49423a31261c1005000613202c3946535f6c7986929f9f9f9f95887c6f6255493c2f2216090013202c3946535f6c7986929facada093867a6d6053473a2d201e28323c464f59636d75818e959fa9aaa1979083796d665c50493f352c22180e05000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000000009141f2935404b55606b73808d949fa8a0968f82796d665c544b433a323232323232323232323232323232323232302f2c27211a110800000000000714212d3a4754606d7a85929fa7b0a69e92857b6e696059524d47464141404040414045464b51555d606d727f8b939ea9afa3998f82766a605447392f24180c0000000714202d3a46525e697784909da9a8a2988d80746b60585046443f3d3c3c3d3e40454b515b606d7882909ca6b0a89d9083776a5f53473a2e21150600000000000006111c26303d46515b646e74808a92979fa3a9a19e999792908f8f8f909298989d9fa7a39f97928a80736e635b51453b31261a0e0400000000000000000000000000000000000000000000000000000000040a0f13191d20272c3036383f44464e53555d60656a6f747a7f8175685c4f4235291c0f00000000000000000006121f2c3844505c667679797979797979736e63584b3f3226190c00000815222e3b4754606a6f79797979797979716c62564a3d3124170b00000000050d141a1e2021212121212121212121212e3b4754616e7a8794a1a094877a6d6154473a2e2121212121212121212121201e1a140d05000000000000000009141f2b37424d57606d79849199a4afaba19791847c706c615e56534d494644404141414141404546494d53575f616d727d869298a2aeaca2989083786c60564c4131281d1207000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000000030f1b27333f4953626e7b88959fac9f92867a6d64717e8b99a3ab9d9083776a605447392e23180c0000000000000000000000000000000000000000000000000000000000000000000000030607090b0d0f101112131313131212110f0e0c0a0707040100000000000000000000000000000000000000000000000a151f2831383e4243464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464643423e3831281f150a00000613202c3946535f6c7986929393939393887c6f6255493c2f2216090013202c3946535f6c7986929facada093867a6d6053473a2d2026303a444e58616b727f8c939ea7aca29891857b6e675d544a3f372d231a100600000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000020c18242f39434f59606d78829096a0a89f948f82786d665d554c443b332b2525252525252525252525252525252322201c160f08000000000006131f2b37434e5866727f8c97a2adaa9e948a7d70695f574f46423b3935303433342e34383a40454b515b626d74818e97a1adab9e94897c6f62554b4035291d100400000814212e3b4754616e7b8795989a9b9c92857a6d61594f463e37332d2f2f302e34394045505c666f7c88949fabaca095887b6f6255483c2d22170b0000000000000c17232e38424f59626d74808d929ea1a9a39f97918c8885838282838385888b90959ea1a8a29f928d80736d62574d42362a20160a0000000000000000000000000000000000000000000000000001070c10151b1e24292c33383b42464a5053575f62676d71777c81868c83776a5d5144372a1e110000000000000000000713202d3a4653606d78868686868686868073665a4d4033271a0d00000916232f3c4956626f7c868686868686867e7165584b3e3225180b000000050f171f252a2d2e2e2e2e2e2e2e2e2e2e2e2e3b4754616e7a8794a1a094877a6d6154473a2e2e2e2e2e2e2e2e2e2e2e2e2d2a251f170f0500000000000000030e1a26313c45515d676f7d87939fa4aea9a19691867e756e68615e575653514a4e4e4d4e4e4b515356575f62696e767f879298a2aaafa49a92867c6f665b50443a301f160c01000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000000000000000005121f2b3744505b6573808d99a7ac9c8f837668606d7a86929faca095887c6f62554b4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f262d32353639393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393635322d261f160d0300000613202c3946535f6c7987868686868686867c6f6255493c2f2216090013202c3946535f6c7986929facada093867a6d6053473a2d232e38424c565f6a707d87939fa5afa49a92867c6f695e554b42382e251b11080000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d20130700000000000000000000000000000000000000000000000007121d27313d44505c666d7a849197a1a69e948f81786d675d564d453d3528231c141919191919191919191919171614100b050000000000000815222e3b4754606a7884919ea9b1a79c8f82756c61574d453d36302d292427272723282c2e343a4145515b606d7a85929eaab0a69b8e8275675d5145392c1f130600000b1825323e4b5865717e888a8b8d8e908e8174685e52473d342b272223222323282f343f4a545f6a76828f9cacb1a7998c7f736653493f33271b0f030000000003101c28343f4a54606b727f8c929ca4aaa299928c84807b787675757677797b7f838a91969fa6a49c928b7f72695f53463d32271b0f030000000000000000000000000000000000000000000003090e12181c1f262b2f35393d44484d52545c60646a6e74797e83898e929084776a5d5144372a1e110000000000000000000713202d3a4653606d798693939393938d8073665a4d4033271a0d00000916232f3c4956626f7c8993939393938b7e7165584b3e3225180b0000020d17212930363a3b3b3b3b3b3b3b3b3b3b3b3b3b4754616e7a8794a1a094877a6d6154473b3b3b3b3b3b3b3b3b3b3b3b3b3a36302921170d020000000000000009151f2935404b55606b727f8b929da4ada9a198928a817a746e696562605c545b5a5a5a5b545c606266696e747b828b9299a2aaaea39f93887e706a5f544a3f32291e0d0400000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000000000000000000000613202d394653606c7884919eaba49a8b7f72655d6875828f9caaa79a8d8074675c5145382c1f14080000000000000000000000000000000000020507080c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0b0906010000000000000000040d151c212629292d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292926211c150d0400000006121f2c3845525e6a757979797979797979766a6054473b2e2215080013202c3946535f6c7986929facada093867a6d6053473a2d28343f4a545e686f7c869299a4afa59f93887e706a60574d433a30261c1309000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000000000010b151f28343f4a545e686e7b859298a2a69e938f82796d685f574f473e342e261e160d0c0c0c0c0c0c0c0c0c0a09070400000000000000000916222f3c4955626f7c8896a1acaca095897c6f625a50453b332a25201d191a1a1a181c1f23282f353f45515d67727f8b98a2aeac9f9286796d6053473a2d20140600000714212d3a4754606d797c7d7f808183847d7063564c41352b221b17161616181d232e38424e5864717d8a9aa4afa99c8f8276655b5044372b1f12050000000006121f2c3844505c666f7c87929fa4aba29892878079736f6a6a696869656c6e72777d848f949fa6a49f92867b6e61584e43382b1f13060000000000000000000000000000000000000000060b0f141a1d23292c32373a4145474f54565e61666d71767b80858b90959b9d9084776a5d5144372a1e110000000000000000000713202d3a4653606d7986939f9f9f998d8073665a4d4033271a0d00000916232f3c4956626f7c89959f9f9f988b7e7165584b3e3225180b000009141f29333b4246484848484848484848484848484854616e7a8794a1a094877a6d6154484848484848484848484848484846423b33291f140900000000000000030d18242f3a434f59626d74808d929ca3adaaa29f938e86807b76726f6d6669686767676869666d6f72777b81868f949fa3ababa39f918c7f726c61584e42382d20170d0000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000004101d2935404b5563707d8996a1ac9f93877b6e615664717e8a98a2ab9e9285796d6053463b3025190e02000000000000000000000000000003090e12141519191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191816120d070000000000000000030a1016191c1d20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201d1c1916100a030000000004111d2a36424e59636a6c6c6c6c6c6c6c6c6260584e43372b1f13060013202c3946535f6c7986929facada093867a6d6053473a2d353d44505c666d7a849198a2aba69d938c7f726c61584e453b31281e140a01000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000030d17232e38424c565f696f7c869299a3a59e948f827a6e69605950443f38302820180f07000000000000000000000000000000000000000d1a2633404d596673808c99a8b2aa9d9083776a6054483e332a211a14110d080d070c1013181d242935414c55606d7985929fabaea2988a7d7164574a3e2e23170b00000613202c3945515d676d6f707273757678706b6054443a30231a0f0b0609070c121c26303c4754616d7a86939facab9f9285796c605346392d20130600000003101c28343f4a54606d78839099a3afa39992867d736d67625f585c5c535b6061656c707a828f949fa9a2988f82766a6054473b2e221508000000000000000000000000000000000002080d11171c1f262a2f34383c43474c5254596063696e73797d82888d92979da0a79d9084776a5d5144372a1e110000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2aca4988b7e7165584b3e3225180b00020e1a25303b454d52545454545454545454545454545454616e7a8794a1a094877a6d61545454545454545454545454545454524d453b30251a0e020000000000000007131d28313d47515b606c77808c919ea1a9aea59e98928d87837f7c79777674747474747677797c7f83888e92999fa6aea8a199928b7f736d635a50463c2f261c0e050000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000006131f2c3945515d6774818e9ba8ab9c908376695e53606d7a86929faca2978a7d7164564d41362a1e110500000000000000000000000000060d141a1e2122262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262525221e181109010000000000000000050a0d0f101313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313100f0d0a05000000000000010e1a26313d4751595e5f6060606060606055544e463c32271b0f030013202c3946535f6c7986929facada093867a6d6053473f383d47515b606d78828f96a0aaa89f948e81746d635a50463c33291f160c0200000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000006111c26303a444d57606a707d879298a2a69e9490847b6f6b625a504a423a322a21191106000000000000000000000000000000000005111e2a36424d576976838f9ca9b5ab998c7f7366584e43362c21180f0905010000000004070c1319242f3a45515d6774818e9aa7b4aa9b8e817468544a3f34281c10030004111d2935414c555d606264656768696b6360594f4432291e110800000000010a14202d3946525e687784919daaaea298877a6e6154473b2e21140800000006121f2c3844505c66727f8b95a0aba89f92877d706b605d55534e4f4f495053555a61686d79829097a1a49f94897c6f6256493c2f231609000000000000000000000000000001040a0f13191c22282b3136394045474e53565d60656b70757b80848a8f949a9fa2a7a09d979083776a5d5144372a1e110000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0005121e2a36424d575e616161616161616161616161616161616e7a8794a1a094877a6d616161616161616161616161616161615e574d42362a1e120500000000000000010c161f2b353f44505b656c747f8a92979ea6acaaa29f9a93908c898684828181808181828486898c90959a9fa3ababa49f9691877e736d635b51473e342a1d140a000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000000000000000714202d3a4753606d7985929faba3998b7f726557515d6775818e9ba9a99c8f8275685e5246392d20160a000000000000000000000000060f181f262a2d2e3232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232312e29231b13090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915202b353f474e5253535353535353534947433c342b20150a000013202c3946535f6c7986929facada093867a6d6059504a42454f59626d74808d949fa8a9a0968f82786d605b51483e342b21170d040000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000a151e29323c454e58616b707d869298a2a69f9691857d716c605c544c443c332b2317110a020000000000000000000000000000000714202d3a46525e697885929eabafa399897c6f6256493d32231a0f060000000000000000000108131e2935404b5564707d8a97a9b3aa9d908377665c5044382b1f120600010d19242f3a434c51545557585a5b5d5e56544f473d3320170d00000000000005111d2a36414c566875828e9ba8b3aa95897c6f6256493c2f2316090000000713202d3a4653606d7984919ea7ada1968d80736b6059514b474342423f44464850565d676d7a85929b9993908c8275685c4f4235291c0f02000000000000000000000001070d11161b1e252a2d33383b42464b5153585f62686d72777d82868c91969c9fa6a39f9b95908b857f7366594c403326190d0000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000714202d3a46525e696e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e7a8794a1a094877a6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e695e52463a2d2014070000000000000000040d192327333f49535b606d737d858f949da0a7acaca49f9c989892918f8e8d8d8d8e8f919298999d9fa7acaca69f99938d847d716c635b51493f352c22180b02000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000000000000000005111e2a36414d5664717e8a98a2ac9f92867a6e61544b5563707d8a97a1ac9f92867b6e6154473d32271b0f0100000000000000000000030d18212931363a3b3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3e3a342d251b110700000000000000000000000000000000000000000000000000000000050a0d0f101313131313130f0f0d0904000000000000000000000000000000000000000000000000000000000000040f19242d353d424546464646464646463c3b37322b22190f04000013202c3946535f6c7986929facaea194887b706b605b544c4d57606b727f8b929da6aba19791847a6d665c51493f362c22190f05000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000030c17202a333d464f59616b707d869298a1a8a09792877e746d665d564d453d3527221b140b0300000000000000000000000000000814212e3b4754616e7b8797a2adac9f92867a6d6053473a2d2014070000000000000000000000010d18242f3b4754616e7a8797a1adac9f9286796d6053463a2d201307000008131e28313a414547494a4c4d4e50514948443d352b210e05000000000000010d192530414e5b6774818e9aa7b0a3968a7d7063574a3d3024170a000004101d2935404b5564717d8a96a1acaa9e9184796d60594f45403937312d3337393e444c555e68717e8b8e8a86837f7c6f6255483c2f22150900000000000000000000040a0f13181d20272c3036383f44464d53555c60646a6f747a7f84898f92999ea1a9a19e99928e89837e79736d63574b3e3225180c0000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000815212e3b4854616e7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c8995a2a295887c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b6e6154483b2e211508000000000000000000071017222d384149505b636b707b828990959c9fa4acaca9aaa39f9d9c9b9a9a9a9b9c9d9fa3aaaaababa39f9b948f878079706b625a514940372e231a100600000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000714202d3946525e6876828f9caaab9c8f8276685e524653606d7985929eaba3998c7f7266584e43372b1d12070000000000000000000009141f29333b4246484c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4a463f372d23180d0100000000000000000000000000000000000000000000000000030a11161a1c1d2020202020201c1b1915100902000000000000000000000000000000000000000000000000000000000008121b242b31363839393939393939392f2e2b272019100700000013202c3946535f6c7986929facb8ab9e92857d736c665e56555f69707d87929fa4aea39992857b6e685d544a40372e241a100700000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000050e18212b343e474f59616b707d8691969fa7a199928b80786d685f574f473f332d261d150c03000000000000000000000000000916232f3c4956626f7c8995a9b3aa9e918477675d5145382c1f13060000000000000000000000000714202d3946525e687885919eabaea398887b6e6255483b2f2215080000010c161f282f35393a3c3d3f404243453d3b38332b23190f0000000000000000081a2733404d5a6673808d99a6b0a4978a7d7164574a3e3124170b00000613202c3945515d6775828f9ba8aea3988b7e71675d51473d352f2b2622272b2d323a434c56606d7883817e7a76736f6a5f53473b2e2115080000000000000000070c10151b1d24292c32383a41464a5053575f61676d71767c81868b91959b9fa3a69f9c96918c86817c77716d67635b51463b2f22160a0000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00121f2b3845525e6b788487878787878787878787878787878787898e99a4a4988e888787878787878787878787878787878784786b5e5245382b1f120000000000000000000006111b262f383f44515961696e757d83898f939a9c9fa2aaa7a8aaa9a7a7a7a7a7a9a9a8a6a9a29e9b99928e88827c746d676059504840372e251c11080000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000814212e3b4754616e7b86929faca3998b7e7165564c44515c6674818d9aa8ab9d9184776a605447392f23180c000000000000000000020e1a26313b454d535559595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959585651493f34291e1206000000000000000000000000000000000000000000000000040d151c2226292a2d2d2d2d2d2d292825211b140c03000000000000000000000000000000000000000000000000000000000009121920262a2c2c2d2d2d2d2d2d2d22221f1b150f070000000013202c3946535f6c7986929facb9ada197928780786d68605d676e7b859299a3aea49f92877d6f695f564c42392e251c12080000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000060f19222c353e474f59606b6f7c8490959ea5a39f928d827a6e69605950443f382f271e150d040000000000000000000000000a1723303d4a5663707d8996a3b0a99c90837669554b4035291d100400000000000000000000000005111e2a36414c566a7683909da9b4aa96897c6f6356493c30231609000000040d161e24292c2d2f313234353638302f2c272119110700000000000000000d1a2633404d596673808c99a6b1a4978a7e7164574b3e3124180b00000714202d3a4753606d7a86929facac9f92867a6d60554b403529241d1a171b1f2028313a44515c666d7775716d6866625f584e43372b1f1206000000000000030b12181c1f262b2f35393d43484c52545b6063696e73797e83888e92989da0a8a29f9a94908a847f7a756f6b65605d55514940352a1e12060000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00121f2b3845525e6b7885919494949494949494949494949494949599a0aaaaa098959494949494949494949494949494949184786b5e5245382b1f1200000000000000000000000a141d262d3340474f575e616b70777d82878b8f9298989a9b9d9e9e9f9f9f9e9d9d9b999797928e8a86817c766f6a605d554f473e362e251c130a000000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000000000006131f2b37434e5865727f8c99a3ac9f92867a6d615447404a54636f7c8996a1aca095897c6f62554b4034291c1004000000000000000005121e2a36424d575f616565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565625b51463a2e2216090000000000000000000000000000000000000000000000030d161f272d3235363939393939393635312c261e150c020000000000000000000000000000000000000000000000000000000000080f151a1d1f20202020202020201615130f0a04000000000013202c3946535f6c7986929facb9b3a9a199938c827a6f6a656d79839097a1aba59c928b7e716b60574d443a30271c130a000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000007101a232c353e474f59606a6f7a838f939fa4a49d948f847b706b625a5049413930271f160d0400000000000000000000000b1724313e4a5764717d8a97a4b0a89b8f8275685c4f422f24180c00000000000000000000000000010d192530424f5c6875828f9ba8b0a3968a7d7063574a3d3024170a00000000040c13191d202122242527282a2b252423211c170d0801000000000000000e1b2734414e5a6774818d9aa7b0a4978a7d7164574a3e3124170b00000a1723303d4a5663707d8998a3aea89b8e8275675d51433a2f23181d1d1d1d1d161f2834404a545c606a6864615e5655534e463c32261b0f030000000000030c151c23282c31373a4045474f54565e61666c70767b80858b90959a9fa2a8a09e98928e88837e79736e6863605953514b4340372e23190d020000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00121f2b3845525e6b7885919ea1a1a1a1a1a1a1a1a1a1a1a1a1a1a2a4aab2b2aaa4a2a1a1a1a1a1a1a1a1a1a1a1a1a1a19e9185786b5e5245382b1f120000000000000000000000020b141b2227353e454d525960636b70757b7e8285888b8d8f9091929292929191908e8c8a8885817e7a746f6a626058514b433d352d241c130a01000000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000000000000000815212e3b47535f6a7783909dabaa9c8f8275685e5246394653606c7884919eaba89a8d8174675c5145382c1f140900000000000000000714212d3a46535f696e72727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272726d62564a3e3125180b00000000000000000000000000000000000000000000000a151f2831383e424346464646464642413d3730271e140900000000000000000000000000000000000000000000000000000000000004090e11121313131313131313090806030000000000000013202c3946535f6c7986929facb9bab2aba49f948f847c726c77818f95a0a9a79e938c80736c61594f453c32281e150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000008111a232c353d474f585f686e79818c939aa2a69f9691857d716c605b534a423931281f160d04000000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8275685b4f4235281c070000000000000000000000000000081b2835414e5b6874818e9ba7b0a4978a7d7164574a3e3124170b000000000008121a22282d303132323232323231302d282219130c04000000000006121e2b37424d576875828f9ba8b4aa96897d7063564a3d3023170a00000d1a2733404d5a6673808d99aab4aa978b7e7164554c4131282a2a2a2a2a2a2a2a2a232e39424a51535d5b5754524c4847433c342a20150a0000000000000b151e272e34383c43474b5153596063686d72787d82878d92979d9fa7a49f9c96918b86817c76716d66615e56544f47454039312e251c1207000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00121f2b3845525e6b7885919e9f9f9f9f9f9f9f9f9f9f9f9f9f9fa1a3a8b0b0a8a3a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9e9185786b5e5245382b1f12000000000000000000000000020a1117232c333b42464f54596063696e7276797c7e808283848585868585848382807d7b7975716d68625f58544e45403a312b231b120a0100000000000000000000000b1825313e4b5864717e8b97a4aca89b8e8175685b4e4235281b0f08040000000000000000000003050e1b2734414e5a6774818d9aa7aca4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000003101c28343f4a54626f7c8895a0aca3988b7e7164564c413744505b6573808d9aa7ab9f9285796d6053473b30251a0e02000000000000000815222e3b4855616e7b7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7265584c3f3225190c0000000000000000000000000000000000000000000005111c27313a434a4e505353535353534f4d49423930261b1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9b2a8a09da09f9691877f76808c939ea7a89f958e81776c605a50473d332a20160c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000008111a232b353d464e565e676d7780889298a0a8a09792877e736c655c544b433a31281f160c030000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2834414e5b6774818e9aa7b1a4978b7e7164584b3e3125180b0000000005101a242c33393c3e3f3f3f3f3f3f3e3c393329241e16100c0709060b1117232d3a47535f697884919eabaea398887b6e6155483b2e2215080004101c2834404b546976828f9ca9aea398887b6f6255483c2f3737373737373737373737373039404446514e4b4746413c3b37322a261f180f060000000007121c2730394044464e53555d60656b6f757a7f848a8f939a9ea1a9a29e99938f89847f7a746f6a64605c54524c48433d39352f271f1c130a00000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00121f2b3845525e6b78849193939393939393939393939393939394979ea8a89e97949393939393939393939393939393939185786b5e5245382b1f12000000000000000000000000000006111a202930363d44484f54565e6165666d6f7174757778787979787877767573716f6d6664605d56534e47433d352f281f191109000000000000000000000000000b1825313e4b5864717e8b979f9f9f9b8e8175685b4e4235281b1614100b05000000000000060b0f12131b2734414e5a6774818d9a9f9f9f978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000006121f2b3844505c6673808d9aa7ac9f92867a6d6054473a333f4953626f7c8895a0aca2978a7e7164574d42362a1e1205000000000000000a1724303d4a5763707d8a8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c86796c5f5346392c2013000000000000000000000000000000000000000000000a16222d38434c545a5d6060606060605c5a544c42372c2115090000000000000000000000000000000000000000000000000000000105090b0b13131313070604000000000000000000000000000013202c3946535f6c7986929facb9aca0969196a0a199928c838c929ca5aaa1969083796d655b50483e352b21180e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000081119232b343c444d555d656c737e8691969fa6a299928b80776d665d554b433a31281e150a0000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000b17222c363e44494a4b4b4b4b4b4b4a49453e352f281f1c18171616171b222935404b55616e7b8896a1acac9f9286796d6053463a2d2013070006131f2c3845515c667884919eabac9f9286796d6053464444444444444444444444444444444444444444444444444444443b3a36312a21180e030000000c18232e39424a5153585f62676d72777c81868c91969c9fa4a7a09d97928d87827d78726d68625f5853504a46413b38322c29241d150d0a0100000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00121f2b3845525e6b788486868686868686868686868686868686878c97a3a3978c878686868686868686868686868686868684786b5e5245382b1f12000000000000000000000000000000080e171f2f3a454f575c5e60605f545c60626567686a6b6b6c6c6c6b6a6a68666462605c5454524c47433c383229241d160d0700000000000000000000000000000b1825313e4b5864717e8b93939393938e8175685b4e42352b2423201c170e09030000020a11171b1f20252c34414e5a6774818d93939393938b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000000000713202d3a4653606d7985919eabaa9b8f8275675d5145392d3847535f6a7784909daaa99c8f8276695e52463a2d20160a000000000000000a1724303d4a5763707d8a96989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989286796c5f5346392c2013000000000000000000000000000000000000000000010d1a26323e4a545e66696c6c6c6c6c6c69655e54493d3125190d0000000000000000000000000000000000000000000000000000060c111517182020201f1413100c0701000000000000000000000013202c3946535f6c7986929facb7aa9d91849196a0a39f9490949ca4aba29891847a6d675c53493f362d23190f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000071019222a323b434b535b606c707c848f949da4a39f928d81786d675d554b433a30261c110600000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000004101c28333e4850555758585858585857555045413a312c282323222322282d333d45515d67727f8c99a8b2a99d908376665c5144382c1f1206000713202d3a4653606d7986939facaa9d908477665c50505050505050505050505050505050505050505050505050505050504846423b332a1f1409000004101c2834404a545c60646a6f747a7e83898e92999ea1a8a39f9b95908b85807b75706c65605d56534e46443f3836302c271f1d18120b03000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00111e2a3743505c687278797979797979797979797979797979797a8794a1a094877a797979797979797979797979797979797872685c5043372a1e11000000000000000000000000000000000f1b2834404c5761686b6c6c6c605c5455585a5c5d5e5f5f565d6065696b6c6b6965605c554e463c37312b272018130c040000000000000000000000000000000b1825313e4b5864717e868686868686868175685b4e42393831302d28221a140c07070b141b22272b2d323939414e5a677480868686868686867e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f06060403010000000000000203060e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000000000004111d2935414c5563707d8a97a1ada2988a7e7164554c41352b37434e5866737f8c99a7ac9f93877b6e6154483d32271b0f010000000000000a1724303d4a5763707d8a969f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9286796c5f5346392c2013000000000000000000000000000000000000000000030f1c2935424e5a6670767979797979797570655a4d4135281b0f020000000000000000000000000000000000000000000000000911181d2124252d2d2d2c201f1c18120b030000000000000000000013202c3946535f6c7986929facaea194877b849196a1a69f9c9fa6afa39992867c6f685e554b41382d241b110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000071018202931394149505a616a6f7a828d929fa4a49c938e82796d675d554b42382e23171006000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000814212d3944505a616465656565656564615a514c433e38342e302f302d33383f44505a606d7985929eabb1a7998c807366544a4034281c1004000815212e3b4854616e7b879aa4afa99c90837669545d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d55534d453b31261a0e020006121f2c3844515c666d71767c81858b90959b9fa3a8a19e99928e89837e79736e6963605b53524c47433c38342e2a251e1b16100c070100000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000f1b2834404b5660686b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6e7a8794a1a094877a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6860564b4034281b0f00000000000000000000000000000005111e2a3744505c6873787979796d665c504b4d4f4c52565e61686d727678797876726d675f584e463c30261c160d0701000000000000000000000000000000000a1724303d4956626c7179797979797979756f65594d4646453d3c39332a261f181212181d262d3337393e4546464c58646e7479797979797979716c6256493d3024170a000b1825313e4b5864717e8b97a4aca89b8e8175685b4e4235281b13131311100e0a050005090d0f1013131b2734414e5a6774818d9aa7aca4978b7e7164584b3e3125180b0000000000000613202c3945515d6775818e9ba9ac9f92867a6d6053473a2f26323c4855616e7b88959faba4998c7f7266594f43382c1d12070000000000000a1724303d4a5763707d8a93939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939286796c5f5346392c201300000000000000000000000000000000000000000003101d2a3643505d6976828686868686868275695c4f4236291c0f03000000000000000000000000000000000000000000000009121b22292e3132393939392d2c29231d150d0300000000000000000013202c3946535f6c7986929facada09386797b849197a1a9a9abb0a89f92877d706a5f564c43392f261b12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000060e171f282f383f4450585f686d78808b9399a3a59e948f82796d675d544a3f342822180b020000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000a1623303c4955616c71727272727272716c605d554f4645403e3d3c3c3d3f44495059616c73808d97a1adab9f95887c6f6255483c2e23180c00000916232f3c4956626f7c8995acb6a89c8f82756a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a615f574d42362a1e1205000713202d3a4653606d787e83888d92989da0a7a69f9c96918c86817c77716d67615f5753504945413a37312c28231c19140f0a0400000000000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000b17232f3a454e565c5e6060606060606060606060606060616e7a8794a1a094877a6d6160606060606060606060606060605e5c564e453a2f23170b00000000000000000000000000000005121f2b3845525e6b7885868686786d60534a4c51565e61686d737a7f82858685837f796f6a5f584e42382e23170b0000000000000000000000000000000000000815212d3945505a62646c6c6c6c6c6c6c68655d53535353514a49443e363129231d1d23282f383f44464b52535353535c64676c6c6c6c6c6c6c64625a5045392d211508000b1825313e4b5864717e8b979f9f9f9b8e8175685b4e423528202020201d1d1a16110b1015191c1c2020202734414e5a6774818d9a9f9f9f978b7e7164584b3e3125180b0000000000000714212d3a4754606d7a86929facaa9b8e8175675d5145392c212d3a46535f697683909dabab9e9184776b605448392f24180c0000000000000a1724303d4a5763707d8686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796c5f5346392c201300000000000000000000000000000000000000000003101d2a3643505d69768390939393938f8275695c4f4236291c0f030000000000000000000000000000000000000000000006111b242d343a3d3e464646463a38342f271f150b01000000000000000013202c3946535f6c7986929facada093867a6e7b859197a1a9b3aca1968b7f726b60584e443a31271d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000050d161d262d333e464e565d666d747f879298a2a69e949082796d665c50443f342a1d140a0000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000b1724313e4a5764717e7e7e7e7e7e7e7d756d67615953514b4b4a49494a4a50535b606b707e88939fa9b0a69d9083766a5f53473b2e1c120700000a1623303d495663707c8996a3afa89b8e8177777777777777777777777777777777777777777777777777777777777777776e695f53463a2d21140700101d293643505c6976828a90949a9fa2aaa29f9a948f8a847f7a756f6a64605d55534d46443f38352f2b261f1c17110e0802000000000000000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0007121e28333c454b50525353535353535353535353535354616e7a8794a1a094877a6d61545353535353535353535353535352504b453c33281e120700000000000000000000000000000003101d2a3643505d6976839098897c6f635a56555d60686d737a80858b8f9192928f8b847c6f6a5f544a3f34281c1003000000000000000000000000000000000005111d29343e48505658606060606060605b595e606060605e57555046423b342f27272e343c41495053585f6060605f5c585a60606060606060585650483e34291d1105000b1825313e4b5864717e8b93939393938e8175685b4e42352d2d2d2d2d2a2926221c151b212528292d2d2d2d34414e5a6774818d93939393938b7e7164584b3e3125180b000000000005121e2a36424d5765717e8b98a2aea2988a7d7064554b4035291e2a36424d5765727f8b99a3aca096897c6f63554b4035291d100400000000000916232f3c4855616b707979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746a5e5145382b1f1200000000000000000000000000000000000000000003101d2a3643505d697683909c9f9f9c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000010c18222d363f454a4b535353524745403931271d1207000000000000000013202c3946535f6c7986929facada093867a6d6f7c859297a2aaab9e91847a6d675c554b423930261e140b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000040b141b2227343c444c545c606d727e869298a2a69f958f82786d605a50463c2f261c110600000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000003101d2a3643505d6976838b8b8b8b8b8b8a817a706b64605c545756555657545b60656c727d86929aa4afaa9f948a7d7064584e43372b1f0b0000000a1724303d4a5763707d8a96a3b0ab9e928583838383838383838383838383838383838383838383838383838383838383837b6e6155483b2e22150800101d2a3743505d6a7683909c9fa6a8a09d98928d88837d78736d6862605853514b46423b37332d29241e1b15100c06000000000000000000000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00010c17212a333a4043454646464646464646464646464754616e7a8794a1a094877a6d6154474646464646464646464646464543403a332a21170c01000000000000000000000000000000010e1b2834414e5b6774818e9a8e81756c656364676d737a80868d92989c9e9f9e9c9691857c6f665c5044382b1f13080000000000000000000000000000000000000c17222d363e45494b5353535353535359636b6c6c6c6c6b64615a534d45403931303940454d535b60656c6c6c6c6b686157535353535353534b49453e362d22170c00000b1825313e4b5864717e868686868686868175685b4e423939393939393736322d271f262c3235363939393939414e5a677480868686868686867e7164584b3e3125180b00000000000714212d3a46535e697683909caaab9f9285796d6053463a2f241a26313b4754616d7a86929faca89a8e8174675d5145392c1f140900000000000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a62584d4135291d100000000000000000000000000407090a0b0b0b0b0b0b101d2a3643505d697683909ca9a89c8f8275695c4f4236291c0f0b0b0b0b0b0b0a09070400000000000000000000000005111d29343f485056586060605f53514b43392f23180c000000000000000013202c3946535f6c7986929facada093867a6d6a6f7c859298a2aaa1968f82796d675c544a423830261d140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117222a323a424a505b626c717d869298a2a79f948e81746d62584e42382d22170b00000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000030f1c2936424f5c6975828f9898989898938e847d76706d6666646362636465666c71787f879298a2acaca2988f82766c6155463c32261b0f0000000a1724313d4a5764707d8a97a3b0ada1979290909090909090909090909090909090909090909090909090909090909090887b6e6255483b2f22150800101d2a3743505d6a7683909da9a49c96918b85817c76716d66615e56544e4745403936312b27221b19130f0a030000000000000000000000000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000050f1821282f34373839393939393939393939393b4754616e7a8794a1a094877a6d6154473a39393939393939393939393837342f2821180f0500000000000000000000000000000000000c1825323f4b5865727e8b98938b7f75717071747a80858d92989fa2aaa4a3a5a8a1979083786d6053463a2f24190d01000000000000000000000000000000000006111b242d34393d3e464646464646525e6b757979797978706c615f57514b433e3d424b51575f656c71787979797873685c504646464646463e3d39342d241b110600000a1724303d4956626c7179797979797979756f65594d3b46464646464644423e39312930383d41434646464646464c58646e7479797979797979716c6256493d3024170a00000000000815212e3b4854616e7b87939faca99b8e8174675c5145382c1d14202d3946525e6876828f9caaab9f9285796d6053473b31251a0e00000000000714212d3a46535f696e72727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272726d62564a3e3125180b00000000000000000000040b10131616171717171717171d2a3643505d697683909ca9a89c8f8275695c4f4236291c17171717171717161613100b05000000000000000000000915212e3a45505a62656c6c6c6c605c554b4034291c10040000000000000013202c3946535f6c7986929facada093867a6d606a6f7d869298a3a89f948f82796d665c544a42382f261d140b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000061018202830383f44515a616b707d869299a4a69d938b7e716a5f544a3f33281d1207000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000020e1b2835414e5b6874818e9ba5a5a5a59e96918a837d79767271706f6f707275787d838b9299a2aaafa49a92867b6e61594f44342a20150a0000000a1724313d4a5764707d8a97a3b0b3a9a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d94887b6e6155483b2e22150800101d2a3743505d6a7683909da99c928d847f7a746f6a64605c54524c48433d38352f2a261f1b17110d080100000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000000060f171e23282a2b2d2d2d2d2d2d2d2d2d2d2e3b4754616e7a8794a1a094877a6d6154473a2e2d2d2d2d2d2d2d2d2d2d2b2a28231e170f060000000000000000000000000000000000000815222f3b4855626e7b88959b918b827e7d7e81858c92989fa2a29f9a9796989c9f9f958a7d7164554c4135291d110400000000000000000000000000000000000009121b22292d303139393939394653606c7987868686847d756e69605c554f46454f545c60696e777e8586868685786b5f5245393939393931302d29221b12090000000815212d3945505a62646c6c6c6c6c6c6c68655d534648535353535353504f4a433b313a42494e4f53535353535348535c64676c6c6c6c6c6c6c64625a5045392d2115080000000007131f2c38434e5866737f8c9aa4ada2978a7d7063554b4034281c111d2a36414c5664717e8b98a2aea2988b7e7164574d42362a1b1106000000000815222e3b4855616e7b7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7265584c3f3225190c000000000000000000070f161b20222324242424242424242a3643505d697683909ca9a89c8f8275695c4f42362924242424242424242322201c160f070000000000000000000b1724313d4a56626c71797979796d675c5145382c1f13060000000000000013202c3946535f6c7986929facada093867a6d60606a707d869299a3a69f948f82786d665c544a42382f261d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e161e262e343f485059606b707e87939fa6a59f92867c6f665b5044392e23180c000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000010e1a2734414d5a6774808d9aa7b1b4aea8a19e94908a85827f7e7d7c7c7d7f82858a90959fa3ababa39f93887e71695f53473e3322180e040000000a1723303d4a5663707d8996a3b0b8b0aba99f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa9aaaaaaaaaa94877a6e6154473b2e21140800101d2a3743505d6a7683909da69a8d8079726d68625f5853504a46413b38322c29241d1a150f0b0600000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00000000050c12171b1e1f202020202020202020212e3b4754616e7a8794a1a094877a6d6154473a2e212020202020202020201f1e1b17120c05000000000000000000000000000000000000000814212e3a47535f6a7784919d9b948f8b898a8d92989fa2a29f98928d8a898b90949c9c8f8276675d5145392c201306000000000000000000000000000000000000000911171d2124252d2d2d2d313e4b5864717e889396918a827b736d67615953525960666d737b828b929792877e7064574a3d312d2d2d2d2524211d1711090000000005111d29343e48505658606060606060605b59534d535f6060606060605d5b554d4339424c545a5c6060606060605f5353585a60606060606060585650483e34291d1105000000000915222e3b4854606a7784919eacab9e9285796d6053463a2e23180d1925303a4754606d7a86929facaa9c8f8276695e5346382d22170b000000000a1724303d4a5763707d8a8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c86796c5f5346392c2013000000000000000007111921272c2f303131313131313131313643505d697683909ca9a89c8f8275695c4f4236313131313131313131302f2c272119110700000000000000000b1825323e4b5865717e86868686796d6053473a2d20140a0000000000000013202c3946535f6c7986929facada093867a6d6058606b707d879299a3a69e948f81786d665c544a41382f261b11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000010000040607080707050100040c141c2328363e474f59616c727f8c949faaa3989083786c60554b4034281c10040000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000d1a2633404d596673808c99a6b4aaa29f9a9f9f9c98928f8c8a8988898a8b8e92979da0a7aea8a199928b7f726c61574d42352c21100600000000091623303c4956636f7c8996a2afb0a69f9c9393939393939393939393939393939393939393939393939c9ea6b0aea398877a6d6054473a2d21140700101d2a3743505d6a7683909da99c928d847f7a746f6a64605c54524d48443d39352f2b261f1c17110d080200000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000000000001070b0f1112131313131313131314212e3b4754616e7a8794a1a094877a6d6154473a2e2114131313131313131312110f0b0701000000000000000000000000000000000000000006121e2b37424e5765727e8b95a09e9c9896979a9fa2a39f98928c85817e7d7e838c929f92867a6d6054473a2d2114070000000000000000000000000000000000000000060c1115171820202024303d4956626c717f8b919e948f868079706b615f5d606b6f797f868f949f93887e716c6155493c3023202020181715110c060000000000000c17222d363e45494b535353535353534e4d4d575e6c6c6c6c6c6c6c6a665f554a3e49545e66696c6c6c6c6c6c6c5e574d4e535353535353534b49453e362d22170c0000000004101c2834404b54626f7c8996a0aca99a8e8174665c5144382c1d120813202c3945515d6775818e9ba9ac9f93877b6e6153493f33271b0f030000000a1724303d4a5763707d8a96989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989286796c5f5346392c201300000000000000040f19232b32383b3d3e3e3e3e3e3e3e3e3e3e43505d697683909ca9a89c8f8275695c4f423e3e3e3e3e3e3e3e3e3e3d3b38332b23190f05000000000000000a1723303d4a5663707d8993988a7d7063574a3d31261b0f0300000000000013202c3946535f6c7986929facada093867a6d605359616b717e87929aa4a69e938e81786d665b534941382d2217140a01000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000020608080e070c101313151413110d0802020a1117242c353d47505a606c77828f98a2aa9f958b7e71675c5145382c1f14080000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000c1926323f4c5965727f8c98a5aea298928d939aa0a29f9c999796959697989b9ea1a9acaba39f9691877f726d625a50453c31231a1000000000000815222f3b4855626e7b8895a9b3ab9f948f8686868686868686868686868686868686868686868686868f949eaaac9f928579675d5145392c20130600101d2a3743505d6a7683909da9a49c96918b86817c76716d66615e56544f4745403937312b28221c19130f0a040000000000000000000000000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000000000000020405060606060606060814212e3b4754616e7a8794a1a094877a6d6154473a2e211407060606060606060504020000000000000000000000000000000000000000000000020e1a26313c4653606c78839097a1a8a4a3a4aaa29f98928d86807a74717072767f8c94998a7d7063574a3d3024170a0000000000000000000000000000000000000000000005080a0b131315212d3945505a626d727f8b919c98928c847d756e69686d747c838c92989c918b7f726c625a5044392d201413130b0a0805000000000000000006111b242d34393d3e464646464646464246535e69767979797979797771665b4f424e5a66707679797979797976695e5346464646464646463e3d39342d241b11060000000006131f2c3845515c6674818d9aa8ada197897d7063544a4034281c0b04111d2935414b5564707d8a97a2ada49a8c7f73655b5044372b1f13070000000a1724303d4a5763707d8a969f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9286796c5f5346392c2013000000000000000b16212b353d4448494a4a4a4a4a4a4a4a4a4a4a505d697683909ca9a89c8f8275695c4f4a4a4a4a4a4a4a4a4a4a4a4948443d352b21160b000000000000000815222f3b4855626e7b88959a8d817467584e43372b1f120600000000000013202c3946535f6c7986929facada093867a6d60534f59616c717e88939fa3a59e938e81786c655b53493f3327261c130a010000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000003090e1214151a1c181c1f202121201d19130c050006121a232b353e44505b656e7b86929faaa79e9184796d6053463b3025190d0100000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000b1825313e4b5864717e8b97a4ab9f9286818890959b9fa3aba4a3a2a2a3a5a8a9a7a8a19e99928d847d716d625b51483e332a1f110800000000000714212d3a4754606d7a8797a2ada99c8f82797979797979797979797979797979797979797979797979828f9ca9ab9e9184786b554b4135291d110400101d2a3743505d6a7683909c9fa6a8a09d98928d88837e79736e6863605953514b47423c38332d2a251e1b15100c07010000000000000000000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000009151f2b3844505b666f7c8591969c9f9f9e9c98928d86807a736d686463656d76828f998d8073665a4d4033271a0d00000000000000000000000000000000000000000000000000000605111d29343e48505a626d727f8c929c9f96918a827b73717a818891959f9d928c7f736d625a50483e33281c1004060000000000000000000000000009121b22292d3031393939393939393b4854616e7b86868686868683776a5d50444f5c6976828686868686867b6e6154483b39393939393931302d29221b120900000000000713202d3a4653606d7985929eabab9e9185796d6053463a2e23180c010d18242f3a4653606d7985929fabac9e9184786c6053463a2f24180d0100000a1724303d4a5763707d8a93939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939286796c5f5346392c201300000000000004101b27323d474f54565757575757575757575757575d697683909ca9a89c8f8275695c57575757575757575757575756544f473d33271c10040000000000000714202d3a4753606d7a86979e9184786a5f53473a2e21150800000000000013202c3946535f6c7986929facada093867a6d605347505a616c727f8b919ba4a59e938e81776c655b504440382e261c130a0100000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000000000060e151a1e2122272823282c2d2e2e2d2a251e160e05000811192327333f49535e69737f8c98a2ada1968b7e7164564c41362a1e110500000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000a1724313d4a5764707d8a97a3ac9f9286797c83898e9299999c9d9e9f9f9f9e9d9b9896918c86807a706b625a51493f362c21180e0000000000000613202c3945515d677885929eabaa9d9184776c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c667784919eaaa99c8f8376695c50432f24180d0100101c2936434f5c6976828a8f949a9fa2a9a29f9a94908a84807b756f6b65605d55534d46443f3836302b271f1c18120e0903000000000000000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545f6a6f7c848c909292918f8b86807b746e68605d56565b64707d8a998f8275685c4f4235291c0f020000000000000000000000000000000000000000000000000000000c17222d363f48515b636d737f8c929ca09e948f867f7d848d939aa09d938d80736d635b51483e362c22170b000000000000000000000000000000000911171d2124252d2d2d2d2d2d2e3b4854616e7b87939393939083776a5d50444f5c6976828f93939393877b6e6154483b2e2d2d2d2d2d2524211d171109000000000005111d2935414c5664707d8a97a2ada89a8d8074665c5044382b1c12070007131f2c3845515c6674818e9aa8aca096897c7063554b4035291d110400000a1724303d4a5763707d8686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796c5f5346392c20130000000000000713202c38444f59606364646464646464646464646464697683909ca9a89c8f827569646464646464646464646464646360594f44382c20130700000000000006131f2c3945515d677885929e96887b6f6255483c3025190d01000000000013202c3946535f6c7986929facada093867a6d60534748505a626d727f8c929ca4a59d938e80776c605c524a40382e251c130a01000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000060f181f262b2d2e34352e34383a3b3a3936302820160c0200071117222d38414d57606d7a86929faca89c908376685e5246392d20140700000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000a1623303d495663707c8996a3afa399867a6f787d82868a8c8f909192929291908e8b8884807b736d68605950483f372d241a0f0600000000000004111d2935414c55697683909ca9ab9f928578695f606060606060606060606060606060606060606d7986929faca79a8d8174675a4e4134271b0700000713202d3a4653606d787d82888d92979da0a7a69f9c97918c86817c77726d67625f5753504a46413a37322c29231d1a140f0b0600000000000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000b17222d38424e585f6a6f797f83858684827f7a736e69615e56524c4a54606d7987868683776a5e5144372b1e110400000000000000000000000000000000000000000000000000000006101b242d363f49515b636d73808d929da49e98928c8a91969fa49e938e81746e645b51493f362d241a10050000000000000000000000000000000000060c111517182020202020212e3b4854616e7b87949f9f9d9083776a5d50444f5c6976828f9c9f9f94877b6e6154483b2e2120202020181715110c060000000000000713202d3946525e6875828f9ba9ada196897c6f63544a3f34281c0b000004101c2834404b5463707c8996a1ada89b8e8174675d5145392c20140900000916232f3c4855616b707979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746a5e5145382b1f120000000000000916222f3b4854606b7071717171717171717171717171717683909ca9a89c8f82757171717171717171717171717171706b6054483b2f22160900000000000004101d2935404b556a7783909d998c7f7266564c41362a1d1105000000000013202c3946535f6c7986929facada093867a6d6053473e48515b626d737f8c929ca4a59d938d80746e645c524a40372e251c1309010000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d20130700000000000000000000000000000000000000000000030e18212a31373a3b414243404546484746413a32281e1308000006111b262f3b45525d6875828e9ba8ac9f93877a6e6154473b2e21140800000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000916222f3c4955626f7c8895a2b5ab94877b6e6c70757a7d808284848586858583817f7c78736e68605d564f473f362d251b120800000000000000010d19242f414d5a6774808d9aabaea298887b6e61555353535353535353535353535353535355626f7c8899a3afa9988b7e7265584b3f3225180c000006121f2c3844505c666d71767b80858b90959b9fa3a9a19e99928e89837e79746e6964605b54524c47433d38342f2a251f1b17110d080100000000000000000000000000000713202d3a4653606d798693a0aca69a8d8073675a4d4034271a0700000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000006111c262f3c464e585f676d727678797876726d68615e56524c454145515d67757979797771675b4f43362a1d10040000000000000000000000000000000000000000000000000000000009121b242d373f49525b636e74808d929da5a39f99979ea1a69e948e81786c605c524940372d241b1108000000000000000000000000000000000000000005080a0b1313131315212e3b4854616e7b8794a1aa9d9083776a5d50444f5c6976828f9ca9a194877b6e6154483b2e21151313130b0a080500000000000000000714212e3a4754616d7a86929facab9e9184786c605346392e23170b0000000c18232e394653606c7884919eabac9f92857a6d6053473b31261a0e02000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a62584d4135291d100000000000000a1623303d495663707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7e83919daaaa9d90837e7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d706356493d3023160a000000000000000c18242f424f5c6875828f9b9c908376685e5246392d201307000000000013202c3946535f6c7986929facada093867a6d6053473a3f49515b636d73808d929da5a59d928d80746e635c524940372e251b13090000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000009151f2a333c4247484d4f504b51535454524c443a3025190d0100000a141d2935414c5664717e8b97a4afa49a8a7e7164574b3e3124180b00000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000815212e3b4854616e7b8794abb5a295887b6f6263686d7073767778797978787674726f6a66615e56524c433d352d241b1309000000000000000000081724313e4a5764717d8a99a3afaa988b7e7165574d42464646464646464646464646424d5765727f8c98abada297887b6f6255483c2f221509000003101c28343f4a545c60646a6e74797e83898e92989ea0a8a39f9b95908b85807b76706c66615e56544e4745403936312b27221b19130c04000000000000000000000000000713202d3a4653606d798693a0aca79a8e8174675b4e412e23180c00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000a141d2a343c464e555d6065696c6c6b6965615e56524d46413b35414b555d6b6c6c6c6a675f564b3f33271b0e02000000000000000000000000000000000000000000000000000000000009121b252d374049525c646e74808d939da59f9f9f9fa79f948f82786d665b504a40372e251b1209000000000000000000000000000000000000000000000000000606060815212e3b4854616e7b8794a1a99d9083776a5d50444f5c6976828f9ca9a194877b6e6154483b2e2115080606000000000000000000000006121e2b37424d5765727f8b99a3aea89a8d8073655b5044372b1c110600000007121f2b3844505b6673808d9aa8aea2988b7e7164574d42362a1e12050004101c28333e474f5557606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605f5e5850473c3125190d000000000003101d2a3643505d6976838a8a8a8a8a8a8a8a8a8a8a8a8a8a8a9195a0acab9f95908a8a8a8a8a8a8a8a8a8a8a8a8a8a8a83776a5d5044372a1d1104000000000000071a2734414d5a6774808d9a9f93867a6d6154473a2e23180c000000000013202c3946535f6c7986929facada093867a6d6053473a373f49525b636e74808d939da5a49d928d80736e635b51493f372d251b120900000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000020e1a26313c454d53555a5b5c555c6061615e564c41362a1d11050000020b19242f3c4955626f7c8895a2b6ac998d8073665a4d4033271a0d00000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000714212d3a4754606d7a8799a4afa296897c6f63565d606366696a6b6c6c6c6b6a6865625f5854524d45413a312b231b1209010000000000000000000714212e3a4754616d7a86929faca89b8e8275695e53463d313939393939393939303946525e6976828f9ca9ab9e9285786c605346392d2013060000000c17232e38424a5053575f62676d71777c81868c91969c9fa4a7a09d97928d87827d78726d6862605853514b46423b37332d29241e160d0a0100000000000000000000000713202d3a4653606d798693a0aca89b8f827568544b4034281c1004000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000000000000000000000000000000000814212e3b4754616e7a87949f9f94877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000020b18222a343c434b5154595d5f5f5e5c5854524c46423b36302f3a434b515e6060605e5b564d44392e22170b0000000000000000000000000000000000000000000000000000000000000009131c252e37404a525c606c77818e93939393939393959082796d665c544a3f382e251c130900000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87949c9c9c9083776a5d50444f5c6976828f9c9c9c94877b6e6154483b2e211508000000000000000000000000000814212e3a47535f697683909d9f9fa096897c6f6253493f33271b0a00000000030f1c28333f4a54626f7c8895a09faa9c908376695f53463a2d21140700000b16212c353e44484a5353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353514d473e352a1f1409000000000003101d2a3643505d6976839097979797979797979797979797979da0a8b1b1a79f9d97979797979797979797979797979083776a5d5044372a1d11040000000000000c1926323f4c5965727f8c98a4998b7e7164544a4034281c10040000000013202c3946535f6c7986929facada093867a6d6053473a2d374049525c606c77818e939ea6a49c928c80736d635b51493f372d241b1209000000000000000000000000000000000000000000000000010101010101010101010613202c3946535f6c7986929facaca09386796d6053463a2d20130701010101010101010101000000000000000000000006121e2b37424d575f616768696a676d6e6d685e5246392d2013080000000814212e3b4754616e7a8794a1ada89b8e8175685b4e4235281b0f02000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000613202d394653606c7986939faca3968a7d706357525457595c5d5e5f5f5f5e5d5b5855534e4746413b352f281f19110900000000000000000000000713202d3946525d6876828f9ca9ac9f92867b6e61584e433b322c292424292c3139424d57616e7b86929faca89b8e8174655b5044372b1f120500000006111c2630383f44464e53555d60656a6f747a7f848a8f93999ea1a9a29f9a938f8a847f7a746f6a64605c55534d46443f38352f28201c140a00000000000000000000000713202d3a4653606d798693a0aca99d908376665c5145382c1f130700091623303c4956636f7c8996a2afa4988b7e7165584b3e3225180b0000000000000000000000000000000000000814212e3b4754616e7a8792929292877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000061018222a313a4145474c50525352504c4746413a36302a2528313a414547535353514f4b443b32281d110600000000000000000000000000000000000000000000000000000000000000010a131c252e384044505b656c7881868686868686868683796d675d544a42382d261c130a0100000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b878f8f8f8f8f83776a5d50444f5c6976828f8f8f8f8f877b6e6154483b2e211508000000000000000000000000000815222f3b4855626e7b8895939393939184776a605441382d22170b00000000000b17222d3847545f6a7784919393939394887b6e6155483b2e221508000005101a232c33383c3d464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464645413c352c23190e03000000000003101d2a3643505d697683909c9f9f9f9f9f9f9f9f9f9f9f9f9fa9abb0b8b8b0aaa89f9f9f9f9f9f9f9f9f9f9f9f9f9d9083776a5d5044372a1d11040000000000000b1724313e4a5764717d8a97ab9b8e8275665c5144382c1f12060000000013202c3946535f6c7986929facada093867a6d6053473a2d2e374044505b656d78818e949ea6a49c928c7f736d635b51493f362d241b120900000000000000000000000000000000000000010406070d0d0d0d0d0d0d0d0d0d0d13202c3946535f6c7986929facaca09386796d6053463a2d20130d0d0d0d0d0d0d0d0d0d0d07060400000000000000000814212d3a47535f696e7475767778797b7a6d6154473a2f24190d0100000714202d3a4753606d7a8693a0ada89c8f8275695c4f4236291c0f03000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000005121f2b3744505b657885929faba4978b7e7164584b474a4d4f515152535252504e4c4947433c39363029241e160d0700000000000000000000000005111d2935414c5664717e8b96a1ada3998d80746a60564d443e39352f2f35383c434b545e6973808d99a3aca096897d706353493f33271b0f03000000000a151e262e34383c42474b5153586062686d72787d82878d92979c9fa6a49f9c96918c86817c76716d67615e5753504945413a322e261c1207000000000000000000000713202d3a4653606d798693a0acac9f9286796d6053463a2e23180d060a1723303d4a5663707d8996a3b0a4978b7e7164584b3e3125180b0000000000000000000000000000000000000814212e3b4754616e7a8786868686877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000610181f282f35393a3f43454645433f3a3936302a251f191f282f35393a46464644433f39322920160b000000000000000000000000000000000000000000000000000000000000000000010a131c2627333f49535b666c757979797979797979776d675d554b42392f261c140a010000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8283838383828074675a4e414d5a6673808283838383827a6e6154473b2e211408000000000000000000000000000d1a2733404d5a66738086868686868686807366584e432f261b1106000000000006111c2b37434e5866737f86868686868686807366594d4033261a0d00000008111a21282c2f3039393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393835312a231a110700000000000003101d2a3643505d6976839093939393939393939393939393939c9fa6b0b0a69e9c93939393939393939393939393939083776a5d5044372a1d11040000000000000916232f3c4956626f7c8995ab9f9285796d6053463a2d2013090000000013202c3946535f6c7986929facada093867a6d6053473a2d2027333f49535c666d78828f949fa6a49c918c7f726d625b51483f362d241b12080000000000000000000000000000000001070d1113141a1a1a1a1a1a1a1a1a1a1a1a202c3946535f6c7986929facaca09386796d6053463a2d201a1a1a1a1a1a1a1a1a1a1a1a1313100c070000000000000815222e3b4855616e7b80828384858687807367554c4135291d120c070a0a15212e3b4854616e7b8794a1aea89c8f8275695c4f4236291c0f03000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000030f1b27333f495e6b7884919eaba5988b7f7265584c3f3d404344454646454543413f3c3b37322d2a251f19130c0400000000000000000000000000010d1924303a4653606d7984919ea7ab9f92877c6f685e564f47454141414045474e555c666e7b86929faba89e9184786c605346392d22170b0000000000030c151c23282c3137394045474e54565e61666c70757b80858a90949a9fa2a8a19e98928e89837e79736e6963605b53524c4440382e24190e020000000000000000000713202d3a4653606d798693a0acaea398897c6f62544b4034281f1612101824313e4b5764717e8a97a4b1a4978a7e7164574b3e3124180b0000000000000000000000000000000000000714202d3946525e687579797979797975685e5246392d201307000000000000000000000000000000000000000000000000000000000000000000000000000000060d161d24292c2d323639393836322e2d2a251e19140d161d24292c2d3939393736332e2820170e0400000000000000000000000000000000000000000000000000000000000000000000010a1417222d38414a545b60686c6c6c6c6c6c6c6c6a605d554c433930271d140a02000000000000000000000000000000000000000000000000000000000000000714202d3946525e686e767676767676746e64584c404b58636e737676767676766e685e5246392d201407000000000000000000000000000c1926323f4b57636e7379797979797979736e6358463d321d140a000000000000000f1b26323c4b57636d7379797979797979736e63574b3f3226190c000000000810161c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b29251f1911080000000000000003101d2a3643505d69768286868686868686868686868686868690949fabaa9e948f86868686868686868686868686868683776a5d5044372a1d11040000000000000814212e3b4754616e7a8799a3a297897c706356493d31261a0e0200000013202c3946535f6c7986929facada093867a6d6053473a2d20222d38414a545c666d79828f949fa7a49c918c7f726d625b51483f362c241a12080000000000000000000000000000040c13181d2021272727272727272727272727272c3946535f6c7986929facaca09386796d6053463a2d27272727272727272727272727201f1c18120b03000000000915222f3c4855626f7b888e8f9192978f8276675d5145392f241d181616141b222f3c4955626f7c8895a2afa89b8e8275685b4f4235281c0f02000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000b17222d44505d6a7783909daaa6998c7f7366594c403333363738393939383735322f2e2b26201e19140d080b09050100000000000000000000000008131f2c3845515c67727f8b95a0aba39991847a6e68615954514c4e4e4b5153575f676d78839098a2aca0968b7f72665b5044382b1b1106000000000000030a11171c1f262b2f35393d43474c52545b6063696e73797e83888e92989da0a7a39f9b95908b85807b75706c65605d56524a40352a1f13070000000000000000000713202d3a4653606d798693a0acb4aa998d8073665c51453b3128201f1c1e26323f4c5965727f8c98a5b0a3968a7d7063574a3d3024170a00000000000000000000000000000000000005111e2a36414c565e616c6c6c6c6c6c615e564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000040c13181d2021262a2c2c2b292521201d19130e09040c13181d20212d2d2d2b2a27221d160e050000000000000000000000000000000000000000000000000000000000000000000000000006111b262f38424a50535b60606060606060605d54514c433a31271e150b02000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e6169696969696967645c52473c47525c6366696969696969615e564c41362a1e1105000000000000000000000000000a17232f3b47525c63666c6c6c6c6c6c6c66635c5247342b200b02000000000000000a15202f3b46515b63666c6c6c6c6c6c6c66635c52473b2f23170a0000000000050b1014161720202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201f1d19140e070000000000000000030f1c2935424e5a66707679797979797979797979797979797982909ca9a89c8f827979797979797979797979797979797771665b4f4236291d10030000000000000613202d394653606c7986929fa99a8d807367574d42372b1e120600000013202c3946535f6c7986929facada093867a6d6053473a2d201b262f38424a545c676d798290959fa7a39b918b7f726d625a50483e362c241a1108000000000000000000000000040d161d24292c2d34343434343434343434343434343946535f6c7986929facaca09386796d6053463a34343434343434343434343434342d2c28231d150c030000000713202d3a4653606d7985929c9d9f9f92867a6d60554b40352f2923232324262d36424d5765717e8b98a4b1a69a8d8073675a4d4034271a0d01000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000000061d293643505c6976838f9ca9a69a8d8073675a4d403427292a2b2c2c2c2b2a282522211f1b1919191919181715110c06000000000000000000000004101c2834404b55606d78839099a3aba09690837a706b64605d555b5b555d60636a6e79818e959faaa49a9184796d60544a3f33281c0a000000000000000000060c10151a1d24292c32383a41464a5053575e61666d71767c81868b91959b9fa3a79f9d97928d87827d78726d68635c52473b2f23170a0000000000000000000713202d3a4653606d798693a0acb8ab9e9285796d60574d433a322d2c282a2d36424d576774818e9aa7b3a995897c6f6256493c2f231609000000000000000000000000000000000000010d1925303b444c52545f5f5f5f5f5f54524c443a3025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d111314191d1f201f1d191413110d0802000001070d1113142020201e1d1b17110b040000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262f383f44464e5353535353535353504745413a31281f150c03000000000000000000000000000000000000000000000000000000000000000000010d1925303b444c52545c5c5c5c5c5c5a58524a4136404a52585a5c5c5c5c5c5c54524c443b3025190d010000000000000000000000000007131f2a35404a52575a606060606060605a58524a403522190f000000000000000004121e2a354049515759606060606060605957524a40352a1f1307000000000000000407090a131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131312100d0903000000000000000000010d1a26323e4a545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c76838f9ca9a89c8f82756c6c6c6c6c6c6c6c6c6c6c6c6c6c6a665f554a3e32261a0e0100000000000005121f2b3744505b657784919eaa9d918477695f53473a2d21140800000013202c3946535f6c7986929facada093867a6d6053473a2d20141d263039424b555d676d79839095a0a8a39f93887f726c625a50483e362c231a110800000000000000000000010c161f282f35393a40404040404040404040404040404046535f6c7986929facaca09386796d6053464040404040404040404040404040403a38342e271e150b00000006121f2c3844515c6676828f9caaaba2988b7e72675d51454039342f3030312f383f46525e6975818e9ba8b3a9988b7e7265584b3f3225180c00000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000020f1c2935424f5c6875828f9ba8a79a8e8174675b4e413428252525252525252525252525252525252525252524211d17110900000000000000000000000c18232e3944515c666f7c87929fa4a8a09590847d76716d6769676869676d70757b838e939ea7a59f93887d70665c5142382d22170b000000000000000000000003090e12181d1f272b3036383f44464d53545c60646a6f747a7f84898e92999ea1a8a19e99938f89847f7a736e63574b3f3226190c0000000000000000000713202d3a4653606d798693a0acb9ada1978b7e71695e554c443e3a3834363a3d46535e697784909daaada297877a6e6154473b2e2114080000000000000000000000000000000000000008141e29323b4146475353535353534746413a32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070c10121312100c070705010000000000000104060713131311100e0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141d262d333839424646464646464646443a39352f281f160d03000000000000000000000000000000000000000000000000000000000000000000000008141e29323b4146475050505050504e4c4741382f3840474b4d5050505050504746413b32291e14080000000000000000000000000000020e19242e3840474b4d535353535353534d4b4740382e2410070000000000000000020d19232e3740464b4c535353535353534d4b4740372e24190e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16222d38434c545a5d606060606060606060606060606976838f9ca9a89c8f827569606060606060606060606060605d5b554d43392d22160a00000000000000030f1b27333f49536976838f9ca9a096887b6e6155483b2f24190d01000013202c3946535f6c7986929facada093867a6d6053473a2d2014141e273039434b555d676d7a839096a0a8a49a93887e716c615a50483e352c231a110800000000000000000007131d28313a4145474d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d535f6c7986929facaca09386796d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4645403930271d1207000004101c2834404a5465727e8b98a2aeaa9e9184796d605b514b45403e3d3d3d3f4149505b616e7b86929facada197887c6f6255493c2f22160900000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000020e1b2835414e5b6874818e9ba7a89b8f8275685c4f4235323232323232323232323232323232323232323232312e29221b12090000000000000000000007121d2834404a54606a727f8c929ca4a7a096918a827d7a7775747475767a7d818790959ea5a59e938d80736b60544b402f261c11060000000000000000000000000001070c10161b1e252a2d33383b42464b5153585f62676d72777c82868c91969c9fa4a49f9c96918b868073665a4d4033271a0d0000000000000000000713202d3a4653606d798693a0acb1a7a09d92857b6e675d56504846443f4246474f58616e7b8795a0acab9f928578685e5246392d20140700000000000000000000000000000000000000020d1720293036393b4646464646463a3935302820160c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c22282b2d353939393939393939372d2c29241e160d04000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393b43434343434341403c362f262e353b3f404343434343433b3936302920170d0200000000000000000000000000000007121c262e353b3f4046464646464646403f3b352e261c120000000000000000000007121c252e353b3e4046464646464646403f3b352e251c12070000000000000000000000000000000000000000000000000000000000000000000004090d0f101313131313130e0d0b0803000000000000000000000000000000000000000000000000000000030f1b26323c464e53555656565656565656565656565c6976828f9ca9a89c8f8275695c56565656565656565656565655544e463c32271b0f0300000000000000000b17222d414e5b6874818e9ba7a8988c7f7265554c4135291d1104000013202c3946535f6c7986929facada093867a6d6053473a2d20140c151e273039434c555d686e7a849196a1a9a49a93877e716c615a50473e352c231a110700000000000000010d18242f3a434b51545a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5f6c7986929facaca09386796d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a53514b42392e23180c0000000c18232e3a4754616d7a86929fa9aca1968d80746d605d55514b4a49494a4b4f535b606d74818e98a3aeab9e9285796d6053463a2d20130700000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000010d1a2734404d5a6773808d9aa6a99c8f8376695c50433f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3e3d3a342d241b1106000000000000000000000c18232e39424e58626d73808c929ea1a8a19e948f8a8683828181828386898e93999fa7a39f938f81786d60594f42392e1d140a0000000000000000000000000000000000040a0f13191c22282b3136394045464e53555d60656b70757b7f848a8f939a9fa2a8a09e989083776a5d5144372a1e110000000000000000000713202d3a4653606d798693a0acaca09590959082796d68615a5553504a4d525459606a74808d9aa7b1a99c8f827669564d41362a1e11050000000000000000000000000000000000000000050e171e252a2d2e3939393939392e2d29251e160e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607090b0d0f1111121313121211100f0d0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f20282d2d2d2d2d2d2d2d2a21201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a2d2e3636363636363433302b241d242a2f32333636363636362e2d2a251e170e0500000000000000000000000000000000000a141c242a2f32333939393939393933322f2a241c140a00000000000000000000000a131c232a2f32333939393939393933322f2a241c130a000000000000000000000000000000000000000000000000000000000000000000020a1015191b1c2020202020201b1a17140e08010000000000000000000000000000000000000000000000000006131f2b37434e585f62636363636363636363636363636976828f9ca9a89c8f827569636363636363636363636363636260584e43372b1f13060000000000000000061a2633404d596673808c99a6a99c8f8276675d5145392c201306000013202c3946535f6c7986929facada093867a6d6053473a2d2014070c151e27313a434c565e686e7b849196a1a9a49992877e716c61594f473e352b23190f0400000000000004111d2935414b555d606767676767676767676767676767676767676c7986929facaca09386796d676767676767676767676767676767676767605c544b4034281c100400000713202d3946525e6874808d97a2ada89d928c7f746d67605c5557565657585960656c727f8b939daaafa4998d8074665c5044382b1f120600000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000d192633404c5966737f8c99a6aa9d9083776a5d504c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4b4a453f362d22170c0100000000000000000007121c27303d46515b646e73808a92979fa3a69f9c9992908f8e8e8f9092989b9fa4a69f99928c81786d665c50473d30271d0b020000000000000000000000000000000000000002080d11171c1f252a2e34383c43474c5154596063686e73797d82878d92979da0a79d9084776a5d5144372a1e110000000000000000000713202d3a4653606d798693a0acaa9d9084909490827a716c6562605c54565e61646b707c87929facb0a6998c7f7266594c3f3025190e02000000000000000000000000000000000000000000050d14191e20212c2c2c2c2c2c21201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060b10121315171a1c1d1e1f1f201f1f1e1d1b19171514120e09060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131b20202020202020201d1413110d080100000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191e20212929292929292726241f1a13191f23262729292929292921201e19140d05000000000000000000000000000000000000020a12191f2326272d2d2d2d2d2d2d2726231f19120a020000000000000000000000010a12191e2325262d2d2d2d2d2d2d2626231f19120a010000000000000000000000000000000000000000000000000000000000000000040c141b212528292d2d2d2d2d2d2726241f1a130b020000000000000000000000000000000000000000000000000815212e3b47535f6a6f707070707070707070707070707075828f9ca8a89c8f827570707070707070707070707070706f6a6054473b2e22150800000000000000000b1825323e4b5865717e8b98a4ac9f92867a6d6054473a2d22170b000013202c3946535f6c7986929facada093867a6d6053473a2d201407030c151f28313a444c565e696e7b849197a1a9a39992877e706c61594f473d352b21160b0000000000000613202c3945515d676d737373737373737373737373737373737373737986929facaca0938678737373737373737373737373737373737373736d665c5145382c1f1306000005111d2935414c56616d7a85929fa5aea49b918c8079716d67656463636465686b70787f87929fa5afa89f93877b6e61544a3f34281c100300000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000c1925323f4c5865727f8b98a5aa9e9184776b5e5858585858585858585858585858585858585858585858585650483f34291d1105000000000000000000000b151e2b343f49525c646e737e858e92999ea1a8a39f9d9c9a9b9c9d9fa3a9a29f9b948f877f776d665c544a3f352c1e150b0000000000000000000000000000000000000000000000060b0f141a1d23282c32373a4145474f54565e61666d70767b80858b90959b9d9084776a5d5144372a1e110000000000000000000713202d3a4653606d798693a0aca396897d85929490847d76726e6d666b6b696e71757d859299a3afab9f94887b6e6155483b2e221508000000000000000000000000000000000000000000000002080d1114142020202020201413110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d1113171c1f20222426292a2b2b2c2c2c2b2b2a28262422211e1a1312100c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060f131313131313131311070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1114141d1d1d1d1d1d1b1a17140e080e1317191a1d1d1d1d1d1d1414110d0802000000000000000000000000000000000000000000070e1317191a202020202020201a1917130e08000000000000000000000000000000070d12161919202020202020201a1917130e07000000000000000000000000000000000000000000000000000000000000000000020c161e262c3135363939393939393433302b241d140b0100000000000000000000000000000000000000000000000916222f3c4955626f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d82909ca9a99d90837d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c6f6255493c2f22160900000000000000000a1723303d4a5663707d8996a3aea3998a7d7164544a3f33281c0f030013202c3946535f6c7986929facaca093867a6d6053473a2d20140700030d161f28323b444d575f696e7c859297a2aaa39992877e706b61594f473d32271b100400000000000714212d3a4754606d79808080808080808080808080808080808080808087929facb3a69a8d8080808080808080808080808080808080808080796d6053463a2d2013070000010d1925303a46525e68717e8b939da5ada39b928d847e797572717070707274777d828c9299a3afaaa1968e8174695f5342382e23170b0000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000b1825313e4b5864717e8b97a4ab9f9285786565656565656565656565656565656565656565656565656565625a50453a2e21150900000000000000000000030c19222d37404a525c636c717a81868d9196989b9c9e9f9f9f9f9e9d9b9997928e89827c736c655c544b42382e231a0c030000000000000000000000000000000000000000000000000003090e12181c1f262b2f35393d44484d52545c6064696e74797e83898e929084776a5d5144372a1e110000000000000000000714202d3a4753606d7a8693a0ada194887b7e8b9296918a837f7b79787778797a7d82889297a1abafa4998f8276695f53473a2d211408000000000000000000000000000000000000000000000000000105070813131313131307070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e13181d2023282b2d2f3133353737383939393837373533312e2d2a26201f1c17110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507081010101010100e0d0b08030002070a0c0d1010101010100807050100000000000000000000000000000000000000000000000002070a0c0d131313131313130d0c0a0702000000000000000000000000000000000002060a0c0d131313131313130d0c0a0702000000000000000000000000000000000000000000000000000000000000000000000a141e2830383d414346464646464641403c362f261d13080000000000000000000000000000000000000000000003101d2a3643505d69768289898989898989898989898989898990949fabab9f959089898989898989898989898989898983776a5d5044372a1d1104000000000000000815222f3b4855626e7b8895a99f9f9b8e8174665b5044382b1f12060013202c3946535f6c7986929f9f9f9f93867a6d6053473a2d2014070000040d162029323b454d575f6a6f7c859298a29fa39992877d706b60594f44382c20130700000000000814212e3b4754616e7a878d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d9299a3afb5a89d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d867a6d6053473a2d20140700000008131e2a36414c56626c74818e939da4aea49d96918b85827f7d7c7c7d7e8184898f949fa3abaaa29891847a6d60574d4230261c11060000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000a1724313d4a5764707d8a97a3ac9f93867872727272727272727272727272727272727272727272727272716c62564a3d3124170b000000000000000000000007101b252e38404a525a61686d747b8084888b8e90919292929291908e8c8985817c766f6a605b534b423930261c11080000000000000000000000000000000000000000000000000000000000070c10151b1e24292c32383b41464a5053575f62676d71777c81868c83776a5d5144372a1e110000000000000000000714212d3a4754606d7a8793a0ada194877b74818e949e95908c888685848585878a8f939aa1a9afa59f93877c6f62574d42372b1e1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f151a1d24292c2e34383a3c3e404244444546464545444342403d3b3a36312d2c28231c19130d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090c0e1011121313131211100f0d0b08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101b26303a42494e4f5353535353534e4c4741382f241a0e0300000000000000000000000000000000000000000003101d2a3643505d6976839096969696969696969696969696969c9fa6b0b1a79f9d96969696969696969696969696969083776a5d5044372a1d1104000000000000000714202d3a4753606d7a8697939393939285796c605346392d2013060013202c3946535f6c7986929393939393867a6d6053473a2d201407000000040e172029333b454e585f6a6f7c8692989393939992867d706b6054483b2f22160900000000000814212e3b4754616e7a87949a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9fa3abb5b9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a93867a6d6053473a2d201407000000020d1925303a44505a606d78818d929fa2aaa8a09e97928f8c8a89898a8b8e91969c9fa6ada7a09892867c6f685d52453c311e140a000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000000091623303c4956636f7c8996a2afa4998c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7e7165584b3e3225180b00000000000000000000000009131c262e38404850565e61696e73787c7e818384858686858583817f7c79746f6a625f585049413930271e150a0000000000000000000000000000000000000000000000000000000000000000040a0f13191d20272c3036383f44464d53555d60656a6f747a7f8175685b4f4235281c0f0000000000000000000714212e3a4754616d7a8794a0b4ab94877a6d78828f939f9d989a939291919298979b9fa4acaba39f938d80736a6054453c31261a0e020000000000000004080c0e0f0c07070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c151b20262b2f35393a3f4446484a4d4f5051525253525251504e4c4a4846423d3a38342e29251e19140d050000000000000000000000000000000000000000000000000000000000000000000000000004070c10121316191b1d1e1f1f201f1f1e1d1b19171414110e0806030000000000000000000000000000000000000000000000000004090e1112131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130b0a08040000000000000000000000000004080a0b1313131313131313131313131313131311100e0b06000000000000000000000005090d0f101313100f0d090500000000000000000000000000000000000000000000000000000000000000000000000000000915212c38424c545a5c6060606060605a58524a41362b1f140800000000000000000000000000000000000000000003101d2a3643505d697683909c9f9f9f9f9f9f9f9f9f9fa3a3a3a9abb0b9b9b1aba9a3a3a39f9f9f9f9f9f9f9f9f9f9d9083776a5d5044372a1d11040000000000000006131f2c3945515d677885868686868686867c6f6256493c2f2316090013202c3946535f6c798786868686868686796d6053473a2d20140700000000050e172129333c464e58606a707d8686868686868686867c706356493d3023160a00000000000814212e3b4754616e7a8794a1a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6acafb5acacacaea8a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a093867a6d6053473a2d2014070000000008131e29323f44505c666d78808b92989fa3aba9a29e9b9897969697989b9ea0a8aca9a19e9590867d6f6a60564c41332a1f0c02000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000915222f3c4855626f7b8895a2b5ab9b918c8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b85786b5f5245382c1f12050000000000000000000000010a141c262e363e444c52575e61666a6f7274767878797978787675726f6d66626058534e443f382f271e150c030000000000000000000000000000000000000000000000000000000000000000000001080d11161b1f252a2e34383c42474b5153586062686d72756f65594d4134281b0e0000000000000000000814212e3b4754616e7a87949f9fa39986796d6d79818c92989fa29f9e9e9e9fa2aaa8a9aaa29f99928b81786d60584e43332a1f150900000000000002090f14181b1b191413110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121820262b31373a4145474a50535557595c5d5e5e5f5f5f5e5e5d5b595755534d4946443f3835302a251e170e0802000000000000000000000000000000000000000000000000000000000000000001070c1013181c1f20232527292b2b2c2d2c2c2b2a28262421201e1915120f0a0300000000000000000000000000000000000000000000080f151a1d1f20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020171714110c05000000000000000000050c11141717202020202020202020202020202020201e1d1b17120b0400000000000000020a1015191c1c20201c1c1915100a020000000000000000000000000000000000000000000000000000000000000000000000000d1925313d49545e65696c6c6c6c6c6c67645c52473c3024170b00000000000000000000000000000000000000000003101d2a3643505d6976839093939393939393939393939b9ea5afb7b7b6b7b9b8afa59d9b93939393939393939393939083776a5d5044372a1d11040000000000000004101d2935404b55687378797979797979796f6a6054483b2e22150900121f2c3845525e6a75797979797979797976675c5145382c1f13060000000000050f18212a333c464e58606b70797979797979797979706b6054483b2f22160900000000000814212e3b4754616e7a87949f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f93867a6d6053473a2d20140700000000020d172028343f4a545c666d747e858e92999ea1a8a7a8a5a4a3a3a3a5a7a8aca49f9d97928c837b6f6b60584e443a3021180e00000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000815212e3b4854616e7b8794abb5ada39b989898989898989898989898989898989898989898989898989285786b5f5245382c1f1205000000000000000000000000020a131c242c323a41464d5254585f626568696b6c6c6c6c6b6a686663605c54544e47433c332d261d150c030000000000000000000000000000000000000000000000000000000000000000000000000001040b1014191c23282c3137394045474e54565e616568655d53483d3125190c0000000000000000000815222e3b4855616e7b889393939392867966676d787f868d92989a9c9e9e9f9f9e9d9c9998928d877f746d665c50463d3221180e030000000000030b131a202527282621201d19130f0a040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c151d232831373c42474b5154545c60626466686a6a6b6c6c6c6b6a6a686664615f575653504a46413a3630292019130d05000000000000000000000000000000000000000000000000000000000003090e12181d1f23282c2d3032343638383939393838373533312e2d2a25211f1b150f0b060000000000000000000000000000000000000009121920262a2c2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211c171008000000000000000810171c2123242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b2a27231d160e050000000000040c141b212528292d2d292825211b140c0400000000000000000000000000000000000000000000000000000000000000000000020f1b2835414e5a657076797979797979746e64584c4033261a0d00000000000000000000000000000000000000000003101d2a3643505d6976828686868686868686868686868e939ea9b0aba9abacb2a99d938e86868686868686868686868683776a5d5044372a1d110400000000000000000c18242f39435761686b6c6c6c6c6c6c6c6260584e43382c1f130700111d2a36424e59636a6c6c6c6c6c6c6c6c6c5c554b4034291c1004000000000000060f18212a343d464f5960636c6c6c6c6c6c6c6c6c6360594f44382c20130700000000000814212e3b4754616e7a8793939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393867a6d6053473a2d2014070000000000050e17232e38424a545c606c717a81868d9196989a9c9e9f9f9f9f9e9d9c999a93908b857f786e6960594f463c32281e0f0600000000000b1825313e4b5864717e8b97a4aca89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7aca4978b7e7164584b3e3125180b000000000714212d3a4754606d7a8799a3afacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a59e9285786b5f5245382c1f120500000000000000000000000000010a121a202830363b4246484e5355585b5d5e5f5f5f5f5e5d5b595653514a47433d373127221b140b03000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e11171c1f262b2f35393d43474c5254595b59534b42372c2015090000000000000000000916232f3c4956626f7c86868686868685786b5c666c727b80858a8d8f9192929291908f8c8a86807b726d605c544a3f342b200f060000000000020b151d252c313435332e2d2a251e1b16110d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810191e272e343c43474d53555d6064666d6f7173757777787979787877767573706e696763605c54524c46413b322a251e170e06000000000000000000000000000000000000000000000000000001070c141a1d24292c2e34383a3c3f4143444546464645444342403e3b3936302e2b261f1c17110a020000000000000000000000000000000008121b242b3136383939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393931302d28221a1208000000000008121a22282d3031393939393939393939393939393939393736332e2820170e04000000020c161e262c32353639393635322c261e160c0200000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828686868686868074675a4e4134271b0e010000000000000000000000000000000000000000030f1c2935424e5a667076797979797979797979797979818e9ba7a69f9c9ea1a8a79b8e817979797979797979797979797771665b4f4236291d1003000000000000000007121d2731454f575d5f6060606060606056544e463d32271b0f03000e1a26313d4751595e5f606060606060605f514b43392f23180c0000000000000000060f18222b343d474f54565f606060606060605f56544f473d32271b100400000000000814212e3b4754616e7a868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796d6053473a2d20140700000000000006111c263038424a505a61686e747b8084888b8e90919292929291908f8d8a87837e79726d665f574f473d342b20160c0000000000000b1825313e4b5864717e8b979f9f9f9b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9a9f9f9f978b7e7164584b3e3125180b000000000613202c3945515d677986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9e9285786b5f5245382c1f1205000000000000000000000000000000080e161e252a30363a3c4347484b4e50515253535252504e4c494644403937322b262017110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c10151a1d24292c32373a4146474c4f4d48423930251b0f040000000000000000000815222e3b4754606a6f797979797979787368545b60696e74797d808284858685858482807d7a746e69625b504a42382e22190f00000000000009131d272f373d40423f3a3936302c27201d18130f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009111a222a303940454e53575f62676d7175797b7d8082838485858685858483817f7d7b7874706d66615e56524c443e36302920180f07000000000000000000000000000000000000000000000000030b12181f252a2f35393a404446494c4e5051525253525251504e4c4a4746413c3a37312b28221c140b070000000000000000000000000000040f19242d353d4245464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646463e3c39332c241a100500000005101a242c33393c3e4646464646464646464646464646464644433f39322920160b0000000a141e2830383d4143464643413d3830281e140a000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e939393938d8073675a4d4034271a0d010000000000000000000000000000000000000000010d1a26323e4a545e66696c6c6c6c6c6c6c6c6c66707d89939eab9f94909196a1ac9f93887c6f666c6c6c6c6c6c6c6c6c6a665f554a3e32261a0e010000000000000000010b151f333d454c5052535353535353534948433d342b21160a00000915202b353f474e5253535353535353535345403931271d1207000000000000000000061019222b353d4448495253535353535353524948443d352b21160b0000000000000714202d3946525e687679797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797976675d5145392c201306000000000000000a141e2630383f4450565e61696e73787b7e81838485868685858482807d7a76726d67605c544d453d352b22190e040000000000000b1825313e4b5864717e8b93939393938e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d93939393938b7e7164584b3e3125180b0000000004111d2935414b556b7885929393939393939393939393939393939393939393939393939393939393939285786b5f5245382c1f120500000000000000000000000000000000050c13191f252a2d32373b3c3f414345454646454543423f3c3a38342e2b27201b150b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12181d1f272b3035393a3f42413d3730271e14090000000000000000000006131f2b37434e5860626c6c6c6c6c6c6b68615750575e61676d7073767778797978777673706d67615e5751443f3830261c10070000000000040f1a252f3941484d4e4c4746413a38322c29241d1a15100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b232c343c424b51585f62696e747a7d8185888a8c8f9091919292929191908e8c8a8884807d79736d68615e565046413a322a2119100700000000000000000000000000000000000000000000060d151d24293136394045474a515356585a5c5e5e5f605f5f5e5d5b595754524c4847433c38332d261d18120b030000000000000000000000000915202b353f474e52535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534a49453e362c22170c0000000c17222c363e45494a53535353535353535353535353535353514f4b443b32281d12060005101b26303a42494e4f53534f4e49423a30261b10050000000000000000000000000000000000000000000000000000000000000000020e1b2835414e5b6874818e9b9f9f998c807366594d4033261a0d000000000000000000000000000000000000000000000a16222d38434c545a5d6060606060606057606d7883919da5a499908384919ea6a49a9083786d6057606060606060605d5b554d43392d22160a00000000000000000000030d212b333b404445464646464646463c3b38322b22190f040000040f19242d353d424546464646464646464638342f271f150b0100000000000000000000071019232b32383b3d4646464646464646463d3b38322b23190f0400000000000005111e2a36414c565e6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5d554b4035291d110400000000000000020c141e262e343e444c52575e61666a6f727476777879797978777573716d6865605d55504a423c332b23191007000000000000000b1825313e4b5864717e868686868686868175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a677480868686868686867e7164584b3e3125180b00000000010d18242f44515e6b7784868686868686868686868686868686868686868686868686868686868686868685786b5f5245382c1f1205000000000000000000000000000000000002080d141a1e20262b2e2f323536383939393938373533302d2c28231c1b150f0a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10161b1e25292d2e323534312c251e150c0200000000000000000000030f1b27323d464e545660606060606060595751444d53555c606367696b6b6c6c6b6a696663605d55534d453f342e261e140a0000000000000814202c37414b53595b5954524c48433d39352f2b261f1c18120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b242d353e464e545c606a6f757b81868a8e929797999b9d9d9e9f9f9f9e9d9d9b999796918d8985807a746e68615a524c443c332b2219100700000000000000000000000000000000000000000910181f272f353b42464b5153545c60636567696b6b6c6c6c6b6b6a686664615e5655534e46443f382f28231d150c0500000000000000000000000e1a26313d4751595e5f606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060575550483e33281c11040004111c28333e48505557606060606060606060606060606060605e5b564d44392e23170b000915212c38424c545a5c60605c5a544c42382c2115090000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7a5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000005111c27313a434a4e50535353535353535e69727f8c95a0a99f93877c7e8a949faba0958c7f72695e53535353535353504f4a433b31271c110500000000000000000000000f1921292f343738393939393939392f2e2c27211910070000000008121b242b3136383939393939393939392c29231d150d0300000000000000000000000007111921272c2f30393939393939393939302f2c272119110700000000000000020e1925303b444c525f6060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605f514b433a2f24180d010000000000000000020c141c2328323b41464d5354585f626567696b6c6c6c6c6b6a696664615e5653514b443f38302a2119110700000000000000000a1724303d4956626c7179797979797979756f65594d4034271b0e01000000000000000000000000010d1a2733404c58646e7479797979797979716c6256493d3024170a0000000000071d2a37434f5c67727779797979797979797979797979797979797979797979797979797979797979797873685d5044372b1e11050000000000000000000000000000000000000003090e12151b1f212225282a2b2c2c2c2c2b2a282623201f1c18120f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13191d202126282825201b140c030000000000000000000000000a16202b343d434749535761686b6c6c66635b5146464b515357565e61666a6c6c6a66605d56514c46423b3328231c140c020000000000000c1825313d48535d656866615e56544f4745403a37312c28231c1a140f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000007101b242d363e474f585f666d737c82878e92989b9ea2a9a6a8aaa8a7a6a6a6a7a8a9a8a6a8a19e9a97928c86807a716c615e564d453c342b22190e0500000000000000000000000000000000000009121b222a313940454d53555d6065666d6f72747677787979797877767573716e6867625f5853504a423d342e271e170e0500000000000000000000111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d211408000814212d3945505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a675f564b3f33271b0e000d1925323d49545e66696c6c69665e54493d3225190d0000000000000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000a151f2831383e42434646464643505a616e7b86929fa7a2978d817476828f99a3a79f92867b6e61594f434646464644423e3931291f150b000000000000000000000000070f171e24282b2c2d2d2d2d2d2d2d23221f1b160f0700000000000009121920262a2c2c2d2d2d2d2d2d2d2d1f1c18120b030000000000000000000000000000070f161b2022232c2d2d2d2d2d2d2d2c2322201b160f0700000000000000000008141e29323b4146535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535345403a31281d130700000000000000000000020a1117202930363b4246484e5355585b5d5e5f5f5f5f5e5d5c5a5754524c47454039342e261e180f070000000000000000000815212d3945505a62646c6c6c6c6c6c6c68655d53483d3124180c00000000000000000000000000000b1824303c48535c64676c6c6c6c6c6c6c64625a5045392d21150800000000020f1b27333f4b5660676b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6861574c4034281c0f0300000000000000000000000000000000000000000002050a0f121515181b1d1e1f20201f1f1d1b19161312100c07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d111314191c1b19150f090200000000000000000000000000040f19222b32373b3c505c6873787979736d63574b434750555d60686d7276787977736d685f584e443b31292117110a02000000000000000e1b2734404d59656f75726d6863605953514b47433c38342e2a251f1b17110d08020000000000000000000000000000000000000000000000000000000000000000000000050e19222d363e485059616a6f7980878f93999fa3aaabaaaaa29f9d9b9a9a999a9a9b9d9fa2aaa9aba9a19e98928d857e756d685f574e463c342a20170c030000000000000000000000000000000009121b242c343c434b51575e61676d7175797c7f81838485858685858483817f7d7a77736f6a64605b544f454039302920170f05000000000000000000121f2c3845525e6a7579797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979716c6155493c3023170a000a1723303c4955616c71797979797979797979797979797979797771675b4f43362a1d10000f1c2835414e5a66707679797670665a4e4135281c0f0200000000000000000000000000000000000000000000000000000006050403020d1a2633404d596673808c99a6a4978b7e7164584b3e3125180b0203040506000000000000000000000000000000000000030d161f272d323536393935404b55616c75828f98a2a79f92857a6d6e7c87929fa9a2988f82756c61554b403539393736322d271f170d0300000000000000000000000000060d13181c1e1f202020202020201615130f0a040000000000000000080f151a1d1f20202020202020202013100c070100000000000000000000000000000000040b101316161f202020202020201f161613100b0400000000000000000000020d1720293036393b4646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464639352f281f160c01000000000000000000000000060e171e252a31363a3c4347484b4e50515253535252514f4d4a4746413a39352f28231c150c060000000000000000000005111d29343e48505658606060606060605b59534b41372c20140800000000000000000000000000000814202b36414a53585a60606060606060585650483e34291d110500000000000b17232e3a444e565c5e60606060606060606060606060606060606060606060606060606060606060605f5d574f453b2f24180c00000000000000000000000000000000000000000000000000030608090c0e10121213131212100f0c09070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070c0f0e0c09040000000000000000000000000000000007101920272b3845525f6b788586867f7366574d4e535a61676d727a7f83858584807a6f6a5f564d42362a1f14080000000000000000000f1b2835424e5b6875817f7a756f6b65605d55534e4644403936302b27221b19130f0a040000000000000000000000000000000000000000000000000000000000000000020d17202b343e48505a616b707c838c92999fa4abaca7a09d999892908f8d8d8d8d8d8f909298989c9fa4abaaa29f97928a827a6e6960584e463c32291e150b00000000000000000000000000000008121b242d363e464e555d60696e74797e8285898b8d8f91919293929291908e8c8a8784807c76716c666059514b433b332921170e05000000000000000013202c3946535f6c79878686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867e7164574a3e3124170b000b1724313e4a5764717d8686868686868686868686868686868684776a5e5144372b1e1100101c2936434f5c69768286868276695c4f4336291c10030000000000000000000000000000000000000000000000030608091211100f0e0d1926333f4c5966727f8c99a5a4978a7d7164574a3e3124170d0e1011121307060401000000000000000000000000000000040d151c2226292a2d2c3945515d67707d8a949eaaa0958b7f72686a73808d97a1aa9e938a7d70675d51453c31262a2926221c150d0500000000000000000000000000000002070c0f11121313131313131309090703000000000000000000000004090e111213131313131313131306040000000000000000000000000000000000000000000307090a1313131313131313130a09070400000000000000000000000000050e171e252a2d2e393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939392c29241d160d040000000000000000000000000000050d14191f252a2d31373a3c3f41434445464646454442403e3a3936302c29241d17110a030000000000000000000000000c17222d363e45494b535353535353534e4d4841392f251a0f040000000000000000000000000000030f1a252f3841484c4e535353535353534b49453e362d22170c00000000000006121d28323c444b4f51535353535353535353535353535353535353535353535353535353535353535352504c453d33291e1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b2a3743505d6a7683908f8276695e54585f626c71797f858c909292908c857c6f695e52463b3025190e020000000000000000101d2a3743505d6a76838c86817c77726d67625f5853514a46423b37332d29241e1b15100c0701000000000000000000000000000000000000000000000000000000000009141f29323d46505a626c717d8690959fa3ababa49f9b95908c898584828180808081828385888b8f93999fa2aaa9a19e938f847b6f6a60584e443b30271d12070000000000000000000000000006101a242d363f4850585f676d737b80858b8f9298989a9c9e9e9f9f9f9e9e9d9b999795908d88837e786f6b605c554d453b332920170c030000000000000013202c3946535f6c798692939393939393939393939393939393939393939393939393939393939393939393939393939393939393938a7e7164574a3e3124170b000b1724313e4a5764717d8a93939393939393939393939393939184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c1003000000000000000000000000000000000000000000040a0f1315161f1e1d1c1b1a1925323f4c5865727f8b98a5a3968a7d7063574a3d3024191a1b1c1d1e1f1413110d08010000000000000000000000000000030a11161a16202b37434e58606d7984919ea6a59d9083786d60606d7a85919ea6a59e9184796d60584e43372b20161a16110b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191e20212d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d201d18130c040000000000000000000000000000000002080d141a1e21262b2e2f323436383939393938373633312e2d2a25201d18120c06000000000000000000000000000006111b242d34393d3e4646464646464642403d372f271d13090000000000000000000000000000000008131d262f363c4041464646464646463e3d39342d241b1106000000000000010c16202a323a3f434446464646464646464646464646464646464646464646464646464646464646464544403b332b21170d0200000000000000000000000000000000000000000000000000000000000000000000020608080c0f111213131312100e0c08070502000000020404060606060606000000000000000000000000000000000001040707131313131313130d0c0a07020000000000000000000000000002060808131313131313131310060603000000000000000000000000040a1b2835424e5b6875818e92877b6e6663646a6f767e848c92989d9f9f9d9791857b6e61564d41362a1e11050000000000000000101d2a3743505d6a768390928e89837e7a746f6a64605c54524d46443f3835302b271f1d18120e09030000000000000000000000000000000000000000000000000000030d1925303b444e58626c717e879298a0a7afa79f99938e88837f7c79777574737373747577797c7f83878d92989ea5ada59e9691857c6f6a5f564c42392e23180c030000000000000000000000030c18222c363f48505a616a6f7980868d92979c9fa2aaa7a9a8a7a6a6a6a7a8a9a8a6a7a09d9a94908a837c746d675e574d453b32291e150a0000000000000013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b000b1724313e4a5764717d8a979f9f9f9f9f9f9f9f9f9f9f9f9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000000070f161b1f22232c2b2a2928272625323e4b5865717e8b98a4a396897c706356493d3025262728292a2b2c21201d19130c040000000000000000000000000000000508131e28323a47535f6a73808d96a1aa9e93897d70665c5d67717e8b949faba1968d80736a5f53473e32281e13080500000000000000000000000000000000000407090a13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130a0907040000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e1114142020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202013110d07010000000000000000000000000000000000000003090e12151a1f212225282a2b2c2c2c2c2b2a29272421201e1913100d07010000000000000000000000000000000009121b22292d3031393939393939393534312c251d150b0100000000000000000000000000000000010b141d252b3033343939393939393931302d29221b12090000000000000000040e1820282e33373839393939393939393939393939393939393939393939393939393939393939393837342f2921190f0600000000000000000000000000000000000000000000000000000000000000000003090e121415191b1d1f1f201f1f1d1b191514120e09030b0e10111313131313130b0b0905010000000000000000000001080d111314202020202020201a1916130d0700000000000000000000030a0f1214151f202020202020201c13120f0b0600000000000000000000000c1926333f4c5966727f8c998f8279727071757c838a91969fa2aaa3a3a9a1978e8174685e5246392d2014060000000000000000101d2a3743505d6a7683909d9b95908b85807b76716d66615e5753504945413a37322c29241d1a15100b060000000000000000000000000000000000000000000000010b151f2a36424d56606a717e889299a2aaafa49c959087817c77726f6d6668676766676768666c6f72767b80868e939fa3aaa8a09792867c6f685e544b40342820150900000000000000000000000b151e2a343e48505a626c717c848c92989fa2a9aca8a8a09e9c9a9a999a9a9b9d9fa3ababaaa69f9c95908781796e695e574d443b30261c110600000000000013202c3946535f6c7986929facacacaea9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a4978a7d7164574a3e3124170b000b1724313e4a5764717d8a97989898989898989b9ea6b0aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000007101920272b2e2f3938373635343331313e4a5764717d8a97a4a295897c6f6256493c3132333435363738392d2c29241e160d040000000000000000000000000000020c1924303a44505a626e7c87929fa8a2988e81756b605455606c78839099a4a89f92877c6f625a50443a3024190c03000000000000000000000000000000040b101316162020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020171614100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205070813131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313060401000000000000000000000000000000000000000000000002050a0f121515181b1d1e1f20201f1f1e1c1a171413110d080401000000000000000000000000000000000000000911171d2124252d2d2d2d2d2d2d282724201a130b03000000000000000000000000000000000000020b131a202427272d2d2d2d2d2d2d2524211d17110900000000000000000000060e161d23272a2b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b28241e170f070000000000000000000000000000000000000000000000000000000000000000060b0f151a1e212225282a2c2c2d2c2b2a282522211e1a1410171b1d1e202020202020181715110c060000000000000000040c13191d202d2d2d2d2d2d2d2d2625231e19120a0100000000000000060e151a1f21222c2d2d2d2d2d2d2d29201f1c17110a020000000000000000000a1623303d495663707c8998948f837e7d7e828790949ea1a19e9996979a9f9f92877b6e6154473b2d22170b0000000000000000101d2a3743505d6a7683909da7a09d98928d88837e79736e6963605b53524c47433c38352f2b261f1c17110e0802000000000000000000000000000000000000000007121d27313946525e696f7c86929aa3ababa39f928d837c756f6a6662605c545a5a5a5a5a545b606265696e747b818a9298a2a9a9a19891847a6e665c51453c31261a0e0500000000000000000007121d27303c46505a626c717e8691969fa2aaaba39f9b9796918f8e8d8d8d8d8f9092999a9ea1a9aba79f9a938d837b6e695e564c42382e23170c04000000000013202c3946535f6c7986929facb9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a978a7d7164574a3e3124170b000b1724313e4a5764717d8a8b8b8b8b8b8b8b8b8f939eaaaa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c1003000000000000000000000000000000000000040f19222b32373b3c4544434241403f3e3d3d4a5763707d8a96a3a295887b6f6255483c3d3e3f4041434445463a39352f281f160c01000000000000000000000000000a141e2935414c56616c76828f99a3a89f92867b6e61594f505b656f7c87939fa9a3999082766c62564c4135291e150a0000000000000000000000000000070f161b2022232d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2323201c16100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090c0e10111213131312110f0d0b070705010000000000000000000000000000000000000000000000060c11151718202020202020201b1b18140f0901000000000000000000000000000000000000000001080f14181a1b20202020202020181715110c06000000000000000000000000040c12171b1d1e20202020202020202020202020202020202020202020202020202020202020201f1e1c18130d0600000000000000000000000000000000000000000000000000000000000000020a11171b1f262b2e2f32353738393939383735322e2d2b261f1c23272a2b2d2d2d2d2d2d2524211d181109000000000000040d161e24292c393939393939393933322f2a241c130a000000000000060f1820262b2e2f3939393939393939362d2b28221c140b0200000000000000000713202d3a4653606d7985929f95908b898b8f93999fa39f97918c8a8a8e9299998c7f7265544a3f33281c0f0300000000000000101d2a3743505d6a768390979d9fa7a29f9a94908a85807b75706c65605d56544e4745403937312b28231c1914100b040100000000000000000000000000000000000c18232f3943505a616e7b859198a3acaca399928b80786f6a625f585653504a4e4d4d4d4e4a505355575e61696e757e869297a2aaaaa1969082786d60574e42372b21170b0000000000000000000c18232e39424e58616c717f8a9298a0a8aba49f99928e8a8784828180808081828486898d92979ea1a8aca49f9590847b6e685e544a3f342820150a000000000013202c3946535f6c7986929facb9a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8a7e7164574a3e3124170b000815222e3b4855616e7b7f7f7f7f7f7f7f7f7f818f9ba8aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000a16202b343d4347495251504f4e4d4c4b4a49495663707c8996a3a194887b6e615548494a4b4c4d4e4f5051524745413a31281e130800000000000000000000000006111c26303845525d68717e8b949faba1968c8073695e534749535f6a74818d97a2ab9f948b7e71685d52463d30261c110600000000000000000000000007111921272c2f303939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939302f2c27211a11080000000000000002080d101213131313131313130707040100000000000000000000000000000000000000000000000000030613131313131313131313120f0a05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005080a0b131313131313130f0e0c080400000000000000000000000000000000000000000000000003080b0d0e131313131313130b0a080500000000000000000000000000000001060b0f1111131313131313131313131313131313131313131313131313131313131313131312110f0c070200000000000000000000000000000000000000000000000000000000000000060b141b22272b31373a3b3f4244454646464543413f3b3a37312c282e33363739393939393932312e29221b120900000000010c1620282f35394646464646464646403f3b352e251c120700000000040d18222a31373a3b4646464646464646433938332d261d140a000000000000000006131f2c3845515c6774818d98a09d9896979b9fa49f99928d85807d7d818792998f8276665b5044382b1f1206000000000000000c1926323f4c5965727f858b90959b9fa3a69f9c97918c87827d78726d6862605853514b47423c38342e2a251e1b16110d0801000000000000000000000000000004101c2934404b55616c76828f97a1aaafa49a92877e736d665f58534e4946443f41404040413f4446484d53565e616c717c859298a2aca89f948d80736a5f53473e33281c10040000000000000004101c2834404b545f6a717e87939fa2aaa9a199938e86827e7a777574737373747577797c80858b91969da5afa79f9691847a6e665c50443c32261b0f040000000013202c3946535f6c7986929facb3a79a8d80808080808080808080808080808080808080808080808080808080808080808080808080807c6f6255483c2f221509000714212d3a46535f696e7272727272727272727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000030f1b27323d464e54565f5e5d5c5b5a595857565556626f7c8995a2a194877a6e615455565758595a5b5c5d5e5f54524c433a2f24190d0100000000000000000000000b17232e38424e58606d7a85929ea6a69e9184796d60574d42414e58616d7a85929ea7a69e92857a6d61584e42382e23170c0200000000000000000000040f19232b32383b3d46464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646463d3c38332c231a10050000000000060d14191c1f1f202020202020201413110d0801000000000000000000000000000000000000000000060c1012202020202020202020201e1b161009010000000000000002080d101213131313131313090806030000000000000000000000000000000000000000000000010407071213131313131313131313120f0a050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f181d262d33373c4247484c4e505252535252504e4c4846423c3834393f43444646464646463e3d3a342d241b110600000008131e28323a414553535353535353534d4b4740372e24190d020000010c161f2a343c43474852535353535353534f46443f382f261c11060000000000000004101c2834404b55616e7b86929fa4a5a3a4a7a09d948f868079737070747d87939285796c605346392d201306000000000000000b1825313e4a57626d72797e83898e92999ea1a8a19e99928f89847f7a746f6a65605d55534d46443f3836302c27201d19130f0a0400000000000000000000000006131f2c3845515c67707d8a949fa9b0a69f93887e716c605c544e47433c3a38342e3433342d3338393c42464d525a616a6f7c86929aa4afa69f92877b6e62594f44392d20150a0000000000000006131f2c3845515c666f7c869299a4aea8a0979187817b75716d6869676766676768676d7073797e848e939fa4aca8a0969083786d60584e43372b20150a0000000013202c3946535f6c7986929facada0938679737373737373737373737373737373737373737373737373737373737373737373737373736f6a5f53473a2e2115080005121e2a36424d575f616565656565656566727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c1003000000000000000000000000000000000006131f2b37434e5860626c6b6a696867666463626160626f7b8895a2aa93867a6d606162636465666768696a6b6c605d564c4135291d11040000000000000000000003101c28343f4a54606a74818d97a1ab9f948a7e71675d51453b3c46525e68727e8b95a0aca1978e81746a60544a3f34281f1409000000000000000000000b16212b353d44484953535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534a48443d352c21160b000000000810181f25292b2c2d2d2d2d2d2d2d2d201d19130c04000000000000000000000000000000000000030a11171c1f2d2d2d2d2d2d2d2d2d2d2b27211b130a010000000000060d14191c1f1f2020202020201515120f0a030000000000000000000000000000000000000001080d1113141f202020202020202020201e1b161009010000000000000004090e1112131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130b0a0804000000000000000000000001060b0f111113131313131207060300000000000000000000000000000000000000000000000000000000000000000000060606060606060503000000020608080c0f111213131312100e0b08070502000000000000000000000000000000000000000000000000000008111a212a2f383f44464d5355585b5d5f5f605f5e5d5b5855534d46443f444b4f515353535353534b4a453f362d22180c0100010d19242f3a444c525f606060606060605957524940352a1e1307000007131d28313c464e53555f606060606060605c53504a42382d22170b00000000000000000c18232e3946525e69727f8b929b9e9f9e9b959089827b736d6763646b74818e98887b6e6255483b2f221508000000000000000916222e3a46515b62676d71777c81868c91969c9fa6a39f9b96918c86817c77716d67615f5753504a46413b38322c29241e1b15100c0700000000000000000003101c28343f4a54606d7984919ea6b0aa9e948c7f736c625a504a423c37322d2c282327272722282b2d31363b42465058606a707e88939fa8aea3998f82766c6155493c31261b0f00000000000004111d2935414b55606d79839098a3aba9a09691857d746e6964615d565b5a5a5a5a555c6063666d7179818b939aa4afa89f958c80736a5f54473d32271b0f0100000013202c3946535f6c7986929facada093867a6d676767676767676767676767676767676767676767676767676767676767676767676767625f584e43372b1f120600020e1a26313b454d53555858585858585966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000815222e3b4754606a6f7877767574737271706f6e6d686e7b8894a1a39886796c6c6d6e6f7071727374767778796d685d5245392c201306000000000000000000030c19232b3844505c666f7c87939fa9a3998f82766c61554b403335414c56606c7883909aa4a99f93887c6f665c50443b30251a0d03000000000000000004101b27323d474f5456606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606056554f473d33271c1004000006101a222a3035383939393939393939392c29241e160d0400000000000000000000000000000000030c151c23282c3939393939393939393937332c251c1309000000000810181f25292b2c2d2d2d2d2d2d22211f1b150e060000000000000000000000000000000000040c13191d20212b2d2d2d2d2d2d2d2d2d2d2b27211b130a010000000000080f151a1d1f20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020171714110c050000000000000000040c12171b1d1e20202020201f1312100c060000000000000000000000000000000000000000000000000000000105090b0b13131313131312120f0c04090e121415191b1d1f1f201f1f1d1b181414110e0802000000000000000000000000000000000000000000000008111a232c333c41495053575f6265686a6b6c6c6c6b6a6865615f5753504a4e565b5e606060606060585650483f34291d11050004111d2935414c565d6c6c6c6c6c6c6c6c66635b52473b2f23160a00071018242f3a434e585f626c6c6c6c6c6c6c6c69605b544a3f33281c0f030000000000000007121d2a36424d56626d7380898f9292918f8a837d766e69605d5559626f7c89988a7d7063574a3d3024170a0000000000000006121e29353f4951555c60646a6f757a7f848a8f949a9fa2a8a09e98928e88837e79736e6964605c54524c48443d39352f2b261f1c18120b030000000000000006121f2b3844505c66727f8c96a0acaea2988f82776c605a50443f38302b26201f1c171a1a1a171c1f20252a30363e464e58616c73808d96a1acab9f948a7d7064584e43372b1d120700000000000613202c3945515d67737f8c95a0aaada19791847b706b615e5754524c4e4d4d4d4e4b5153545c60676d747f88939fa5afa79f92877c6f62584e43372b1d120700000013202c3946535f6c7986929facada093867a6d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a55534e463c31261b0f03000009141f2a333b4246484c4c4c4c4c4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000916232f3c4956626f7c8584838281807f7e7d7c7b7a79787a8794a19f92867978797a7b7c7d7e7f8081828384867a6d6054473a2d2114070000000000000000000b151e2a36414d56606d78839099a4a99f92877c6f625a5043392f303a44505b666f7c87939faaa49a9083786d60574d42362a1f150b01000000000000000713202c38444f5960636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6361594f44382c20140700020d18222c343b414446464646464646464639352f2820160c010000000000000000000000000000000a151e262e343846464646464646464646433e372e251b1005000006101a222a303538393939393939392f2e2b2620181006000000000000000000000000000000040d161e24292c2d383939393939393939393937332c251c13090000000009121920262a2c2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211c171008000000000000060e161d23272a2b2d2d2d2d2d2c201f1c17110a03000000000000000000000000000000000000000000000000060c111517182020202020201f1e1c1810151a1e212225282a2b2c2d2c2b2a282521201e19140f0a040000000000000000000000000000000000000000060f1a232c353e454d535b6064696e72757778797979787674726e6964605c545660676a6c6c6c6c6c6c65625a50453a2e211509000713202c3945525d687679797979797979736d63574b3f3225190c050e19222935404b555f6a6e7979797979797979766c665b5044382b1f120600000000000000000e1925303b44515b636e737d82858684827d78706b625f57514b53606d788686867f7265584c3f3225190c00000000000000010d18232d373f434b5153586062686d73787d82888d92989da0a8a29f9b95908b85807b76706d66615e56544f4745413a37312c28231d150c030000000000000713202d3a4653606d7884919ea8b2a99f92867b6e655b50483e342e261e1b1312100c060d060b0f12131a1f252a343d46505a606d7984919ea8b0a69c8f83766a5f5347392e23180c00000000000714212d3a4754606d7a85929fa7b0a69e92857b6e696059524d47464141404040414045464b51555d606d727f8b939ea9afa3998f82766a605447392f24180c00000013202c3946535f6c7986929facada093867a6d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4847433c342a20150a000000030e18212a31363a3b3f3f3f3f3f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000916232f3c4956626f7c8991908f8e8d8c8b8a898887868583919daa9f92878385868788898a8b8c8d8e8f9091877a6d6054473a2d211407000000000000000007121d27303946525e68727f8b95a0aba1978d80746a5f53483e312728333f4a54606b74818e98a2aca0958c7f72695e52463e31271d1207000000000000000916222f3b4854606b707979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979706b6155483c2f2316090008141f2a343e464d5152535353535353535345413a32281e1308000000000000000000000000000006111c2630383f44535353535353535353534f4940372c21160a00020d18222c343b4144464646464646463c3a37312a22180e0300000000000000000000000000010c1620282f35393a4546464646464646464646433e372e251b1005000008121b242b3136383939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393931302d28221a120800000000040e1820282e3337383939393939392d2c28231c150c03000000000000000000000000000000000000000000000911181d2124252d2d2d2d2d2d2c2b28241c1f262b2e2f32353738393939383735312e2d2a251f1b150d07010000000000000000000000000000000000020b18212c353e474f575f656c71767b7f8183858586858583817f7b77716d665f58677277797979797979716c62564a3d3124170b000714212d3a4754606d7a86868686868686807366594d4033261a0d0b16202b343d45515d676e7c868686868686868682796c605346392d201306000000000000000009141f29323f49525c636b707578797875706c656059534d4544505c6674797979726d62564a3e3124180b000000000000000007111b252d31394045474e54565e61666d70767b81858b91959b9fa3a79f9d97928d87827d78736e6863605954514c47433c38342e271e150b000000000005111e2a36414c5664707d8a96a1adada1978c7f72695e53493f3628231c140c0a060300000000000306090e1419222b343e45515d67717e8a96a0acab9f94887c6f62544b4034281c100400000006131f2b37434e5866727f8c97a2adaa9e948a7d70695f574f46423b3935303433342e34383a40454b515b626d74818e97a1adab9e94897c6f62554b4035291d1004000013202c3946535f6c7986929facada093867a6d6053474040404040404040404040404040404040404040404040404040404040404040403c3a37312a22180e0400000000060f181f262a2d2e323232333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000916232f3c4956626f7c89959d9c9b9a99979695949992919195a0aca399929091929995969798999a9b9c9d93877a6d6054473a2d21140700000000000000000c18232e39424f59616e7b85929fa7a79e92857a6d60584e43362c1f222d38424f59616e7a86929fa7a79f92867b6e61594f43392f24180c030000000000000a1623303d495663707d86868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867d7063564a3d3023170a000d1925303b4650585d5f606060606060605f524c443a2f24190d01000000000000000000000000000c17232e38424a505f60606060606060605f5a52493e33271b0f0008141f2a343e464d51525353535353534847433c342a20150a0000000000000000000000000008131e28323a41454752535353535353535353534f4940372c21160a00040f19242d353d4245464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646463e3c39332c241a10050000010c16202a323a3f43444646464646453a38342e261e150a00000000000000000000000000000000000000000009121b22292e313239393939393939373430282c31373a3b3f4244454646464543413e3b3936302b272018130c04000000000000000000000000000000000a141d2a333e474f5961696e787e83888b8e909292939291908e8b88837e786f6a606a77848686868686867e7165584b3e3225180b000714212d3a4754606d7a8793939393938c807366594d4033261a0a141d28323d46515b606d798391989393939991847a6d665b5044382b1f12060000000000000000020d17202d37404952596063686b6c6b6864605b534f47423c3f4a545c6a6c6c6c65625b51463a2e2215090000000000000000000a131b1f272f34383d43474c52545c60646a6e747a7f84898f92999ea1a9a29f9a938f8a847f7a75706b65605d55534e4645403930271d1207000000000714202d3946525e6876828f9ca8b2ab9e9185796d60574d41382d2417110a02000000000000000000000002091019222935404b55606c7884919dabb0a69a8e8174665c5145382c1f13060000000815222e3b4754606a7884919ea9b1a79c8f82756c61574d453d36302d292427272723282c2e343a4145515b606d7a85929eaab0a69b8e8275675d5145392c1f1306000013202c3946535f6c7986929facada093867a6d6053473a34343434343434343434343434343434343434343434343434343434343434342f2e2b2620181006000000000000060e141a1e2122252526333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000916232f3c4956626f7c8995a2a7a6a5a4a3a2a1aaa29f9e9da0a7b1aba39f9d9e9fa2aaa2a3a4a4a5a6a7a093877a6d6054473a2d2114070000000000000004101c2834404b54606b75818e98a2aca0958b7e72685d52463c31241a1c262f3d46525e68727f8c95a0aca2988e81756b61554b4035292015090000000000000a1623303d495663707c89939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393897d7063564a3d3023170a00101c2935414d5862696c6c6c6c6c6c6c6c6c5d564c4135291d110400000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e12000d1925303b4650585d5f60606060606055534e463c31261b0f030000000000000000000000030c19242f3a444c52545e6060606060606060605f5a52493e33271b0f000915202b353f474e52535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534a49453e362c22170c000006121d28323c444b4f5153535353535246443f3830261c11060000000000000000000000000000000000000006111b242d343a3d3e4646464646464544403b34383c4247484c4e505252535252504e4b4746413b373229241d160d05000000000000000000000000000006111b262f3c454f59616b707b838a9095989b9d9e9f9f9f9e9d9b9895908b837c706b67798592939393938a7d7164574a3e3124170b000714212d3a4754606d7a87939f9f9f998c807366594d4033261a111c262f3a444e58626d75818e95a0aaa59f92877c6f685e544a3f33281c0f03000000000000000000050e1b252e3740474f54565c5f5f5e5c57535049413d373138424a50535f6060585651493f34291e1206000000000000000000010a0d151d23292c32383a41464a5053585f62676d72777d82878d92979d9fa7a49f9c96918c86827c77726d67625f5853514b42392e23180c000000000814212e3b4754616e7a87939facafa3998c7f72675d51453b2f261b1206000000000000000000000000000000071018242f3944505b66727e8b99a3aeac9f9285796d6053463a2d2013080000000916222f3c4955626f7c8896a1acaca095897c6f625a50453b332a25201d191a1a1a181c1f23282f353f45515d67727f8b98a2aeac9f9286796d6053473a2d201406000013202c3946535f6c7986929facada093867a6d6053473a2d2727272727272727272727272727272727272727272727272727272727272722211f1b150e06000000000000000003090e121415191926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000916232f3c4956626f7c89959b9a999998979695949892919095a0aba39992909192989495969798999a9b9c93877a6d6054473a2d211407000000000000040d1a242c3845515c66707d89939eaaa59d9083786c60564c41342a2012141d2a36414c56606d7883919da5aa9e938a7d70675d51453c31261a0d0400000000000a1623303d495663707c89969f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f96897d7063564a3d3023170a00121f2b3844515d6974797979797979797976685d5245392c20130700000000000000000000000006121f2c3844505c66767979797979797979766c5f5346392d201300101c2935414d5862696c6c6c6c6c6c6c625f584e43372b1f120600000000000000000000000b151e2935414c565d606b6c6c6c6c6c6c6c6c6c6c645a4f43372b1e12000e1a26313d4751595e5f606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060575550483e33281c1104000b17232e3a444e565c5e60606060605f53504a42382e23170c000000000000000000000000000000000000010c18222d363f454a4b53535353535352504c454044464e5355585b5d5e5f605f5e5d5b5854524d47433d352f281f170f05000000000000000000000000000b17222d38414d57616b707d8690959d9fa7a8aaaaa39f9e9e9e9fa3a09d9590867d706d798698a29f9f96897d7063564a3d3023170a000714212d3a4754606d7a8793a0aca6998c807366594d4033261a17222d38424c56606a727f8b939ea8a79e938b7f726a60564c42382d22170b000000000000000000000009131c252e353d4448494f5253514f4a46443f382f2b2630383f44465353534c4a463f372d23180d010000000000000000000000030b12181c1f272b3036383f44464e53555d60656b70757b80858b90959b9fa3a8a19e99928e89847f7a746f6a64605c544b4034281c10040000030f1b27333f495364717e8b9aa4afac9f92867a6e61554b4033291d140a000000000000000000000000000000000007121d28333f4a54616d7a86929facaea298897d706356493d2f24190d0100000d1a2633404d596673808c99a8b2aa9d9083776a6054483e332a211a14110d080d070c1013181d242935414c55606d7985929fabaea2988a7d7164574a3e2e23170b000013202c3946535f6c7986929facada093867a6d6053473a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1515120f0a040000000000000000000000020507080c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000916232f3c4956626f7c89908f8e8d8c8b8a898887868584839099a49f9287838485868788898a8b8c8d8e8f90877a6d6054473a2d2114070000000000010c161f2a36424d57606d7984919da5aa9e93897c6f665b50443a3022180e0b1925303b44515c66707d89939eaaa59e9184796d60574e42372b20160c01000000000a1623303d495663707c8996a3acacacb5afaca7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a396897d7063564a3d3023170a00131f2c3946525f6c7986868686868686867a6d6054473a2d2114070000000000000000000000000713202d3a4653606d788686868686868686796c605346392d201300121f2b3844515d697479797979797979766a5f53473a2e2115080000000000000000000007121d27303945525d686d78797979797979797979766c5f5346392d201300111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d211408000f1b27333f4b5660676b6c6c6c6c6c6c605c544a3f34281c1003000000000000000000000000000000000005111d29343f485056586060606060605f5d574f4a5153575f6265686a6b6c6c6c6b6a6864615e56544e45413a312921170f050000000000000000000000030f1b27333f49535f69707d8792989fa7aba7a09d9898929191919299989d9f9892877d707a8794aab4a396897c706356493d3023160a000714212d3a4754606d7a8793a0ada6998c807366594d403326172128333f4a545e686f7c87929fa5aaa0958e81756d62584e443a2f261c11060000000000000000000000010a131c232b33383c3d42454645423d3937332d261d1e262e34383a4646463f3e3a342d251b11060000000000000000000000000001070c10161b1e252a2e34383c43474b5154596063696e73797e83888e92989ea1a8a39f9b95918b85817c76716d665c5145382c1f1306000005121f2b3744505b6575818e9bacb6a99c8f8276685e5243392f21170b020000000000000000000000000000000000010b17222d3846525d6875828f9ca8b4aa9a8d807367564c4135291d11040005111e2a36424d576976838f9ca9b5ab998c7f7366584e43362c21180f0905010000000004070c1319242f3a45515d6774818e9aa7b4aa9b8e817468544a3f34281c10030013202c3946535f6c7986929facada093867a6d6053473a2d20140d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0908060300000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000916222f3c4955626f7c83838281807f7e7d7c7b7a7978777887939f9e9184787879797a7b7c7d7e7f80818283847a6d6054473a2d211407000000000007131d28313a46535f69737f8c96a0aca2988e81756b60544a3f32281e100608141e2834404a54606b75828f98a2aca0968c80736a5f53473e32281e1308000000000a1623303d495663707c8996a7b1bbb5aba39f9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a96897d7063564a3d3023170a00131f2c3946525f6c7985929393939393877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693939393939386796c605346392d201300131f2c3946525f6c79868686868686867c6f6255483c2f221509000000000000000000000c18232e39424f59606d7a85868686868686868686796c605346392d201300121f2c3845525e6a7579797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979716c6155493c3023170a00111d2a37434f5c6772777979797979786d665c5044382c1f120600000000000000000000000000000000000915212e3a45505a62656c6c6c6c6c6c6c696157545c60646a6e72757778797979787674716e68626058514b433b332921170d030000000000000000000005121f2b3744505b656e7b859299a2aaaaa39f95918b888584848586888b90959e9992857b7b8894a1aea295897c6f6256493c2f231609000714212d3a4754606d7a8793a0ada6998c807366594d4033261e29333b44505b666d7a849199a3aea2989083796d605b51463d32281d140a00000000000000000000000000010a111921272c2f303538393835312d2b27221b14151c23282c2d39393932312e29231b13090000000000000000000000000000000000040a0f13191c23282b31373a4145474f54575e61676d71767c81868c91969c9fa4a7a09d98928e88837e796d6053463a2d20130700000613202d394653606c7885929eabb3a9988b7f7265564c4131271d0f050000000000000000000000000000000000000006111c2935414c5665727f8b98aab4aa9d918477685d5245392c201306000714202d3a46525e697885929eabafa399897c6f6256493d32231a0f060000000000000000000108131e2935404b5564707d8a97a9b3aa9d908377665c5044382b1f12060013202c3946535f6c7986929facada093867a6d6053473a2d201407010101010101010101010101010101010101010101010101010101010000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000815212e3b47535f6a6f77767574737271706f6e6e6d66667885929e9d9083766b676d6e6f7071717273747576776d675d5145392c20130600000000020b18242f3a43505a616e7b86929fa8a89f92867b6e61594f42382d20160c00020c18232e39424f59616e7b86929fa8a89f92867b6e625a50443a2f24190c020000000a1623303d495663707c8995a0a9b3afa399928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d897d7063564a3d3023170a00131f2c3946525f6c7985929f9f9f9f93877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d7986939f9f9f9f9386796c605346392d201300131f2c3946525f6c79859293939393887b6f6255483c2f22150900000000000000000005101c2834404b54606b74818e979393939393939386796c605346392d20130013202c3946535f6c79878686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867e7164574a3e3124170b00111e2b3844515e6b7784868686868686786d6053463a2d20130800000000000000000000000000000000000b1724313d4a56626c71797979797979787369585f666d71777b7f8183858586858583817e7b756f6a605d554d453b33291f150b010000000000000000030f1b27333f4953606c77829097a2abaaa398928b837f7b79787778797b7f83899196978f827c8895a2aea295897c6f6256493c2f231609000714212d3a4754606d7a8793a0ada6998c807366594d40332627303b454f59606c78828f96a1aba49f92857b6e675d51493f342b20160b02000000000000000000000000000000070f161c202223292c2c2b2924201f1b17110a0a11171c1f202c2d2d2524221e181109010000000000000000000000000000000000000002080d11171c1f262b2f35393d44484d53555c60646a6f747a7f848a8f939a9fa2aaa29f9a94908a8376695d5043362a1d1000000815222e3b4855616e7b8897a1adada197887b6e6255483b3022150b0000000000000000000000000000000000000000000d1924303c4855626f7b8898a2aeaca095877a6d6054473a2d211407000814212e3b4754616e7b8797a2adac9f92867a6d6053473a2d2014070000000000000000000000010d18242f3b4754616e7a8797a1adac9f9286796d6053463a2d2013070013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c1003000000000000000000000000000000000006131f2b37434e585f626a69686766666564636261605c6a7784919d9c8f8275695c60616263646566676869696a605d554c4135291d1104000000000a141d2935404b55616c75828f98a3aca0968c7f73695e52473d2f261c0e04000007121c27303d46535e69737f8c96a0aca3998f82766c61564c4135291e140a0000000714202d3a4753606d79839097a2acac9f928780808080808080808080808080808080808080808080808080808080808080808080808080807b6e6255483b2f22150800131f2c3946525f6c7985929facaca093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929f9f9f95887b6f6255483c2f2215090000000000000000050e1b242c3845515c666f7c88939fa99f9f9f9f9f9386796c605346392d20130013202c3946535f6c798692939393939393939393939393939393939393939393939393939393939393939393939393939393939393938a7e7164574a3e3124170b000e1b2734414e5a6774818d93939398897c6f6356493c2f24190d01000000000000000000000000000000000b1825323e4b5865717e868686868686857866616a6f787e83888b8e909192939291908e8b86827c746d675e574d453b31271d1207000000000000000005121f2b3744505b65717e8a949fa9aea39892867f78726e6c656b666d6e72767d849094948c7f8c99a5afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033232e39424d57616b73808c949fa8a69d928a7e71695f554b40372d22190e050000000000000000000000000000000000050b101316161c1f201e1c1713120f0b060000060c101213202020191815120d06000000000000000000000000000000000000000000000000060b10151a1d24292c33383b42464b5153586062686d72787d82878d92989da0a7a69f9c9084776a5d5144372a1e1100000a1724303d4a5763707d8a96a9b3ab9e928578695f53473a2e2114030000000000000000000000000000000000000000000813202d394653606c7985929facb1a795897c6f6256493c2f231609000916232f3c4956626f7c8995a9b3aa9e918477675d5145382c1f13060000000000000000000000000714202d3946525e687885919eabaea398887b6e6255483b2f2215080013202c3946535f6c7986929facada093867a6d6053473a2d20140c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c070604010000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000030f1b26323c464e53555e5d5c5b5a595857565554535d697683909c9b8e8174685b535455565758595a5b5c5d5e54514c433a2f24190d0100000006111b262f3845515d67717e8a949eaaa69e9184796d60574d42352b1d140a000000000b151e2a36424d57606d7984919ea6ab9f948a7e71685d52453d30261c1106000006131f2c3945515d676e7b85929aa4afa3998e81747373737373737373737373737373737373737373737373737373737373737373737373736e695f53473a2e21140800131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f22150900000000000000020c16202b37424d57606d7983919aa4afacacacac9f9386796c605346392d20130013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b000a1724313d4a5764707d8a99a3aa998c807366564c4135291d1104000000000000000000000000000000000b1724313e4a5764717d8a939393939786796d6c707c838b9095989b9d9e9f9f9f9e9d9b99928f8781796e695e574d43392f24180c03000000000000000613202d394653606c7883909da6b0a79f92867d726c6662605b545c6062656b707a8290959286929facafa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d40332834404b545e69707d88939fa6a99f948d80736c61574d43392f251b100700000000000000000000000000000000000000000407090a0f1213120f0a0605030000000000000306071313130c0b090601000000000000000000000000000000000000000000000000000000030a0f13181d20272c3136394045464e54565e61666c70767b80858b90959ca4aa9d9084776a5d5144372a1e1100000c1926323f4c5965727f8c98a5b2a99c8f837669574d42372b1e120600000000000000000000000000000000000000000006121f2b3844505b667783909daab1a4978b7e7164584b3e3125180b000a1723303d4a5663707d8996a3b0a99c90837669554b4035291d100400000000000000000000000005111e2a36414c566a7683909da9b4aa96897c6f6356493c302316090013202c3946535f6c7986929facada093867a6d6053473a2d2019191919191919191919191919191919191919191919191919191413110d0701000000000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000a15202a343c43474951504f4e4d4c4b4a4948474f5b6875828e9b9a8d8073675a4d4748494a4b4c4d4e4f50514745413a31281e1308000000000b17222d38414e58606d7984919ea6ab9f948a7d70675c51453b3023190b0200000000030c1a25313b45515c67707d8a949eaba69e91857a6d60584e42382e23170b000004101d2935404b555f69707d88939fa6ab9d938b7e716a67676767676767676767676767676767676767676767676767676767676767676767625f574d42372b1e120600131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f2215090000000000000008131e28323a47535f69737f8c95a0acb6b8b9beac9f9386796c605346392d20130013202c3946535f6c7986929facacacaea9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a4978a7d7164574a3e3124170b000714212d3a4754606d7a86929fa99d908376685d5245392c201307000000000000000000000000000000000a1723303d4a5663707d89969f9fa994877a6d707e8690959da09e9c9b9a9b9c9ea1a9aba39f9a938e847b6e695e554b403529201509000000000000030f1c28333f4a5463707d8995a0acab9f958b7e716b605b5453504a5053555961686d798391999299a3aeafa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033343c45515c666e7b85929aa4aba1979082786d605a50453c31271d1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d11161c1f252a2e34383c43474c52545b6064696e747a7e838c929caa9d9084776a5d5144372a1e1100000e1b2834414e5b6774818e9aa7b3a79a8d8074675a4d4131261a0e02000000000000000000000000000000000000000000030f1c28333f4a546875818e9ba8b3a6998d8073665a4d4033271a0d000b1724313e4a5764717d8a97a4b0a89b8f8275685c4f422f24180c00000000000000000000000000010d192530424f5c6875828f9ba8b0a3968a7d7063574a3d3024170a0013202c3946535f6c7986929facada093867a6d6053473a2d26262626262626262626262626262626262626262626262626262621201d18130c040000000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c1003000000000000000000000000000000000000040e18222a32373b3c44434241403f3e3d3c3b414e5a6774818d9a988c7f7265594c3f3c3d3e3e3f40414243443a39352f281f160c01000000030f1b27333f49535f6a73808d96a19fa3998f82766c61554b4033291f100700000000000009141f2934404b55616c76828f99a39fa1978d80746a60544a3f34281c100300000c18242f39434d57616b73808c949ea8a59f92867c6f685d545a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a55534d453c31261a0e0200131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f221509000000000000030d1925303a44505a616e7b86929fa7afacabadb3ac9f9386796c605346392d20130013202c3946535f6c7986929facb9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a978a7d7164574a3e3124170b000613202c3945515d677683909ca99f92867a6d6054473a2d211409000000000000000000000000000000000a1623303d495663707c8996a3aca195887b707e8792989e9896918f8e8d8e8f91979b9fa4aca49f9691847b6e675d51453c31261a0f02000000000006121f2b3844505b6674818e9ba7b1a99d9083766d6259504a46443f4446484f565d676f7c87929fa3abb4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d40313c46505a606d78839097a2aca39991857a6e665c50483e332a1f150b00000000000000000000000000000000000000000000000000000000000004080a0a1313131312110f0b070100000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f141a1d24292c32383a41464a5053585f62676d7279808c99a69d9084776a5d5144372a1e110000101c2936434f5c6976828f9ca9b2a5998c7f7266594c3f3326190900000000000000000000000000000000000000000000000b17222d404d5a6773808d9aa6b3a89b8e8175685b4f4235281c0f000b1825313e4b5864717e8b97a4b1a89b8e8275685b4f4235281c070000000000000000000000000000081b2835414e5b6874818e9ba7b0a4978a7d7164574a3e3124170b0013202c3946535f6c7986929facada093867a6d6053473a333333333333333333333333333333333333333333333333333333332d2c29241d160d0400000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000007101820262b2e2f37363534333332313033404d596673808c99978b7e7164584b3e313031323334353636372d2c29241e160d040000000005121f2b3744505b656f7c87929393939392877c6e625a5043392e21170d00000000000000030c18232f3943505a616e7b86929393939393877c6f665c5044382b1f1206000007121d27313b454f59606c78828f96a0aaa39891847a6d665b504d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4847423c332a2015090000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f2215090000000000010b151f2a36414c56626c76828f98a3aca49f9ea1a9b39f9386796c605346392d20130013202c3946535f6c7986929facb9a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8a7e7164574a3e3124170b0004111d2935414c5566737f8c99a9a3998a7d7164574a3e31261a0e02000000000000000000000000000000091623303c4956636f7c8996a2afa295897c7c86929996918c8784828181818285888e939aa1a9a8a0969083796d60584e43372b1f140900000000000613202d394653606c7985929eabada1978a7d70645a50443f393734383a3d444c555f6a74818e9aa7b1bdafa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d403a434e58616c74808d959fa9a59f92877d6f685e544a3f362c21180d0300000000000000000000000000000000000000000000000000000000050b10141617202020201f1e1b17120c0500000000000000000000000000000000000000000000000000000000000000000000000002080d11171c1f262a2f35383d43484c52545c60646a6e747a7e838c929caa9d9084776a5d5144372a1e110000101d2a3643505d697683909ca9b1a4978a7e7164574b3e3124180b0000000000000000000000000000000000000000000000061926323f4c5965727f8c98a5b2a89c8f8275695c4f4236291c0f000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2834414e5b6774818e9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3a39352f281f160c01000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000000070e151b1f21222b2a29282726252425323f4c5865727f8b98968a7d7063574a3d30242425262728292a2b21201d19130c0400000000000613202d394653606c79838686868686868680736a5f53473e30271d0f05000000000000000007121d27313e47535f6973808686868686868683796d6053463a2d2013070000010b151f2a333e44505b666d7a849198a2aaa1968f82786c60594f45404040404040404040404040404040404040404040404040404040403b3a37312a21180e030000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f221509000000000007121d27313946525e68717e8b949faaa49a939297a1ad9f9386796c605346392d20130013202c3946535f6c7986929facb3a79a8d80808080808080808080808080808080808080808080808080808080808080808080808080807c6f6255483c2f22150900010d19242f3c4956626f7c8997a2ab9a8e817467574d42372b1e12050000000000000000000000000000000916232f3c4956626f7c8995a2afa396897d839098938d847f7b777574747476787c81889197a1a9a8a0958d80736a5f53473b30251a0e02000000000916232f3c4956626f7c8997a2adab9e9285796d6053463f332d2b282c2d323a434e58626e7b88959fabb8afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d40414b555f6a717e8a929da7a89e938c7f726b60564c42382e241a0f06000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2b2a28231e170f06000000000000000000000000000000000000000000000000000000000000000000040a0f13191c22282b3136394045474e54565e61666d70767b80858b90959ca4aa9d9084776a5d5144372a1e110000111e2a3744515d6a7783909daab0a3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a99c908376695d5043362a1d10000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d60534c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4745413a31281d1307000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c1003000000000000000000000000000000000000000000040a0f1315161e1d1c1b1a19181724313e4a5764717d8a9795897c6f6256493c2f231718191a1b1c1d1e1413110d080100000000000005121f2b3744505b656c7679797979797979736e64584e43352c1e150b000000000000000000010b151f2b37424d57636e7379797979797979776d665c5044382b1f1206000000030d182128333f4a545d686f7c86929fa4a89f948c80736b61574d43392f343434343434343434343434343434343434343434343434342f2e2b2620180f06000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f22150900000000020b18232f39434f59616d7a85929ea6a99f938785929eab9f9386796c605346392d20130013202c3946535f6c7986929facada0938679737373737373737373737373737373737373737373737373737373737373737373737373736f6a5f53473a2e21150800000813202d394653606c7985929eab9e918478695f53463a2d2114060000000000000000000000000000000916222f3c4955626f7c8895a2afa89c8f828f9593888079726e6969686768696a6f747d859197a2ada79f92877c6e62574d42362a1e1205000000000c1926323f4c5965727f8c98a9b3a79b8e8174665c50443828221f1c1f2028313c47535f6a7683909da9b6afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d3f45515d676f7c86929fa4aaa0968f81756d62594f443b30261c12080000000000000000000000000000000000000000000000000000000008111a22282d3031393939393837342f2821180f05000000000000000000000000000000000000000000000000000000000000070c10151b1e24292d33383b42464b5153586062686d73787d82888d92989da0a7a69f9c9084776a5d5144372a1e110000111e2b3844515e6b7784919eaaafa396897c706356493d3023160a00000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1aa9d9083776a5d5044372a1d11000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d605959595959595959595959595959595959595959595959595959595959595954514b433a2f24180d010000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000000000000000306080911100f0e0d0c0b1623303d495663707c899694877b6e6154483b2e21150b0c0d0e0f1011070604010000000000000000030f1b27333f49535b60696c6c6c6c6c6c6c67645c52463c31231a0c0300000000000000000000030d1a26313c45525c63666c6c6c6c6c6c6c6a605c544a3f34281c100300000000060f17222d38424c565f6a717e8b929da7a69f93887d70695f554b40352927272727272727272727272727272727272727272727272722211e1a150e0600000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f221509000000000a141d2934404b55606b74818e97a1ada1978e8183909da99f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d676767676767676767676767676767676767676767676767676767676767676767676767625f584e43372b1f1206000006121f2b3844505b6675828e9ba8a196887b6e6155483b2e23170c0000000000000000000000000000000916222f3c4955626f7c8895a2afaa9e948f9493887e736d67615e575b5a5b5860626b6f7c85929ea6afa3998e8175695e52463a2d201408000000020f1b2835424e5b6875818e9ba8b5ab988b7e7165544a3f342817121012161f2b37434e5866727f8c99abb5afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366595049515b606d79849198a2aea29891847a6d605b51473d32291e150a0000000000000000000000000000000000000000000000000000000005101a232c33393c3d464646464543403a332a21170c01000000000000000000000000000000000000000000000000000003090e12181c1f262b3035383f44464d53555d60656a6f757a7f848a8f949a9fa2aaa29f9a948f8a8276695d5043362a1d100000121f2b3845525e6b7885919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0aa9e9184776b5e5144382b1e11000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6666666666666666666666666666666666666666666666666666666666666666605d554b4135291d11040000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000000000000000000000403020100000915222f3c4855626f7b889598867a6d6053473a2d201407000102030304000000000000000000000000000b17222d38414950535d606060606060605a58524a40332a20110800000000000000000000000009151f2a33404a52585a606060606060605d53504a42382e23170b00000000000006111c262f3a444e58616c74808d959fa9a49a92857b6e675d51453f342b20171a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1514120e09030000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f22150900000006111b262f3845515c67707d89939ea9a69e91857a84919daa9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a55534e463c31261b0f030000030f1c28333f4a5465717e8b98a8a8988b7e7265544a3f34281c100300000000000000000000000000000916222f3c4955626f7c8895a2afb0a69e9c958c80736c605c55524d4e4e4e4e5459606a717e8a949fabab9f92877b6e6154483b3025190e02000005111d2a36414c566a7784909daaafa499887b6f6255483c2e23170603060d1a26313c4956626f7c8999a3afafa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c80736b605b5358626d75818e96a0aaa49f92867c6f675d51493f352b20170c03000000000000000000000000000000000000000000000000000000000b17222c363e44494a5353535352504b453c33281e1207000000000000000000000000000000000000000000000001040b10141a1d23282c32373a41464a5053575f61676d71777c81868c91969c9fa6a7a09d98928d88837e786d6053463a2d2013070000121f2b3845525e6b7884919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0aa9d9184776a5e5144372b1e11000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada09386797272727272727272727272727272727272727272727272727272727272727272726d675d5145392c2013060000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a879a928579675d5145392c2013060000000000000000000000000000000000000006111b262f383f444650535353535353534d4c4740382e21180e00000000000000000000000000030e18212e3840474b4d535353535353535046443f3830261c1106000000000000000a141d28323c46505a606d78839097a1aba2979083796d605b51463d32291e140a0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0808060200000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f2215090000000b17222d38414e58606d7984919ea5aa9e948a7e7885919eab9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4847433c342a20150a000000000b17222d3b4854616e7b8795a0a89b8f8275665c5044382c1f120600000000000000000000000000000916222f3c4955626f7c8895a2afb8b0a89d9083786d605a514b464241414143474f58616c76828f9ca9afa3998c7f7266564c41362a1e110500000713202d3946525e687985929facac9f9386796d6053463a2d20130600000913202d3a4653606d7986929facafa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0adab9e91847d726c655d606a727f8b939ea8a79d928a7e716a5f554c41372d23190e050000000000000000000000000000000000000000000000000000000004101c28333e48505557606060605e5c564e453a2f23170b00000000000000000000000000000000000000000001080d11161c1f252a2e34383c43474c52545b6063696e73797e83898e92999ea1a8a39f9b95908b85807b76716d665c5144382c1f12060000111e2b3844515e6b7784919eaab0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a99d9083766a5d5043372a1d10000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb2a6998c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f796d6054473a2d2114070000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939184786b554b4035291d100400000000000000000000000000000000000000000a141d262d3337394346464646464646403f3c362e261c0f060000000000000000000000000000060f1c262e363b3f4046464646464646443a38342e261e140a0000000000000000020b16202a343e44515c666e7b859199a3a9a0958e81756d62584e443a30261c11060001010101010101010101010101010101010000000000000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f2215090000040f1b27333f49535f6a73808c96a0aca2988f82757985929fac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053474040404040404040404040404040404040404040404040404040404040404040403c3a37312a22180e04000000000614202d3a46525e697784919daa9f9285796d6053463a2d20130800000000000000000000000000000916222f3c4955626f7c8895a2afb9ada1968a7d71665c5045403936303432373d46505a63707d8a97a1adab9d908377685e5246392d20140700000714212e3a4754616d7a8798a2aeab9e918478675c5145382c1f1306000006131f2c3845515c667784919daaafa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0adada19691877f776d68686f7c87929fa5a99f958d80746c61584e433a2f251b110700000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6b6860564b4034281b0f0200000000000000000000000000000000000000040c13191d20272c3036394045464e54565d61666c70757b80858b90959b9fa3a8a19e99928e89837e7a746e6a64605c544a4034281c10040000111e2a3744515d6a7784909daab0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1a99c8f8276695c504336291d10000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9a89c918c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c877b6e6154483b2e2115080000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79869a9184786b554b4135291d11040000000000000000000000000000000000000000020b141b22272b2d36393939393939393433302b241c140b000000000000000000000000000000000a141c242a2f323339393939393939372d2b28231c140c02000000000000000000040e18222834404a545e69707d87929fa5a79e938b7f726a60564c42382e23170f0600000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f22150900040d1a232b3744505b656f7c87929fa8a79f92867b6e7986939fac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a34343434343434343434343434343434343434343434343434343434343434342f2e2b2620181006000000000005121e2a36424d576774808d9aaaa298897c6f6356493c2f24190d01000000000000000000000000000916222f3c4955626f7c8895a2afb8ab9e9184786c60544a3f342f2a2527272b333e4653606c7885929eabaca095877a6e6154473b2e21140800000915222f3c4855626f7b8895aab4a99d9083766a554b4034281c1004000004101c2834404b546975828f9ca8afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0adb2a9a199928c827a6f6d7a849199a3aba1979083786d605a50463c31281e130a000000000000000000000000000000000000000000000000000000000000061623303c4955616c70797979797872685c5043372a1e07000000000000000000000000000000000000010a0d161e24292c33383b42464b5153585f62686d72787d82878d92979da0a7a49f9c96918c86817c77726d67625f5853514a42392e23180c000000101d2a3643505d697683909ca9b1a5988b7e7265584b3f3225180700000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3a89b8f8275685c4f4235291c0f000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9ada39c999999999999999999999999999999999999999999999999999999999999999994877b6e6154483b2e2115080000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794928679675d5145392c201306000000000000000000000000000000000000000000020a11171b1f202a2d2d2d2d2d2d2d2726231f19120b0200000000000000000000000000000000020a12191f2326272d2d2d2d2d2d2d2a201f1c17110a020000000000000000000000061018232e39424d57606b727f8c939ea7a59f92877c6f685e544a3f342821180d04000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f221509010c161f2a36414c56606c77839099a3aba0958c7f726d7a879aa4af9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d2727272727272727272727272727272727272727272727272727272727272722211f1b150e06000000000000020e1a25303d4a5763707d8a98a3aa998c807366564c4135291d1104000000000000000000000000000916222f3c4955626f7c8895a2afb6ac9a8d8074665b5042382e231d1a1b1b212b3844505b6674818e9ba7b1a7978a7e7164574b3e3124180700000a1623303d495663707c8996a3afa89c8f8275695c4f422e23180c000000000c18232e414e5a6774818d9aa7afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0adbbb2aba39f948f847c78828f96a1aba49992857b6e665c51483e342a1f160c0100000000000000000000000000000000000000000000000000000002080e111724313d4a5764707d8686868684786b5e5245382b18120e09030000000000000000000000000000000a131c1f282f35393d44484d52545c60646a6f747a7f848a8f939a9fa2a9a19e9a938f8a847f7a756f6b65605d55534e4644403930271c12070000000f1c2835424f5b6875818e9ba8b3a6998c807366594d402f23180c00000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4a79a8e8174675b4e4134281b0e000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9b5ada8a6a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a194877b6e6154483b2e2115080000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000000000000000000000403020101000915222f3c4855626f7b889598877a6d6054473a2d2114070001020303040000000000000000000000000000000000060b0f12131d202020202020201a1917130e080100000000000000000000000000000000000000080e1317191a202020202020201d1312100b06000000000000000000000000000007121c27303b454f59626d75818e95a0aaa39991847a6d665c50443e332a1f160c010000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f22150907121d28313946525e68727e8b949faba3999083786d6e7a8794a1b69f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1515120f0a0400000000000000000914202d3a4753606d7a86929fa99d908376685d5245392c201307000000000000000000000000000916222f3c4955626f7c8895a2afafa49a897d7063544a3f30261c120e0a0f1c28333f4a5465717e8b98abb5a69a8d8073675a4d402e23180c00000a1724313d4a5764707d8a97a3b0a89b8e8175685b4e4235281b0700000000071a2633404d596673808c99a6afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0adb8b0aaa9a69e969186828f949fa8a69f93877d70695e544b40362c22180d04000000000000000000000000000000000000000000000000000001070c14191b2227313d4a5764707d8a93939185786b5e52453828231c1a140d070100000000000000000000000007121c252e313a4145474f54575e61666d71767c81868c91969c9fa4a79f9d97928d87827d78726d6863605953514b47433c38342e271e150b000000000d1a2734404d5a6773808d9aa6b3a89b8e817568554b4034291c100400000000000000000000000000000000000000000005121e2a36424d576976838f9ca9b2a5988c7f7265594c3f3226190c000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9afa7a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f94877b6e6154483b2e2115080000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000000000000000206080811100f0e0d0c0b1623303d495663707c899694887b6e6155483b2e22150b0c0d0e0f10110707050100000000000000000000000000000003050610131313131313130d0d0b07030000000000000000000000000000000000000000000002070a0c0d131313131313131107060300000000000000000000000000000000000b151e29333d47515b606d79839098a2aba1968f82786d605a50453c31281d13070000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070303030303030303030303030713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f2215090b18242f39434f59616e7a85929fa6a89f92877c6f666e7b8894a1ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d20140d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d090806030000000000000000000006131f2c3945515d6776838f9ca99f92867a6d6054473a2d211409000000000000000000000000000916222f3c4955626f7c8895a2afac9f93867a6d6054473a2d21150a01000b17222d3c4855626f7b8899a4afa99c8f837669554b4034281c1004000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000c1926323f4c5965727f8c98a5afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0adb0a69e9c9fa2a199928f949ea6a89e948c7f736b60574d42392e241b10060000000000000000000000000000000000000000000000000000030b12181e252a2d33373d4a5764707d8a979e9185786b5e524538342e2a251f18120c0400000000000000000000020d19232e3740434c5154596063696e73797e83888e92989ea0a8a29f9a95908b85807b76706c66615e56544f4745403a37312c28231c150c03000000000c1925323f4c5865727f8b98abb5aa9d908477675c5145382c1f13060000000000000000000000000000000000000000000714212d3a46535f697885929fabb4aa968a7d7063574a3d3024170a000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9a79d95939393939393939393939393939393939393939393939393939393939393939393877b6e6154483b2e2115080000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c1003000000000000000000000000000000000000000000030a0f1214151e1d1c1b1a19181824313e4b5764717e8a9795897c6f6256493c2f231718191a1b1c1d1e1413110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17202b353f45515d676e7b86929aa4a89f948d80736c61574e433a2f2418110700000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114101010101010101010101010101013202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f22150a141d2935404b55616b75818e97a2aca1968d80746a626f7b8895a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d20140701010101010101010101010101010101010101010101010101010101000000000000000000000000000004101d2935404b5566727f8c99a9a3998a7d7164574a3e31261a0e020000000000000000000000000916222f3c4955626f7c8895a2afaa9e918477675d5145392c20130300000613202d3a4653606d7986939facab9e918478675c5145382c1f1306000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e010000000c1825323f4b5865727e8b98a5afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0adaa9e948f9298a2a39f9c9ea6aaa1968f82776c60594f453b30271d12090000000000000000000000000000000000000000000000000000060d151d23293036383f44464a5764707d8a979e9185786b5e5246444039363029241d160d0600000000000000000006121e2a35404951555d60656b70757b80858a90959a9fa2a8a09d98928e88837e79736e6963605b54524c48433d39352f2b261f1c18120b030000000000091623303c4956636f7c8999a4afac9f9286796d6053473a2d22170b0000000000000000000000000000000000000000000815222e3b4855616e7b8897a2adaea298887b6e6155483b2e221508000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9a2958b868686868686868686868686868686868686868686868686868686868686868686867b6e6154483b2e2115080000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000000060e151a1f21222b2a29282726252425323f4c5865727f8b98968a7d7063574a3d30242425262728292a2b21201d19130c0500000000000000000000000305060e101010101010090806030000000000000000010304060606060504030100000000000000000000000000000000000000000000000000000000000000000000000000000000050e19232935404b555f69707e88939fa6a69d928a7e716a5f554b40352923190e05000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d211c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f2215111c262f3845515d67707d8a939ea9a59e9184796d60626f7c8895a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3c4955626f7c8897a1ab9a8d817467574d42372b1e12050000000000000000000000000916222f3c4955626f7c8895a2afa89c8f827569554b4135291d1104000006131f2c3845515c677884919eabac9f9386796d6053463a2d201307000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000b1825323e4b5865717e8b98a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada99c8f82869298a3aba9aaaea39891847a6d655b50473d33291e150b0000000000000000000000000000000000000000000000000000070f181f272f343b4146495053565964707d8a979e9185786b5e5753514a46423b352f281f180f0700000000000000000a16232f3b46515b63676d72777d82878d92979d9fa7a39f9b96918b86817c76716d67615f5753504a46413a38322c29241d1a15100c07000000000000000714202d3a4753606d7a86939facaea399897d706353493f33271b0f030000000000000000000000000000000000000004111d2935414c5565717e8b98a9b3ac9f9285786d6053463a2d201307000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867979797979797979797979797979797979797979797979797979797979797979797976695e52463a2d2014070000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000000060f1820262b2e2f37363534343332313033404d596673808c99978b7e7164584b3e313031323334353636372e2d2a251e170e050000000000000000060b0f12131b1d1d1d1d1d1d1615130f0a0400020507080b0e1011121313131211100e0b08070502000000000000000000000000000000000000000000000000000000000000000000000000071118242f39434d57616c73808d949fa8a49f92867c6e675d51453f352b20170c030000000000000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2929292929292929292929292929292929292d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f221517222d38424e58606d7984919ea5a99e938a7d70675d626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d20140c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c070604010000000000000000000000000000000713202d394653606c7885919eaa9e918477695f53463a2d2114060000000000000000000000000916222f3c4955626f7c8895a2afa79a8d8174675a4e412f24180d01000004101c2834404b556a7683909da9afa49a887b6e6155483b2e221508000b1824313e4b5764717e8a97a4b1a79a8d8074675a4d4134271a0e010000000b1825323e4b5865717e8b98a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807d869299a3abb5ac9f92867c6f685d53493f352b21170c0300000000000000000000000000000000000000000000000000071019212a313940454c52535b60636669707d8a979e9185786b6763605c54524d454039312921191007000000000000000c1925323e4b57636d737a7f84898f92999ea1a9a19e99928f89847f7a746f6a64605c55534d46443f3836302c27201d18130f0a040000000000000000000613202c3945515d677784909daab4ab9a8d8073655b5044372b1f140a000000000000000000000000000000000000010c13202c3945515d6775828e9ba8b5a89c8f8275665c5044382b1f1206000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e574d42362a1e12050000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c1003000000000000000000000000000000000000030e18222a31373a3b44434241403f3e3d3c3b414e5a6774818d9a998c7f7266594c3f3c3d3d3e3f40414243443a3936302920170c020000000000020a11171b1f202729292929292922221f1b150e090e111414181a1c1e1f20201f1f1e1c1a181514120e0904010000000000000000000000000000000000000000000000000000000000000000000007121d28313c45505a606c78828f96a1aaa2989183796d605b51473d33291e150b0000000000000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d6054473a36363636363636363636363636363636363636363a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f22151c28333f4a545f6a73808d96a1aca2978e81756b6155626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d2019191919191919191919191919191919191919191919191919191413110d07010000000000000000000000000005121f2b3744505b6575818e9baca096887b6e6155483b2e23170c0000000000000000000000000916222f3c4955626f7c8895a2afa6998c807366594d4033261a07000000000c18232e424f5c6975828f9ca8b6ac95897c6f6256493c2f231609000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000c1825323f4b5865727e8b98a5afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c80737d879299a4aca6998c80736a60584e453c332a21170f05000000000000000000000000000000000000000000000000060f19222b333c434b51565e61656c6f7375777e8a979e9184787674706d66615e57514b433b332b22190f060000000000000d192633404c5966737f868b91959b9fa3a69f9c97918c86827d78726d68625f5853514b46423b38332d2a251e1b16110d0701000000000000000000000004101d2935404b556773808d9aa9b3ab9e9184786c6053463c2f261b1106000000000000000000000000000000000007131d28333f4a54606d7a86929facb1a7988b7f7265544a3f34281c1003000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d60606060606060606060606060606060606060606060606060606060606060605f524d453b30251a0e020000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000a15202a343c43474851504f4e4d4c4b4a4948474f5b6875828e9b9a8d8073675a4d4748494a4b4c4d4e4f50514746413a32291e130800000000020b141b22272b2d343636363636362f2e2b262019141a1e20212527292b2c2c2d2c2c2b29272421211e1a14110d08020000000000000000000000000000000000000000000000000000000000000000010c161f2a333e44505b666d7a849198a3aaa0958e81756d62594f453b30271c120700000000000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d605447434343434343434343434343434343434343434343434653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f221a242b3844505b666f7c87929fa8a69f92857a6e615956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d26262626262626262626262626262626262626262626262626262621201d18130c04000000000000000000000000030f1b27333f495364717e8b9aa4a8988b7e7265544a3f34281c100300000000000000000000000916222f3c4955626f7c8895a2afa5988b7f7265584c3f3225190c00000000071b2835424e5b6875818e9ba8b0a396897d7063564a3d3023170a000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b07000000000c1926323f4c5965727f8c98a5afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c8073717e87939aa4ab9e92857c6f6a5f574d453b332921170e0500000000000000000000000000000000000000000000040d18212b343c454d555c60686e73787c7f828486929fa196898482807d79746e69605d554d453d342b21180d030000000000101d2a3743505d6a768390989da0a8a29f9a948f8a84807b75706c65605d56544e4745403936312b28221c19130f0a040100000000000000000000000000010d18242f3d495663707c8997a1adaca196897d7063584e41382d22170f06000000000000000000000000000000071118242f3844505b66717e8b98a2aeaca095887b6e6155483b2e23170b00000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d60535353535353535353535353535353535353535353535353535353535353534846423b33291f1409000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000020f1a26313c464e53555e5d5c5b5a595857565554535d697683909c9b8e8174685b535455565758595a5b5c5d5e54524c443a3025190d010000000a141d262d333739414343434343433c3b37322a2220252a2d2e313436373939393938373634312e2d2a25201d19130d070100000000000000000000000000000000000000000000000000000000000000040d182128333f4a545e686f7c86929fa5a79e938c7f726b60574d42392e23181006000000000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d60544f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f53606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f221f2a36424d57606c78839099a3ab9f948b7e71685e5256626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a333333333333333333333333333333333333333333333333333333332d2c29241d160d040000000000000000000000000b17222d3b4754616e7a87939fa89b8f8275665c5044382c1f120600000000000000000000000916222f3c4955626f7c8895a2afa5988b7e7265584b3f3225180c000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a000916232f3c4956626f7c8995acb6a89b8f8275685c4f422e23180c000000000d1a2633404d596673808c99a6afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c80736c717e88939fa3a19792857c6e695f574d453b332920170e050000000000000000000000000000000000000000010c161f2a333c464e575f676d737a8084898c8f919298a3a8a197918f8d8a85817b736d675f574e463d332a1f150b0100000000101d2a3743505d6a7683909da7a09d98928d88837d79736e6963605b53524c47433c38342f2a261f1c17110d080200000000000000000000000000000000000713202d3a4653606d7985929eacb2a89c8f82756a5f53493f332721180f0802000000000000000000000003091119232935404b55606c7884919daab3a99d908477695f53463a2d1c110600000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d60534746464646464646464646464646464646464646464646464646464646463b3a36302921170d02000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c1003000000000000000000000000000000000006121f2b37434e585f626a69686767666564636261605c6a7784919d9c8f8275695c60616263646566676869696a615e564c41362a1d1105000006111b262f383f44464e5050505050504947433c34292c30363a3b3e41434445464646454443413e3b3a36312c29241e18130c0400000000000000000000000000000000000000000000000000000000000000060f17222d38424c56606a717e8b939da7a59f92877d70695e544a40342822180d040000000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d605c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f2228313a46525e69727f8b959faba3999082776c60564c56626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3a39352f281f160c0100000000000000000000000614202d3946525e687783909daa9f9285796d6053463a2d20130800000000000000000000000916222f3c4955626f7c8895a2afa4988b7e7165584b3e3225180b000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b000815222e3b4855616e7b889aa4afa99d9083766a544b4034281c10040000010e1b2734414e5a6774818d9aa7afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c8073666c727f8b919ca4a19791857b6e695f574d453b322920170e050000000000000000000000000000000000000008131e28313c464e5860696e7980868d9196999c9d9fa3aaaba9a19e9c9a97928d8680796e6960584e453b31271d120700000000101d2a3743505d6a7683909d9b95908b85807b76716d66615e5753504945413a37322c29231d1a140f0b06000000000000000000000000000000000000000006121f2c3844505c6673808d9aa4afaa9e94887c6f655b50443d332a2219140e09060400000100000406090e141a232b353d45515d67717e8a95a0acada2978b7e7265574d42362a1e0a0000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a393939393939393939393939393939393939393939393939393939392e2d2a251f170f0500000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000814212e3a47535f6a6e77767574737271706f6e6d6d66667885929e9d9083766b666d6e6f7070717273747576776d685e5246392d20130700000b17222d38414950535a5c5c5c5c5c5c55544e463c35393b4246474b4d4f515253535252514f4d4b4846423b39353029241d160d070000000000000000000000000000000000000000000000000000000000000006111c262f3a444e58626c74818e959fa9a39991857b6e665c51443e342a20160b0200000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d696969696969696969696969696969696969696969696969696969696d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f242f3a43505a616e7b86929fa7a89f92867c6e655b504956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d60534c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4745413a31281d1307000000000000000000000005111e2a36414c566773808d9aaaa298897c6f6356493c2f24190d01000000000000000000000916222f3c4955626f7c8895a2afa4988b7e7165584b3e3225180b000000010e1a2734414d5a6774808d9aa7b1a4978b7e7164584b3e3125180b000714202d3a4753606d7a86939facab9e918478665c5145382c1f1306000004111d2935404b556976828f9ca9afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366626d727f8c929ca4a19791847b6e695e574d443b322920160e040000000000000000000000000000000000010d19242f3a434e58606a6f7b838c92989ea1a9a8aaa39f9e9e9fa3aaa8a9a29f98928d837b6f6a60574d43392f24180c03000000101d2a3743505d6a768390928e89837e79746e6a64605c54524d46443f38352f2b261f1c18120e09030000000000000000000000000000000000000000000003101c28343f4a54616e7b87939fabb0a69c9083776c60584e453c342a251e1a1312100c070e070c1013131a1f262a353d47505a606d7984919ea7b1a99f9285796d6053473b31261a0e0000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d21201e1a140d050000000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000815222f3b4855626e7c83838281807f7e7d7c7b7a7978777887939f9e9184787778797a7b7c7d7e7f80818283847a6d6154473a2e21140700030f1b27333f49535b6067696969696969625f584e454045474d5254585a5c5e5f5f605f5f5e5c5a5754534d4745413a352f281f191109010000000000000000000000000000000000000000000000000000000000000a141d28323c46505a606d79839097a1aba1979083786d605a50463c32281d140a00000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a767676767676767676767676767676767676767676767676767676767676788693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f2935414c55616c75828f98a2aca0968c80736a5f53494956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d605959595959595959595959595959595959595959595959595959595959595954514b433a2f24180d0100000000000000000000010d1925303d495663707d8998a2aa998c807366564c4135291d1104000000000000000000000916222f3c4955626f7c8895a2afa4988b7e7165584b3e3225180b000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b0006131f2c3845515c677885919eabac9f9286796d6053463a2d20130600000613202c3945515d677784919eaaafa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c8073665b636d73808d929da5a19691847b6e695e564d443a322820160d040000000000000000000000000000000004111d2935414c555f6a6f7c8590959fa2aaa69f9c98989291919298979c9fa4aaa39f9590857c6f695f554b4035291f1509000000101d2a3743505d6a76838c86817c77716d67625f5853504a46423b37332d29241e1b15100c0701000000000000000000000000000000000000000000000000000c17232e3846535f6975828e99a3afab9f948b7f726a60574e463e36302a25201f1c181b1a1b181c1f20262b31363f474f59616c74808d96a1adada2978d8073675d5145392a1f14090000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d2020202020202020202020202020202020202020202020202020201514120e0902000000000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000916222f3c4955626f7c88908f8e8d8c8b8a898887868584839099a49f9287838485868788898a8b8c8d8e8f90877a6e6154473b2e2114080005121f2b3744505b656c747676767676766f6a5f574d4b5153575e616467696a6c6c6c6c6b6a696764615e5754524c45403a312b231b130a010000000000000000000000000000000000000000000000000000000000020b16202b343f45515c676e7b859299a3a99f958d80746c61584e443a2f261b1106000000000000000000000000000000000000131f2c3946525f6c7985929facb6a99c8f82828282828282828282828282828282828282828282828282828282828282828f9ca9b5ac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f303845515d67707d8a939eaaa49a9184796d60584e414956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6666666666666666666666666666666666666666666666666666666666666666605d554b4135291d110400000000000000000000000813202d3a4653606d7985929fa99d908376685d5245392c201307000000000000000000000916222f3c4955626f7c8895a2afa5988b7f7265584c3f3225190c000000010e1b2834414e5b6774818e9aa7b0a4978a7d7164574a3e3124170b0004101c2934404b55697683909ca9afa399887b6f6255483c2d22170b00010714202d3a4753606d7a86939facafa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366595b636e74808d939da5a19691847b6e685e564c443a32281f160d040000000000000000000000000000030e18222c3945515d676e7c859297a0a7a8a09e94908b8886858586878a8f93999fa7a7a09792857b6e675d51453c31261a0e0000000f1b2835424e5b6875817f7a756f6b65605d55534e46443f3836302b27221b19130f0a040000000000000000000000000000000000000000000000000000000006111c2a36424d57626e7b87929fa8b0a69f92877c6f695f585046413b36312d2c282327272723282c2d31373b42465159606b717e8a929da8b1a79f92857a6d61554b4035291d10040000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d201413131313131313131313131313131313131313131313131313080705020000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100704000000000000000000000000000000000916222f3c4955626f7c88959b9a9a99989796959a93929190959faba39992909192989495969798999a9b9c94877a6e6154473b2e211408000613202d394653606c79808283838383837c6f695e56555d6065696e717476777879797978777674716e6966605d56514b433d352d251c130a000000000000000000000000000000000000000000000000000000000000040e19222834404b555e69707d87929fa5a79d928a7e716a5f564c41382d22170f050000000000000000000000000000000000131f2c3946525f6c7985929facb8ab9f948f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f949fabb7ac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2e38424e58606d7a84919ea6a99f93887d70675c51463c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada09386797272727272727272727272727272727272727272727272727272727272727272726d675d5145392c201306000000000000000000000006131f2c3845515c6775828f9ca89f92867a6d6054473a2d211409000000000000000000000916222f3c4955626f7c8895a2afa6998c7f7366594c4033261906000000020f1b2835424e5b6875818e9ba8b0a3968a7d7063574a3d3024170a00000c18232f414d5a6774808d9aa7b5ab978b7e716453493f33271b0f0b0e121c28333f4a5463707d899aa4afafa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c80736659525c606c77818e939ea6a09691847a6e685e564c443a31281f160d04000000000000000000000000000a15202b37434e58606d7a849197a2a9a79f969189837e7b797878797b7e828790959ea5a9a1979184796d60574d42372b1d120700000e1b2734404d59656f75726d6863605953514b47433c38342e2a251f1b17110d0801000000000000000000000000000000000000000000000000000000000000000e1a26313b47535f6974808d96a0abaea39991857b6e6a615a524c46423c3a38342e3434342e34383a3c42474d535b626b707d86929fa4aeaaa0958b7f72685e5243392f24180d010000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d20140d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0b0a0805000000000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c1614100b0500000000000000000000000000000916222f3c4955626f7c8895a2a7a6a5a4a3a2aca49f9f9e9d9fa7b1aba39f9d9e9fa2aaa2a3a3a4a5a6a7a194877a6e6154473b2e2114080005121f2b3744505b656e7b858f8f8f8f8f857b6e685d60676d72777b7e80828485868685858482807e7b77726d68605d554f473f372e251c1209000000000000000000000000000000000000000000000000000000000000071018232e39434d57606b727f8c939ea8a49f92867c6f685d53493f332721170c0300000000000000000000000000000000131f2c3946525f6c7985929facb8b0a69f9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9fa6b0bbac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c343f4a54606a74808d96a1ada1978e81746b60554b403c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facb2a6998c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f796d6054473a2d211407000000000000000000000004101c2834404b5565727f8b98a8a3998a7d7064574a3d31261a0e020000000000000000000916222f3c4955626f7c8895a2afa79a8d8074675a4d412e23170c000000030f1c2936424f5c6975828f9ca8afa296897c6f6356493c302316090000071824313e4b5764717e8a97a7b1a79a8e8174655b5044372b211b171a1d242b3844505b6673808d9aacb6afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d505b656c78818e949ea6a09691837a6d685e564c433a31281f160d030000000000000000000000020f1a26313b4754606a74818e96a0a9a89f9590847d76716e6c656b696e71757c838e939ea6a9a0968d8073695f5347392e23180c00000c1825313d48535d656866615e56544f4745403937312c28231c1a140f0b060000000000000000000000000000000000000000000000000000000000000000000009141f2b37424d57606d79849199a4afaba19791847c706c615e56534d494644404141414141404546494d53575f616d727d869298a2aeaca2989083786c60564c4131281d1207000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a171714110c0500000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336292423201c171008000000000000000000000000000916222f3c4955626f7c88959d9c9b9a98979695949992919095a0aca399929091929994969798999a9b9c9d94877a6e6154473b2e21140800030f1b27333f49535e696f7c8692999c9790837a6d666d72797f83878b8d8f919292939292918f8d8a87837f7a736d676059514940372e241b0f0600000000000000000000000000000000000000000000000000000000000007121d27303b454f59636d75818f95a0aaa29891847a6d655b50443d33291e150b00000000000000000000000000000000131f2c3946525f6c7985929facb8b8b0aba9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9abb0b8b9ac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c3844505c666f7c87939fa9a69e92857a6d60594f43393c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facb9a89c918c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c877b6e6154483b2e2115080000000000000000000000000c18232e3b4855626e7b8896a1ab9a8d817467574d42372b1e12050000000000000000000916222f3c4955626f7c8895a2afa89b8f827568544a3f34281c1003000004101d2935404b556a7683909da9b4aa95887b6e6255483b2f22150800000814212e3b4754616e7b8795a0acab9e9184786c6053463e332b2722252a2f35404a54606c7884919eabb8afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d49535b666d78828f949fa6a09590837a6d685d564c433a31281f150c030000000000000000000006121f2b37434e58626f7c89939da8aca09690837a706b6561605b575e61646a6f78818e949faaa89f92867b6e62554b4034281c1004000814202c37414b53595b5954524c48433d39352f2b261f1c17110e0903000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313c45515d676f7d87939fa4aea9a19691867e756e68615e575653514a4e4e4d4e4e4b515356575f62696e767f879298a2aaafa49a92867c6f665b50443a301f160c01000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d27272727272727272727272727272727272727272727272727272727272423211c171008000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f433633302f2c28211a11080000000000000000000000000916222f3c4955626f7c8891908f8e8d8c8b8a898887868583909daa9f92878385868788898a8b8c8d8e8f9091877a6e6154473b2e21140800000b17222d38414d57606a707e87939fa0958f82786e787f858b9095979a9c9d9f9f9f9f9e9d9c9a9795908c868079706b625b514940362c21180e030000000000000000000000000000000000000000000000000000000000000b151e29333d47515b606d79839198a2aaa0968f82776c60594f453b30271d1207000000000000000000000000000000131f2c3946525f6c7985929facb8b0a8a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa0a1a6aeb8ac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c424d57606d78839099a4aa9e948a7e71685d52473d303c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facb9ada39c999999999999999999999999999999999999999999999999999999999999999994877b6e6154483b2e2115080000000000000000000000000714212e3a47535f6a7884919eaa9e918477695f53463a2d2114060000000000000000000916222f3c4955626f7c8895a2afaa9d908377665c5044382c1f1206000006131f2c3845515d677885919eabaea298877a6d6154473a2e21140700000714202d3a46525e697784909dabada197897d70635a50453d37332d3136394045515c66717d8a96a1adb9afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d414a545c666d79828f949fa7a09590837a6d685d554b433931271e150c030000000000000000000814212e3a47535f6a76828f9ca5afa49a91847a6d6860595553504d5254585f666d78828f98a3aea3998d8074675c5145382c1f130600040f1a252f3941484d4e4c4746413a38322c29241d1a15100c060000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2935404b55606b727f8b929da4ada9a198928a817a746e696562605c545b5a5a5a5b545c606266696e747b828b9299a2aaaea39f93887e706a5f544a3f32291e0d0400000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a34343434343434343434343434343434343434343434343434343434343431302d28221a12080000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f433e3f3d3c38332c231a110800000000000000000000000915222f3c4855626f7c8584838281807f7e7d7c7b7a79787a8794a19f92867978797a7b7c7d7e7f8081828384867a6e6154473b2e211408000006111b262f3b454e58616c727f8b929d9f948e817b838c92979d9fa7a8a09e9c9b9a9b9c9d9fa4a7a09d98928d847d726d635b51483e332a201509000000000000000000000000000000000000000000000000000000000000030c17212b353f45515d676e7c86929fa4a89e948c7f736b60574d43392e231810070000000000000000000000000000131f2c3946525f6c7985929facb8a89e969393939393939393939393939393939393939393939393939393939393939393959ca6b1ac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c46535f69727f8c95a0aba2988f82766c61564c41352f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facb9b5ada8a6a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a194877b6e6154483b2e21150800000000000000000000000006121f2b37434e586774818e9aaba096887b6e6155483b2e23170c0000000000000000000916222f3c4955626f7c8895a2afac9f9286796d6053463a2d20130900000714202d3a4753606d7a86939facab9f928578685e5246392d201307000005111e2a36424d5666737f8c99a3afa99c8f82766c61574f46443f414142464b515a606d7883919da8b0b8afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d40424a545c676d79829095a0a7a09590837a6d675d554b433930271e150c0300000000000000000815222f3b4855626e7b88949fabac9f93877d6f685d564f4846444246484e545c666e7b86929facab9f9285796d6053463a2d201307000009131d272f373d40423f3a3936302c27201d18120f0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18242f3a434f59626d74808d929ca3adaaa29f938e86807b76726f6d6669686767676869666d6f72777b81868f949fa3ababa39f918c7f726c61584e42382d20170d0000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d605347404040404040404040404040404040404040404040404040404040404040403e3c39332c241a100500000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f464a4c4a48443e352c231a1108000000000000000000000815212e3b47535f6a6f7877767574737271706f6e6d676e7b8894a1a39886796c6c6d6e6f7071727374757677796e685e5246392d2014070000000a141d29333c464f59626d74808d939e9d938e8690959ea2a8a19e9896918f8e8d8e8f91939a9d9fa7a29f9691877f736d635a50453c31261a0e05000000000000000000000000000000000000000000000000000000000000050f19232935414b555f6a717e8a929da6a69f93877d70695e554b40342822190e0400000000000000000000000000131f2c3946525f6c7985929facb8a2968c87868686868686868686868686868686868686868686868686868686868686868a95a1adac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f62554844505a616e7b86929fa7a79f92867b6e615a50443a302f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facb9afa7a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f94877b6e6154483b2e211508000000000000000000000000020f1a26313e4a5764717d8a99a4a8988b7e7265544a3f34281c100300000000000000000916222f3c4955626f7c8895a2afaea398887c6f6255493c31251a0d06030615222f3c4855626f7c889aa4afaa9d9083776a564c4135291d11050000020e1925303b4854616e7b87929fabab9f948a7d706a60595350494e4e4d53555d606c73808c959c9ea6b0afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4038424b555d676d7a839095a0a79f959082796d675d554b433930271e150c0200000000000006121f2b37434e586774808d9aa6b0a89b8e82756b60564c443d3937363a3c424a545f6975818e9baba7a2978a7d7064574a3d3124170a0000020b151d252c313435332e2d2a251e1b16100d070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313d47515b606c77808c919ea1a9aea59e98928d87837f7c79777674747474747677797c7f83888e92999fa6aea8a199928b7f736d635a50463c2f261c0e050000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4a49453e362c22170c00000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f51575957554f473e352c231a110800000000000000000006121f2b37434e585f626c6b6a696867656463626160626f7b8895a2aa93867a6d606061636465666768696a6b6c615e564c41362a1e1105000000020b17212b343e47515b606c78818f959f9d999299a0a7a49f96918b8884828181818284878b90959ea2a8a199928c7f736c61574e42372b22170b00000000000000000000000000000000000000000000000000000000000000071118242f3a434e58616c73808d949fa8a49992857b6e675c51453f342b20160b02000000000000000000000000131f2c3946525f6c7985929facada093877a797979797979797979797979797979797979797979797979797979797979788693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255484c56616c76828f98a2aba0958c7f72695e53483e32282f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facb9a79d95939393939393939393939393939393939393939393939393939393939393939393877b6e6154483b2e211508000000000000000000000000000a14212e3a4754616d7a86939fa89b8f8275665c5044382c1f120600000000000000000916222f3c4955626f7c8895a2afb4aa988b7f7265574d42362a1f161210121c2834404a5465717e8b98acb6a79b8e8174685b4e413025190d010000000914202d3a46525e6975818e99a3afa69e92857c6f6b62605b535a5b575e61676d737e8893948f949eaaafa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d403039434b555d686d7a839096a0a79f959082796d675d554b423930261e140b0200000000000815212e3b47535f6a7884919eabaca096897c6f62594f443a322d2b2a2d3038424d5763707d89999b9a99988d8073665a4d4033271a0d000000030b131a202527282621201d19130f0a04010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2b353f44505b656c747f8a92979ea6acaaa29f9a93908c898684828181808181828486898c90959a9fa3ababa49f9691877e736d635b51473e342a1d140a000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a575550483e33281c1105000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c515b63666361594f473e352c231a11080000000000000000030f1b26323c464e53555f5e5d5c5b5a595857565556626f7c8995a2a194877a6e615455565758595a5b5c5d5e5f54524c443b3025190d0100000000050f19222c353f44505b666d79839096a1a39fa3aba49a938c847f7b777675747475777a7e838a9297a1a8a39f918a7e716a5f53473e33281c10040000000000000000000000000000000000000000000000000000000000000007131d28313c46505a606d78828f96a1aba1979083796d605a50463c32281d140a000000000000000000000000131f2c3946525f6c7985929facada093877a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f625548525d68717e8a949faaa4999083786d60574d42362c232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facb9a2958b868686868686868686868686868686868686868686868686868686868686868686867b6e6154483b2e211508000000000000000000000000000713202d3946525d687683909da99f9285796d6053463a2d20130800000000000000000916222f3c4955626f7c8895a2afb6a99c8f8376695e53463c3128201f1c1f232c3844515c6675818e9ba8b3a9988b7f7265584c3f322519080000000005121e2a36424d57626e7c87929fa7ada19791857d746f6c6568676869696e7279808893958f828f9ca8afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d40333039434c565e686e7a849196a1a79f948f82796d675c544b423830261d140a00000000000915222f3c4855626f7c8896a1adaa9e9184776a6054473d3228201f1e2026303c4753606d79868f8e8d8c8b8b8276695c504336291d100000000002090f14181b1b191413110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d192327333f49535b606d737d858f949da0a7acaca49f9c989892918f8e8d8d8d8e8f919298999d9fa7acaca69f99938d847d716c635b51493f352c22180b02000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6767676767676767676767676767676767676767676767676767676767676767676764615a5045392d211408000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c5b636d72706b61594f473e352c231a110800000000000000000a15202a343c4347485251504f4e4d4c4b4a49495663707c8996a3a194887b6e615548494a4b4c4d4e4f5051524746413b32291e140800000000000007101a2328333f4a545d676e7a84919eabacafa49a93888079726e696968676869686d71767e859196a1aaa39f92867c6e625a5044392d20150a00000000000000000000000000000000000000000000000000000000000000010c161f2a333e44505c666d7a849199a3a99f958e81746c62584e443a2f261c11060000000000000000000000131f2c3946525f6c7985929facada093877a6d606060606060606060606060606060606060606060606060606060606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f62554f59606d7a85929ea6a89f93877c6f665c50453b3124232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867979797979797979797979797979797979797979797979797979797979797979797976695e52463a2d2014070000000000000000000000000005111d2935414c566673808c99aaa298897c6f6356493c2f24190d01000000000000000916222f3c4955626f7c8895a2afb9ac9f93877b6e61584e433a312d2c282b2e343f4953606d7985929eabada197887c6f6255493c2f22160900000000020e1a25303b47535f6a73808d95a0a8a9a1979188817c797674747476787b7f848d939890837e8a97a3afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d403328313a434c565e686e7b849197a1a69f948f82796d665c544a42382f261c1106000000000c1925323f4c5865727f8b98a8b2a79a8d807467584e43352b20161212151f2c3845515c677481828180807f7e7d7063564a3d3023170a00000000000004080c0e0f0c07070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071017222d384149505b636b707b828990959c9fa4acaca9aaa39f9d9c9b9a9a9a9b9c9d9fa3aaaaababa39f9b948f878079706b625a514940372e231a100600000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada09386797373737373737373737373737373737373737373737373737373737373737373737373716c6155493c3023170a000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f82766958636d727f7d706b61594f473e352c231a110800000000000000040e18222a32373b3c4544434241403f3e3d3d4a5763707d8a96a3a295887b6f6255483c3d3e3f4041424344463b3936302920170d0200000000000000081117222d38424b555e6873808c99a6b3ac9f93887e736d67615f575b5a5b565e61656c717b849198a2aea2988f82766c6155493c32271b0f0300000000000000000000000000000000000000000000000000000000000000040d182128343f4a545e686f7c87929fa5a79d938b7e716a60564c42382d22170f0600000000000000000000131f2c3946525f6c7985929facada093877a6d605453535353535353535353535353535353535353535353535353606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f625554606b74818e97a1ada1968d80746a60544a3f33291f232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e574d42362a1e120500000000000000000000000000010d1924303c4956636f7c8998a2aa998c807366564c4135291d1104000000000000000916222f3c4955626f7c8895a2afbbafa4998d80746a5f554c433d3a383438393f44505b65717d8a97a2adab9e9285786c605346392d201306000000000009141f2b37434e58606d79839096a0a8a9a19a938e8985828181818284878c91969992867c7d8a97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d40332628313a444c565e696e7b859197a1a69f948f82786d665c544a42382d22170b000000030f1b27333f49536875818e9ba8b4aa978a7d7064574a3d3224190d0505101c2934404b55646f74757474737271706b6054483c2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f383f44515961696e757d83898f939a9c9fa2aaa7a8aaa9a7a7a7a7a7a9a9a8a6a9a29e9b99928e88827c746d676059504840372e251c11080000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb3a79a8d8080808080808080808080808080808080808080808080808080808080808080808080807e7164574a3e3124170b000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695f6a727f8c867d706b61594f473e352c231a11080000000000000006101820262b2e2f3938373635343231313e4a5764717d8a97a4a295897c6f6256493c3132333435363738392e2d2a251e170e0500000000000000000006111c28343f4a54606d7a85929eabb7aa9d91847a6d665d55534d4e4e4e4c52545a61696f7c86929fa8aa9f948a7d7064584e43372b1f13060000000000000000000000000000000000000000000000000000000000000000060f17232e38424c56606a727f8b939da7a59f92867c6f685e544a3f332821180d03000000000000000000131f2c3946525f6c7985929facada093877a6d605447464646464646464646464646464646464646464646464653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f62555c666f7d88939fa9a59e9184796d60584e42382e2117232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d60606060606060606060606060606060606060606060606060606060606060605f524d453b30251a0e0200000000000000000000000000000813202d3a4653606d7985929fa99d908376685d5245392c201307000000000000000916222f3c4955626f7c8895a2afb4aba39f92877c6e675d554f4846443f44464a5059606c7883909da9b1a79a8e8174655b5044372b1f12050000000000030f1a26313c45515c676e7b8491969fa4aca49f9b97928f8e8d8e8f9196999e9892877e717e8a97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261f28323b444d575f696f7c859298a2a69e948f81786d665c544a3f33281c0f03000005121f2b3744505b657784909daaaea298877b6e6154483b2e21150800000c18232f3943535d64686968676665646360594f44382c2014070000000000000000000000000000000000000000000406071013131313131310100d0a050000000003060809121313131313130d0c0a0702000000000000000000000000000000000a141d262d3340474f575e616b70777d82878b8f9298989a9b9d9e9e9f9f9f9e9d9d9b999797928e8a86817c766f6a605d554f473e362e251c130a000000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8174675b4e4134281b0e010000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f827669626e7b869292877d706b61594f473e352c231a110800000000000000060e151b1f21222c2b2a2928272625323e4b5865717e8b98a4a396897c706356493d3025262728292a2b2c21201e19140d050000000000000000000006121f2b3844505c66727f8c97a1adb8aca0968f81786c605b514842414141464750575f6a727f8c96a1ada69d9083766a6054473b2e22150900000000000000000000000000000000000000000101010101010101010101010006111c26303a444e58626d74818e95a0a9a39891847a6d665b50443e332a1f150b010000000000000000131f2c3946525f6c7985929facada093877a6d6054473a39393939393939393939393939393939393939393a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6257606d7984919aa4a99e938a7d70675d51463c30261c16232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d60535353535353535353535353535353535353535353535353535353535353534846423b33291f140900000000000000000000000000000006121f2c3844505c6675828f9ba89f92867a6d6054473a2d211409000000000000000916222f3c4955626f7c8895a2afaea39992999083796d6760595553504a5053545c606b727f8b959fabaca095897c6f6353493f33271b0f030000000000000a15202934404b555e696e7b848e939a9fa3aba9a19e9c9b9a9b9c9e9f9d9590867e70717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d403326162029323b454d575f6a6f7c869298939393938e81786d665b5044382b1f120600000613202d394653606c7985929facab9f928578695e52463a2d201407000007121d2731414b53595b5c5b5a59585856544f473d33271c100400000000000000000000000000000000000001070c1013141d2020202020201d1c1a16110a03040a0f1215151f2020202020201a1916130d07000000000000000000000000000000020b141b2227353e454d525960636b70757b7e8285888b8d8f9091929292929191908e8c8a8885817e7a746f6a626058514b433d352d241c130a01000000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000060606060e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a8e8174675b4e4134281b0e010000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695f6a707e869292877d706b61594f473e352c231a0e0400000000000000040a0f1215151f1e1d1c1b1a1925323f4c5865727f8b98a5a3968a7d7063574a3d3024191a1b1c1d1e1f1414110d080200000000000000000000000713202d3a4653606d7985919ea9b3b2aca89e938d80746d625a50463d3336393e454e58606d7984919eabab9f95887c6f6255493c31251a0e02000000000000000000000000000000010507070d0d0d0d0d0d0d0d0d0d0d0d0d0d0a141e29323d46515b606d79839097a1aaa1968f82786c60594f453c31271d12070000000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca195887b6e625f69737f8c95a0aca2978e81756b61554b40342b1e1516232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d60534746464646464646464646464646464646464646464646464646464646463b3a36302921170d0200000000000000000000000000000003101c28343f4a5465727e8b98a8a3998a7d7064574a3d31261a0e020000000000000916222f3c4955626f7c8895a2afac9f928692958f827a706b6562605c545b6062666d727d86929fa7b0a69d9083776b605441382d22170b00000000000000030c18232f39434d575e696e7981878f92999b9d9e9f9f9f9e9d9b9895908a837c706c717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a172029333c454e58606a6f7d868686868686868681796c605346392d20130600000714212e3a4754616d7a8798a2aeaa9d9084776a574d42362a1e12050000010b151f2f3941484c4e4f4e4d4d4c4b4a48443d352b21160b000000000000000000000000000000000000030b12181d1f202a2d2d2d2d2d2d2a2926221c150d0e151b1f21222c2d2d2d2d2d2d2625231e19120a010000000000000000000000000000020a1117232c333b42464f54596063696e7276797c7e808283848585868585848382807d7b7975716d68625f58544e45403a312b231b120a0100000000000000000000000b1825313e4b5864717e8b97a4aca89b8e8175685b4e4235281b0f0200000000000306060c13131313131b2734414e5a6774818d9aa7aca4978b7e7164584b3e3125180b0013202c3946535f6c7986929facacacaea9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69a8e8174675b4e4134281b0e010000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f82766958616c707d869292877d706b61594f473e352c20160c020000000000000000030608091211100f0e0d1926333f4c5966727f8c99a5a4978a7d7164574a3e3124170d0e0f1011130807050100000000000000000000000000091623303c4956636f7c8997a1adb2a8a19ea19d928b7f726c61584e453c322d333c44515c66727f8c99a7b1a79a8d807367574d42362a1e12050000000000000000000000000002080d1113141a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a17202b343f45515c676e7b859299a4a89f948d80736c61574d43392f2418100700000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2120202020202020202020202020202020202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca194887b6e61626e7b86929fa8a69f92857b6e61594f433a2f22190c16232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a393939393939393939393939393939393939393939393939393939392e2d2a251f170f0500000000000000000000000000000000000c17232e3b4855616e7b8896a0ab9a8d817467574d42362a1e12050000000000000916222f3c4955626f7c8895a2afa6998c7f8c94948f847d76726f6d666b666c6e72787f879298a3aea99f948a7e7164594f442f261b1106000000000000000007121d27313b454d575e676d747c82868b8e909192929291908e8b88837e786f6a64717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0e17212a333c464e58606b6f7979797979797979756c665b5044382b1f120600000815222f3b4855626e7b8895aab4a99c8f8276695c4f4330251a0e02000000030d1d262f363c4041424141403f3e3d3c38332b231a0f050000000000000000000000000000000000030d151d24292c2d363939393939393736322d271f161820262b2e2f3939393939393933322f2a241c130a0000000000000000000000000000000006111a202930363d44484f54565e6165666d6f7174757778787979787877767573716f6d6664605d56534e47433d352f281f191109000000000000000000000000000b1825313e4b5864717e8b979f9f9f9b8e8175685b4e4235281b0f02000000060b0f12131920202020201b2734414e5a6774818d9a9f9f9f978b7e7164584b3e3125180b0013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8e8174675b4e4134281b0e010000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276696464646b707d859292867d706b61594f473d32281e130800000000000000000000000006050403020d1a2633404d596673808c99a6a4978b7e7164584b3e3125180b02030405060000000000000000000000000000000005111d2935414c566773808d9aa9b2a8a0969196a19f93877e706a60574d443a312834404a54616e7b8795a0acaa9e918477695e53463a2d211407000000000000000000000000050c13191d2021272727272727272727272727272727272727272934404b555e69707d87939fa6a69f93887d70695f554b40352922190e05000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114131313131313131313131313131313202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca194877a6e616c76828f98a3ab9f948b7e72685e52473e31281d100916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d21201e1a140d050000000000000000000000000000000000000614212d3a46535f697784919eaa9e918477695f53463a2d2114060000000000000916222f3c4955626f7c8895a2afa396897d828f97969189837f7b79787778797b7f848b9299a3aaaaa2978f82766c6155473d321d140a000000000000000000010b151f29333b454d555d606a6f757a7e8183858586858583817f7b77716d665f64717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d0f18212a343c464f5960636c6c6c6c6c6c6c6c68605b544a3f33281c0f030000091623303c4956636f7c8996a2afa89b8e8275685b4f4235281c0900000000000b141d252b303335363534333231302f2c27211a11080000000000000000000000000000000000020c151f272f35383a4346464646464643423e3831281f222a31373a3c45464646464646403f3b352e251c120700000000000000000000000000000000080e171f252a33383d44484d5254545c60626567686a6b6b6c6c6c6b6a6a68666462605c5454524c47433c383229241d160d0700000000000000000000000000000b1825313e4b5864717e8b93939393938e8175685b4e4235281b0f0200020a11171c1f20262c2d2d2d2c202734414e5a6774818d93939393938b7e7164584b3e3125180b0013202c3946535f6c79869293939393939393939393939393939393939393939393939393939393939393939393939393939393938e8174675b4e4134281b0e010000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276717171717171717c859292867d706b61594f443a3024190d01000000000000000000000000000000010d1a2734404d5a6773808d9aa6a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000713202d3946525d687784919daaaca09691849197a19992867c6f695f564c43392f2e3946535e697784919daaaca096877b6e6154483b2e2115080000000000000000000000050e171e252a2d2e34343434343434343434343434343434343434342f39434d57606b737f8c939ea8a49a92857b6e675d51453f342b20170c030000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070606060606060606060606060713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca094877a6d68717e8b949faaa3999083776c60564d41352c1f160c0916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d2020202020202020202020202020202020202020202020202020201514120e09020000000000000000000000000000000000000005121e2a36424d576774818d9aaba096887b6e6155483b2e23170b0000000000000916222f3c4955626f7c8895a2afa3968a7d7b8592999e95908b888685848486888c91959fa3abaaa29892857b6e615a5045352b210b0200000000000000000000030d172129333b434b51586062686e71747678797978787674726e6964605c5464717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d060f18222b343d474f54565f606060606060605b53504a42382d22170b0000000a1723303d4a5663707d8996a3b0a79a8e8174675b4e4134281b0e0100000000020b131a202427282928272625252322201c160f080000000000000000000000000000000000000a141e27313940454750535353535353504e4a433a31212a343c434748525353535353534d4b4740372e24190d0200000000000000000000000000000000050d141a21272c33383b4246474a505355585a5c5d5e5f5f5b60666c6c6c6c6c6a5c544a4745413a37312b272018130c040000000000000000000000000000000b1825313e4b5864717e868686868686868175685b4e4235281b0f00060b141c22282b2d333939393939382b34414e5a677480868686868686867e7164584b3e3125180b0013202c3946535f6c7987868686868686868686868686868686868686868686868686868686868686868686868686868686868686868174675b4e4134281b0e010000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f90837e7d7d7d7d7d7d7d7e7f869392867d706b61564c4135291d1105000000000000000000000000000000010e1b2734414e5a6774818d9aa7a5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000714212e3a4754616d7a8796a0acaa9e91847b859298a29892857b6e685e554b42382d36424d576774818d9aa7b2a8978a7e7164574b3e3124180b00000000000000000000020c1720293036393a4040404040404040404040404040404040404040404040454f59606c77828f96a0aaa2979083796d605b51463d32291e150a0000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca093867a6d6d7a85929ea6a89f92867c6e655b50443b30231a0d040916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d20141313131313131313131313131313131313131313131313131308070502000000000000000000000000000000000000000000020e1a26313d4a5764707d8a99a3a8988b7e7265544a3f34281c100300000000000916222f3c4955626f7c8895a2afa4978a7d717d8792989f9d9899929191919298989da0a8aba79f9892867d70695f53483e3323190f000000000000000000000000050f172129313a40454e54565e6164686a6b6c6c6c6b6a6865615f5753505864717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d00061019222b353d43484952535353535353534e46443f382f261c11060000000a1724303d4a5763707d8a96a3b0a79a8d8174675a4e4134271b0e01000000000001090f14181a1b1c1b1a1a1918171614100b0500000000000000000000000000000000000006111c263039434b51535d6060606060605d5b554d433829333c464e53555f6060606060605957524940352a1e1307000000000000000000000000000000000002090e161c21272c30363a3b3f4446494b4d4f5051575f666c72797979797975665c504439352f2b26201b160d0701000000000000000000000000000000000a1724303d4956626c7179797979797979756f65594d4034271b0e090f181d262d3338393f4646464646453834404c58646e7479797979797979716c6256493d3024170a00121f2c3845525e6a757979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746f64594c4033271a0d010000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f95908a8a8a8a8a8a8a8a8a8c93999892867d70685d5246392d201307000000000000000000000000000000020e1b2835414e5b6874818e9b9f9f998c807366594d4033261a0d000000000000000000000000000000000000000000091623303c4956636f7c8996a8b2a89b8e81757c869299a19791847a6d675c544a3f33313e4b5865717e8b98a4b1a6998d8073665a4d4033271a060000000000000000000008131e29323a4146474d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d505b656d7a849198a2a9a0958e81756d62594f443b30261c110600000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca39986796d75818e97a2aca0968c80736a5f53493f32291f1108000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d20140d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0b0a080500000000000000000000000000000000000000000914212d3a4754606d7a86929fa89b8f8275665c5044382b1f120600000000000916222f3c4955626f7c8895a2afa4978a7e71707d8690959d9fa39f9e9e9e9fa3aaa9a8a79f9d9590867d706b60574d42362c22110700000000000000000000000000050f171f282f353d43474c5254585b5d5e5f5f5f5e5d5b5855534d464b5864717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d0000071019232b32383b3c4646464646464646423938332d261d140a000000000a1724303d4a5763707d8a96a3b0a79a8d8174675a4e4134271b0e010000000000000003070909131211100f0e0d0a09070400000000000000000000000000000000000000091317232e38424b555d60696c6c6c6c6c6c6a665f554a3e323b454e585f626c6c6c6c6c6c6c66635b52473b2f23160a00000000000000000000000000000000000000050b10161c1f252a2d2e34383a3c3e444d525b62696e787f8686868687796d6053463a2d241e1b150f0a040000000000000000000000000000000000000815212d3945505a62646c6c6c6c6c6c6c68655d53483d3124180d1419212a2f383f44464c535353535352443f3848535c64676c6c6c6c6c6c6c64625a5045392d21150800111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645d53483c3024180b000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f9393939393939393939393979fa4a39892857a6d6154473a2e211407000000000000000000000000000000020f1c2835424f5b6875828e939393938d8073675a4d4034271a0d0100000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a6998c7f73707e87939fa0969083796d665b50443f363c4956636f7c8996abb5a89c8f8275695c4f422e23170b000000000000000000010d1925303a444c52545a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a535d686f7c86929fa4a79e938b7f726b60564c42382e23170c00000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929fac9f928679707d89939ea9a59d9184796d60584e41382d20170d00000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a171714110c050000000000000000000000000000000000000613202c3945515d677683909ca99f9285796d6053463a2d20130800000000000916222f3c4955626f7c8895a2afa4978a7e716b707c838a9095989b9d9e9f9f9f9e9d9b9895908a837b706b60594f453b31241a10000000000000000000000000000000050d161d242932373b4146474b4e505252535252504e4c4846423e4b5864717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d00000007101921272c2f303939393939393939352d2b28221c140b02000000000a1723303d4a5663707d8996a3b0a79a8e8174675b4e4134281b0e010000000000040a0f131516201f1e1d1c1b1a171614100b050000000000000000000000000000000009121b2528343f4a545d676d767979797979797671665b4e423b444d575f6a6f78797979797979736d63574b3f3225190c000000000000000000000000000000000000000000050b1014191e202429323a414650565e616d727b828c929992877e71665c5044382b1f130f0a04000000000000000000000000000000000000000005111d29343e48505658606060606060605b59534b41372c200e171f252a333b424a5053595f6060605f5e504a42414a53585a60606060606060585650483e34291d1105000e1a26313d4751595e5f606060606060606060606060606060606060606060606060606060606060606060606060606060606060605b59534a41362b201408000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828686868686868686868686868b93999992877e70685d5246392d20130700000000000000000000000000000003101c2936434f5c6976828686868686868074675a4e4134271b0e0100000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b1a4978a7e716c727f8b929d9f958f81786c605b51483e3b4754616e7a8799a4afaa9d9084776a544a3f34281c1003000000000000000005111d2a36414c565e6167676767676767676767676767676767676767676767676767676767676a717e8a929daba59f92877d6f685e544a3f34281c1003000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929fac9f9285797984919ea5a99d93897d70675c51463c2f261b0e0500000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d27272727272727272727272727272727272727272727272727272727272423211c171008000000000000000000000000000000000004111d2935414c5566737f8c99a9a297897c6f6356493c2f24190d01000000000916222f3c4955626f7c8895a2afa4978b7e71646a6f787e83888b8e909192929291908e8b88837e766e6960594f473d33291f120800000000000000000000000000000000040c131820272b3036393b3e4143454646454543413f3b3a363e4b5864717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d00000000070f161b1f22232c2d2d2d2d2d2d2d28201f1c17110a020000000000091623303c4956636f7c8996a2afa79b8e8174685b4e4135281b060000000000070f161b1f22232c2b2a292827262322201c160f08000000000000000000000000000008111b242d373f44505c666d798286868686868683766a5d5043434c565f696f7c85868686868686807366594d4033261a0d00000000000000000000000000000000000000000000000710191f282f353e444c525a61696e767f8690949a93877e716c61544a3f34281c100100000000000000000000000000000000000000000000000c17222d363e45494b535353535353534e4d4841392f251a19202930363f454d545b60666c6c6c6c6c6a5c544a3f41484c4e535353535353534b49453e362d22170c00000915202b353f474e5253535353535359636b6c6c6c6c6b64615a534d53535353535353534d535b60656c6c6c6c6b686157535353534e4c4841382f251a0f03000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e11000f1c2835414e5a6670767979797979797979797979797e869392877e706c61564c4135291d1105000000000000000000000000000000020f1b2835414e5a657076797979797979746e64584c4033261a0d0000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8afa396897c70636d74808d939e9e938d80746d625a50463d4653606c7986939facab9e928578665c5044382b1f120600000000000000000713202d3946525e686d7373737373737373737373737373737373737373737373737373737373737374808d99a3aea39991847a6e665c5044382c1f1206000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929fab9e918578808d96a0aca1978e81746b60554b40342a1d140a0000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a34343434343434343434343434343434343434343434343434343434343431302d28221a120800000000000000000000000000000000010d19242f3c4956626f7c8997a2a9998c807366564c4135291d1104000000000916222f3c4955626f7c8895a2afa4978b7e71645f666d71777b7e8183858586858583817e7b76716c615f574f473d352b21180d00000000000000000000000000000000000001070d151b1e252a2d2e31353738393939383735322e2d313e4b5864717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d0000000000040a0f1315161f202020202020201b13120f0b06000000000000000915222f3c4855626f7b8895aab4a89b8f8275685c4f422d22170b0000000007101921272c2f3039383736353433302f2c27211a110800000000000000000000000007101a232d363f49525c606d78828f94939393938c807366594d434c565e686e7b85919793939992877d706356493d3023160a00000000000000000000000000000000000000000000040f19222b313a41454f565e616c717b828b92989a93887e716c615a5042382e23170b00000000000000000000000000000000000000000000000006111b242d34393d3e4646464646464642403d372f271d1e2529323b424651575f666c72797979797975665c5044383c4041464646464646463e3d39342d241b11060000040f19242d353d42454646464646525e6b757979797978706c615f57514b434646424b51575f656c71787979797873685c5046464641403c362f261d130800000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e11000d1925323d49545e66696c6c6c6c6c6c6c6c6c6c717e879392877e716c615a50443a3024190d01000000000000000000000000000000000d1925313d49545e65696c6c6c6c6c6c67645c52473c3024170b000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9aea295887b6f62606c78818f959f9d928b7f726c61584e4544505b667885929fabac9f9386796d6053463a2d20130700000000000000000714212e3a4754616d7a80808080808080808080808080808080808080808080808080808080808080808086929facaba1969082786d6053463a2d201307000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faa9d91847b87929fa8a69e92857a6d61594f43392e22180b020000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d605347404040404040404040404040404040404040404040404040404040404040403e3c39332c241a1005000000000000000000000000000000000813202d394653606c7985929ea99d908376685d5245392c201306000000000916222f3c4955626f7c8895a2afa4978b7e7164545c6064696e72747678787979787675726e6964615a534d453d352b23190f060000000000000000000000000000000000000000040a0f14191e202125282a2b2c2c2c2b2a28252225313e4b5864717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d000000000000000307090913131313131313130f0606030000000000000000000714212e3a4754616d7a8798a2aea99c8f837669544a3f33281c0f030000040f19222b32383b3c464544434241403d3c38332b231a0f0500000000000000000000060f19222c353e48515b636e74818e949ea69e948e81746e63574b4b555d686e7a849197a1a49f93877e716b6054483b2f221609000000000000000000000000000000000000000000000a16212b343d434b515961686d757e858f949f9f93887f716c625a50483e30261c11060000000000000000000000000000000000000000000000000009121b22292d3031393939393939393534312c2518202830353e444d525b62696e787f8686868687796d6053463a2d33343939393939393931302d29221b12090000000008121b242b313638393939394653606c7987868686847d756e69605c554f46454f545c60696e777e8586868685786b5f524539393433302b251d140b0100000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e11000915212c38424c545a5c6060606060605a626c717e879392877e716c615a50483e32281e130800000000000000000000000000000000000915212c38424c545a5c6060606060605a58524a41362b1f1408000000000000000000000000000000000000000003101d2a3643505d697683909ca9aea194877b6e615b666d79839096a09f93877e706a60574d444a546b7884919eabafa49a867a6d6053473a2d20140700000000000000000815222f3b4855626e7b888d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d9299a3aeb2a99f94897d7063564a3d3023170a000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faa9d9083839099a3aa9f948a7e71685d52473d30271d0f06000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4a49453e362c22170c0000000000000000000000000000000006121f2b3844505b6675828e9ba89f92867a6d6054473a2d211409000000000916222f3c4955626f7c8895a2afa4978b7e7164585053575f6165686a6b6c6c6c6b6a6865615f57555046423b332b231a1108000000000000000000000000000000000000000000000002080e111414181b1d1f1f201f1f1d1b191825313e4b5864717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d00000000000000000000000606060606060606020000000000000000000000000613202d394653606c7985929facaa9e918477665b5044382b1f120600000a16212b343d434849535251504f4e4d4a48443d352b21160b000000000000000000050f18222b343e47505a626d73808d939da69f948f82786d605c524a545c676d7a839096a0a49c918b7f726c61594f44382c201307000000000000000000000000000000000000000000030f1b27323d464e555d606b707a818a92979f9b918b7f726d625a50483e362c1e140a0000000000000000000000000000000000000000000000000000000911171d2124252d2d2d2d2d2d2d282724201d2429323a414650565e616d727b828c929992877e71665c5044382b27272d2d2d2d2d2d2d2524211d17110900000000000009121920262a2c2c2d2d313e4b5864717e889396918a827b736d67615953525960666d737b828b929792877e7064574a3d312d282724201a130b020000000000000000000000020507080c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e110005101b26303a42494e4f535353534e58626c717e879393877e716c615a50483e362c20160c02000000000000000000000000000000000004101b26303a42494e4f5353535353534e4c4741382f241a0e03000000000000000000000000000000000000000004111d2a3744505d6a7783909daaada194877a6e61545d676d7a849197a19992867c6f695f564c515e6b7784919eaab6a094877a6d6154473a2e21140700000000000000000815222f3b4855626e7b88959a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9fa3abb5bbb0a6968a7d7063574a3d3024170a000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929fac9f928790959faba2988f82766c61564c41352b1e150b00000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a575550483e33281c1105000000000000000000000000000000030f1c28333f4a5465717e8b98a7a3998a7d7064574a3d31261a0e020000000916222f3c4955626f7c8895a2afa4978b7e7164584b464d5355585b5d5e5f5f5f5e5d5b5855534d49453e36312a211a11080000000000000000000000000000000000000000000000000000020507080b0e101213131212100e0c1825313e4b5864717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657784909daaac9f9285796c605346392d20130600030f1b27323d464f54565f5e5d5c5b5a5956544f473d33271c100400000000000000040e17212a343d464f59616c727f8c929ca5a0959082796d665c5044505c666d79829095a0a59d928c7f736d625a50473d32271b100400000000000000000000000000000000000000000007131f2c38434e5860676d747d858e939fa29b918b7f726d625a50483f362d241a0c0200000000000000000000000000000000000000000000000000000000060c11151718202020202020201b1b191f282f353e444c525a61696e767f8690949a93877e716c61544a3f34281c1b20202020202020181715110c060000000000000000080f151a1d1f202024303d4956626c717f8b919e948f868079706b615f5d606b6f797f868f949f93887e716c6155493c30231b1a18140f08010000000000000000000003090e121415191926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100000a141e2830383d414346464647535f6a717e879393877e716c615a50483e362c231a0e04000000000000000000000000000000000000000a141e2830383d414346464646464641403c362f261d130800000000000000000000000000000000000000000004111e2b3744515e6a7784919daaada094877a6d6154555e686e7b859298a29892857b6e685e554b5e6a7784919daaada194877a6e6154473b2e21140800000000000000000815222f3b4855626e7b8895a1a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a7acaeb5acacaca3968a7d7063574a3d3024170a000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca39992999fa7a79f92867b6e615a50443a3023190c0300000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6767676767676767676767676767676767676767676767676767676767676767676764615a5045392d211408000000000000000000000000000000000b17222d3b4854616e7b8795a0ab9a8d817467574d42362a1e12050000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e4246484b4e505252535252504e4b4847423c39332a261f180f0800000000000000000000000000000000000000000000000000000000000000000204050606060504020b1825313e4b5864717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536875818e9ba8aea398887b6e6255483b2d22170b0407131f2c38434f5960636c6b6a696867666360594f44382c201407000000000000040d162029333c464e58616b717e88939fa4a19690837a6d675d544a525c606d78818f949fa69e938d80746d635b51483e352b21160b000000000000000000000000000000000000000000000915222e3b4854606a6f79818a91979ea39c918c7f726d625b51483f362d241b12080000000000000000000000000000000000000000000000000000000000000005080a0b131313131313130f19222b313a41454f565e616c717b828b92989a93887e716c615a5042382e23170b131313131313130b0a0805000000000000000000000004090e11121315212d3945505a626d727f8b919c98928c847d756e69686d747c838c92989c918b7f726c625a5044392d20140d0b08030000000000000000000000060e141a1e2122252526333f4c5966727f8c99a5aa9d9184776a5e5144372b1e110000020c161e262c32353639393c4855626f7b869393887e716c615a50483e362c241a11080000000000000000000000000000000000000000020c161e262c3135363939393939393433302b241d140b0100000000000000000000000000000000000000000004111e2b3744515e6a7784919daaada194877a6e61544c565f696f7c869299a19791847a6d675c545e6b7784919eaaada094877a6d6154473a2e21140700000000000000000815222f3b4855626e7b88959f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f968a7d7063574a3d3024170a000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929facaba39fa3ababa0958c7f72695f53483e32281e11070000000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada09386797373737373737373737373737373737373737373737373737373737373737373737373716c6155493c3023170a000000000000000000000000000000000614202d3a46525e697784919daa9e918477695f53463a2d2114060000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e363a3b3f4143454546464543423f3b3a37312d28221a140e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000b17222d3f4c5865727f8b98a8b2aa978a7e7164544a3f33281b13101014222f3b4854606b6f79787776757473706b6054483c2f2216090000000000030c161f28323b454e58606a707d87929aa4a19791847b6e685d554b515b636e74818e939ea69e948e81776c605b51493f362c23190f04000000000000000000000000000000000000000000000916232f3c4956626f7c848e9393939393918c7f726d625b51493f362d241b12090000000000000000000000000000000000000000000000000000000000000000000000000606060606000a16212b343d434b515961686d757e858f949f9f93887f716c625a50483e30261c110600060606060606000000000000000000000000000000000001040605111d29343e48505a626d727f8c929c9f96918a827b73717a818891959f9d928c7f736d625a50483e33281c100400000000000000000000000000060f181f262a2d2e323232333f4c5966727f8c99a5aa9d9184776a5e5144372b1e11000000040c141b212528292d2e3a47535f6a73808c887e716c625a50483e362c241a120800000000000000000000000000000000000000000000040c141b212528292d2d2d2d2d2d2726241f1a130b020000000000000000000000000000000000000000000004111d2a3744505d6a7783909daaaea194877b6e6154484d57606a707e87939fa0969082796d665b5e6b7884919eabb4aa93877a6d6054473a2d21140700000000000000000815222f3b4855626e7b88939393939393939393939393939393939393939393939393939393939393939393939393939393938a7d7063574a3d3024170a000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929facb5afacafafa4999083786d60574d42362c20160c000000000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facb3a79a8d8080808080808080808080808080808080808080808080808080808080808080808080807e7164574a3e3124170b0000000000000000000000000000000005121e2a36424d576774808d9aaaa096887b6e6155483b2e23170b0000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e312d2e32353738393939383735322e2d2b261f1c170e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0aca6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000616222f3c4955626f7c8896a1ada79a8e8174665b5044382d241f1c1d1f27303c4956636f7d868584838281807d7063564a3d3023170a00000000020b151e28313a444d575f6a6f7c869299a3a29892857b6e695e564c505a626d73808d939da59f948f82786d655b504940372d241a110700000000000000000000000000000000000000000000010e1b2734414e5a67748186868686868686867f736d635b51493f372d241b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d464e555d606b707a818a92979f9b918b7f726d625a50483e362c1e140a00000000000000000000000000000000000000000000000000000000000c17222d363f48515b636d737f8c929ca09e948f867f7d848d939aa09d938d80736d635b51483e362c22170b00000000000000000000000000030e18212a31363a3b3f3f3f3f3f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100000000020a1015191c1c1f2b37434e58636d73807e716c625a50483e362c241a1208000000000000000000000000000000000000000000000000020a1015191b1c2020202020201b1a17140e0801000000000000000000000000000000000000000000000003101d2a3643505d697683909ca9aea295887b6f625548454e58616c727f8c929d9f948e81786c605b657885929eabaea29886796d6053463a2d20130700000000000000000815222f3b4855626e7b8686868686868686868686868686868686868686868686868686868686868686868686868686868686867d7063574a3d3024170a000000131f2c3946525f6c7985929facaca093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929facb8bbb9b2a89f93877c6f665c50453b31241a0e04000000000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facb9a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8174675b4e4134281b0e01000000000000000000000000000000020e1a25303d4a5763707d8a98a3a8988b7e7265544a3f34281c100300000916222f3c4955626f7c8895a2afa4978b7e7164584b3e31252225282a2b2c2c2c2b2a282522211e1a15110c050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4aca295887c6f6255493c2f221609000714212d3a4754606d7a87939f9f9f998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a7884919eabab9e9185786c6053493f352f2c28292c2f39424f5966727f8c91908f8e8d8b7e7265584b3f3225180c000000000a141d273039434c565e696e7c859298a2a39992867c6f695f564d4f59626c727f8c929ca5a0959082796d665c53493f372e251b12080000000000000000000000000000000000000000000000010d1a2733404c58646e747979797979797979736d635b51493f372d251b12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434e5860676d747d858e939fa29b918b7f726d625a50483f362d241a0c02000000000000000000000000000000000000000000000000000000000006101b242d363f49515b636d73808d929da49e98928c8a91969fa49e938e81746e645b51493f362d241a10050000000000000000000000000009141f2a333b4246484c4c4c4c4c4c5966727f8c99a5aa9d9184776a5e5144372b1e1100000000000005090d0f0f1a26313c46525b646e73716d625a50483e362d241a120800000000000000000000000000000000000000000000000000000004090d0f101313131313130e0d0b080300000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba8afa296897c6f6356493d46505a626d74808d939e9e938d80736d606c7986929facab9f928578665c5044382c1f120600000000000000000814212e3a47535f6a76797979797979797979797979797979797979797979797979797979797979797979797979797979797979706b6155483c2f231609000000131f2c3946525f6c7985929f9f9f9f93877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d7986939f9f9f9f9386796c605346392d201300131f2c3946525f6c7985929facacacacada1968d80746a60544a3f33291f120900000000000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facb9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a8e8174675b4e4134281b0e01000000000000000000000000000000000914202d3a4753606d7a86929fa89b8f8275665c5044382b1f120600000916222f3c4955626f7c8895a2afa4978b7e7164584b3e312518181b1d1f1f201f1f1d1b181514120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b979f9f9f95887c6f6255493c2f221609000714212d3a4754606d7a8793939393938c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006131f2b37434e586774808d9aa6ada1978a7d70655b5045413a383435393b424b54606b7783909d9d9c9b95887b6e6155483b2e22150800000006111b262f39424b555e686e7b849197a2a49a92877d706a60574d4f59616c717e88939fa4a19690837a6d675d544a41382d251c1309000000000000000000000000000000000000000000000000000b1824303c48535c64676c6c6c6c6c6c6c6c66635b51493f372d251b130900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3b4854606a6f79818a91979ea39c918c7f726d625b51483f362d241b12080000000000000000000000000000000000000000000000000000000000000009121b242d373f49525b636e74808d929da5a39f99979ea1a69e948e81786c605c524940372d241b110800000000000000000000000000020e1a26313b454d53555858585858585966727f8c99a5aa9d9184776a5e5144372b1e11000000000000000000000a15202a344049525c646765625a50483f362d241b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3e48515b606c78818f959f9d928b7f726c6d7a8799a3afaa9e9184776b544a3f34281c1003000000000000000006121e2b37424e575f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6361594f44382c201407000000131f2c3946525f6c7986929393939393877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693939393939386796c605346392d201300131f2c3946525f6c7985929f9f9f9f9fa59e9184796d60584e42382e21170d0000000000000000000916232f3c4956626f7c89959f9f9f9386796c605346392d20130013202c3946535f6c7986929facacacaea9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69a8e8174675b4e4134281b0e010000000000000000000000000000000006131f2c3945515d6776828f9ca99f9285796d6053463a2d20130800000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180c0e101212131312100f0c08080602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b9393939393887c6f6255493c2f221609000714212d3a4754606d7a86868686868686807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000030f1b26323c4855626e7b88949eaca99d9083786c605a524c4645404045474c545c66707d8995a0aaa99d918477695f53463a2d2114070000000b17222d38414a545d676d7a839196a1a49f93887e716b60584e4e58606b707e87929aa4a19791847b6e685d554b42392f261b130a00000000000000000000000000000000000000000000000000000814202b36414a53585a60606060606060605957514940372e251b13090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c848e9393939393918c7f726d625b51493f362d241b120900000000000000000000000000000000000000000000000000000000000000000009121b252d374049525c646e74808d939da59f9f9f9fa79f948f82786d665b504a40372e251b1209000000000000000000000000000005121e2a36424d575f616565656565656566727f8c99a5aa9d9184776a5e5144372b1e1100000000000000000000030e18222e37404a52585a585650483f362d241b120900000000000000000000000000000000000000000000000000000000000000000000000000010507071313131313131313080705020000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2a5998c7f7266594c3f363f44505b666d79839096a09f93877e706f7c8995abb5a99c8f8376695c50432e23170c000000000000000000020e1a26313c454e535560606060606060606060606060606060606060606060606060606060606060606060606060606060606057554f473e33281c1004000000131f2c3946525f6c7986868686868686867a6d6054473a2d2114070000000000000000000000000713202d3a4653606d788686868686868686796c605346392d201300131f2c3946525f6c798692939393939393938a7d70675d51463d30261c0f060000000000000000000916232f3c4956626f7c89939393939386796c605346392d20130013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8e8174675b4e4134281b0e010000000000000000000000000000000004101d2935404b5566727f8c99a9a297897c6f6356493c2f24190d01000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b0204050606060504020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e868686868686867c6f6255493c2f221609000713202c3945525d687679797979797979736d63574b3f3225190c000000000000000000000000000000000000000000000000000000000000000000000a15212e3a47535f6a76828f9aa4ab9f958c7f726c605d5653514b4b5153565e666d7983909da7ada2978b7f7265574d42372b1e12050000030f1b27333f49535c666d79839095a0a59c928b7f726c61594f4d575f6a6f7d869299a3a29892857b6e695e564c433930271d140a010000000000000000000000000000000000000000000000000000030f1a252f3841484c4e53535353535353534c4b4640372e251c1309010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a67748186868686868686867f736d635b51493f372d241b1209000000000000000000000000000000000000000000000000000000000000000000000009131c252e37404a525c606c77818e93939393939393959082796d665c544a3f382e251c13090000000000000000000000000000000714212d3a46535f696e7272727272727272727f8c99a5aa9d9184776a5e5144372b1e11000000000000000000000006101c252e3840474c4d4b4a453f362d241b120900000000000000000000000000000000000000000000000000000000000000000000000002080d11131420202020202020201514120e0902000000000000000000000000000000000a1724313d4a5764707d8a97a9b2a89b8e817568564c4136333f4a545d676d7a849197a19992867c717e8a97a4b1a79a8e8174675b4e4134281b06000000000000000000000915202a333c4247485353535353535353535353535353535353535353535353535353535353535353535353535353535353534a48443e352c21160b00000000121f2b3844515d6974797979797979797976685d5245392c20130700000000000000000000000006121f2c3844505c66767979797979797979766c5f5346392d201300131f2c3946525f6c7986868686868686868681756c61554b40342b1e150a000000000000000000000916232f3c4956626f7c86868686868686796c605346392d20130013202c3946535f6c79869293939393939393939393939393939393939393939393939393939393939393939393939393939393938e8174675b4e4134281b0e0100000000000000000000000000000000000c18242f3c4955626f7c8897a1a9998c807366564c4135291d1104000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4956626c7179797979797979766a5f53473b2e2115080004111d2935414c565d6c6c6c6c6c6c6c6c66635b52473b2f23160a0000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e58626f7c87939fa8a79f93887e746d6863605c54555d6063686e78818e95a0aca69f9285796d6053473c31261a0e02000005121f2b3744505b656d78828f959fa59d938c80736d625a504c565f696f7c859298a3a39892867c6f695f564d443a31271e150b020000000000000000000000000000000000000000000000000000000008131d262f363c40414646464646464646403e3b352e251c130a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2733404c58646e747979797979797979736d635b51493f372d251b1209000000000000000000000000000000000000000000000000000000000000000000000000010a131c252e384044505b656c7881868686868686868683796d675d544a42382d261c130a010000000000000000000000000000000815222e3b4855616e7b7f7f7f7f7f7f7f7f7f818f9ba8aa9d9184776a5e5144372b1e110000000000000000000000000a131c262e363c3f403e3d3a342d241b1209000000000000000000000000000000000000000000000000000000000000000000000000050c13191d20212d2d2d2d2d2d2d2d21201e1a140d050000000000000000000000000000000815222e3b4855616e7b8896a1adaa9d908477685e5246392d38424b555e686e7b859298a29892857b808d9aa6b4aa988b7f7265584c3f3225190c00000000000000000000030e18212a31373a3b4646464646464646464646464646464646464646464646464646464646464646464646464646464646463d3c38332c231a100500000000101c2935414d5862696c6c6c6c6c6c6c6c6c5d564c4135291d110400000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e1200121f2b3844515d6974797979797979797979756f65594f433a2f22190c03000000000000000000000815222e3b4754606a6f79797979797979766c5f5346392d20130013202c3946535f6c7987868686868686868686868686868686868686868686868686868686868686868686868686868686868686868174675b4e4134281b0e0100000000000000000000000000000000000713202d394653606c7885919ea99c908376685d5245392c201306000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212d3945505a62646c6c6c6c6c6c6c625f584e43372b1f130600010d19242f3a444c525f606060606060605957524940352a1e130700000000000000000000000000000000000000000000000000000000000000000000020f1a26313c4754606a74818e96a0a9a49a9387807a74706d666a6a676d70747a828e939ea7a89f948b7e72675d5145392a1f140900000815212d3945505a606c77818e949fa69e938e81746e635b5146525e686e7b859197a2a39992867d706a5f574d443b32281f150c030000000000000000000000000000000000000000000000000000000000010b141d252b303334393939393939393933322f2a231c130a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824303c48535c64676c6c6c6c6c6c6c6c66635b51493f372d251b13090000000000000000000000000000000000000000000000000000000000000000000000000000010a131c2627333f49535b666c757979797979797979776d675d554b42392f261c140a01000000000000000000000000000000000b1724313e4a5764717d8a8b8b8b8b8b8b8b8b8f939eaaaa9d9184776a5e5144372b1e11000000000000000000000000010b141c242b30333432312e29221b1209000000000000000000000000000000000000000000000000000000000000000000000000050e161e252a2d2e39393939393939392e2d2a251f170f0500000000000000000000000000000714212d3a46535f697884919eabac9f93877a6d6154473c322f39434c565f696f7d86929aa197918483909daaaea298897c6f6356493c302316090000000000000000000000060f1820262b2e2f393939393939393939393939393939393939393939393939393939393939393939393939393939393939302f2c28211a110800000000000d1925303b4650585d5f606060606060605f524c443a2f24190d01000000000000000000000000000c17232e38424a505f60606060606060605f5a52493e33271b0f00101c2935414d5862696c6c6c6c6c6c6c6c6c68655d53473e31281d1007000000000000000000000006131f2b38434e5860626c6c6c6c6c6c6c6c645a4f43372b1e1200121f2c3845525e6a757979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746f64594c4033271a0d01000000000000000000000000000000000005121f2b3744505b6575818e9bac9f92867a6d6054473a2d211407000916222f3c4955626f7c8895a2aca4978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d29343e485056586060606060606055534e463c32261b0f03000008131e28323a414553535353535353534d4b4740372e24190d0200000000000000000000000000000000000000000000000000000000000000000000000a15202b37434e58606d7a849197a2a9a499938d85807d79787777787a7c81868f949ea5a9a1969082776c60554b403529180e0300000a1724303d4956626c74808d939ea69f948f81786d605c52494754616e7a849197a1a49a92877e706b60584e453c322920160d0300000000000000000000000000000000000000000000000000000000000000020b131a202427272d2d2d2d2d2d2d2d2625231e19120a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202b36414a53585a60606060606060605957514940372e251b130900000000000000000000000000000000000000000000000000000000000000000000000000000000010a1417222d38414a545b60686c6c6c6c6c6c6c6c6a605d554c433930271d140a0200000000000000000000000000000000000b1724313e4a5764717d8a97989898989898989b9ea6b0aa9d9184776a5e5144372b1e1100000000000000000000000000020b12191f2326272524211d181109000000000000000000000000000000000000000000000000000000000000000000000000020c1620283036394646464646464646463b3a36302921170d020000000000000000000000000005121e2a36424d576875818e9baaafa49a8b7e7164584e43372b313a444d57606b717e88939fa096919095a0abac9f9285796d6053463a2d201307000000000000000000000000060e151a1e21222d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423201c16100800000000000008141f2a343e464d5152535353535353535345413a32281e1308000000000000000000000000000006111c2630383f44535353535353535353534f4940372c21160a000d1925303b4650585d5f60606060606060605b59534b42352c1f160c000000000000000000000000030f1b27323d464e5456606060606060605f5a52493e33271b0f00111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645d53483c3024180b000000000000000000000000000000000000030f1b27333f495364717e8a9aa4a3998a7d7064574a3d3124170a000916222f3c4955626f7c88959f9f9f978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17222d363e45494b535353535353534947433c342a20150a000000010c1620282f35394646464646464646403f3b352e251c1207000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c45515d676e7c859297a0a7a49f97928d89868584848586898d92989fa6a79f9791847b6e655b50433a2f2418060000000b1825313e4b5864717e8b929da5a0958f82796d665c504a43505d6a76839096a0a99f93887e716c61594f463c332a20170e0400000000000000000000000000000000000000000000000000000000000000000001080f14181a1b2020202020202020191916120d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a252f3841484c4e53535353535353534c4b4640372e251c13090100000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f38424a50535b60606060606060605d54514c433a31271e150b020000000000000000000000000000000000000b1724313e4a5764717d8a979f9f9f9f9f9f9f9f9f9f9f9f9d9184776a5e5144372b1e11000000000000000000000000000001080e1317191a181715110c060000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a41465353535353535353534846423b33291f140900000000000000000000000000020e1a26313e4a5764717e8a98a2aeac9c8f82766a5f53473f352f323c454f59616c727f8c929da09d9da0a7b1aa9c8f8275665c5145382c1f13060000000000000000000000000003090e121415202020202020202020202020202020202020202020202020202020202020202020202020202020202020171614100b0500000000000000020d18222c343b414446464646464646464639352f2820160c010000000000000000000000000000000a151e262e343846464646464646464646433e372e251b10050008141f2a343e464d515253535353535353534f4d48423930231a0d04000000000000000000000000000a16202b343d43474953535353535353534f4940372c21160a000e1a26313d4751595e5f606060606060606060606060606060606060606060606060606060606060606060606060606060606060605b59534a41362b201408000000000000000000000000000000000000000b17222d3a4754616d7a87939393938d8174675a4e4134271b0e000916222f3c4955626f7c8893939393938b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b242d34393d3e464646464646463c3b37322a22180e0400000000040d161e24292c393939393939393933322f2a241c130a00000000000000000000000000000000000000000000000000000000000000000000000000000a15202935414c555f6a6f7c8590959fa3a9a19e9a96979291909192999a9fa2aaa29f9590857b6e695e53493f31281d13070000000d1a2633404d596673808c99a4aa9d91847a6d675c544a3f45525e6b7885919ea8a5998c7f726c625a50473d342a21180e0500000000000000000000000000000000000000000000000000000000000000000000000003080b0d0e13131313131313130d0c0a06020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131d262f363c40414646464646464646403e3b352e251c130a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262f383f44464e5353535353535353504745413a31281f150c03000000000000000000000000000000000000000b1724313e4a5764717e8a93939393939393939393939393939184776a5e5144372b1e110000000000000000000000000000000003070b0d0d0b0b09050100000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444c525f60606060606060605f524d453b30251a0e02000000000000000000000000000914202d3a4753606d7985929fabab9f94887c6f625b5145403937333d46505a626d74808d939ea7aaabb1aea2988b7e7164544b4034281c1004000000000000000000000000000000020608081313131313131313131313131313131313131313131313131313131313131313131313131313131313130a0907040000000000000000000006101a222a3035383939393939393939392c29241e160d0400000000000000000000000000000000030c151c23282c3939393939393939393937332c251c13090000020d18222c343b414446464646464646464642413d3730271e11080000000000000000000000000000040f19222b32383b3c4646464646464646433e372e251b1005000915202b353f474e5253535353535353535353535353535353535353535353535353535353535353535353535353535353535353534e4c4841382f251a0f03000000000000000000000000000000000000000613202d3946525e687783868686868684776b5e5144382b1e11000916222f3c4955626f7c868686868686867e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b22292d3031393939393939392f2e2b2620181006000000000000040c13191d202d2d2d2d2d2d2d2d2625231e19120a010000000000000000000000000000000000000000000000000000000000000000000000000000040d19242f3a434e58606a6f7b838c92989ea1a9a7a9a29f9d9d9e9fa3aba9a19e98928d837b6e695f574d41382d1f160c010000000d1a2633404d596673808c99a3ac9f92867c6f695f564c4345525e6b7885919ea6a89c8f82786d605c52493f362c2319100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b141d252b303334393939393939393933322f2a231c130a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141d262d333839424646464646464646443a39352f281f160d0300000000000000000000000000000000000000000b1724313e4a5764717e8686868686868686868686868686868684776a5e5144372b1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c565e6c6c6c6c6c6c6c6c6c6c5e574d42362a1e12050000000000000000000000000006131f2c3945515d6774818d99a3afa69c8f82766d625a514b474242414148515b606c78818f959fabb8b4aa9f92857a6d6054473a2e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810181f25292b2c2d2d2d2d2d2d2d2d201d19130c04000000000000000000000000000000000000030a11171c1f2d2d2d2d2d2d2d2d2d2d2b27211b130a0100000006101a222a3035383939393939393939393534312c251e150c0000000000000000000000000000000007101920272b2e2f393939393939393937332c251c13090000040f19242d353d4245464646464646464646464646464646464646464646464646464646464646464646464646464646464646464641403c362f261d1308000000000000000000000000000000000000000005111e2a36414c5667717779797979797772675c4f43372a1d11000815212e3b47535f6a7679797979797979716c6256493d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000911171d2124252d2d2d2d2d2d2d22211f1b150e06000000000000000001080d111314202020202020201a1916130d07000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313c464e5860696e7980868d9197999c9d9fa3aaaaa9a19e9c9a97928d8680796e695f574d453b2f261b0d04000000000a1623303d495663707d87929aa4a29891857b6e685e554b424e5b6874818e949fa79e948e81746e635b51483e352b22180f060000000000000000000000000000000000000000000000000000000000000000000000000000030607090b0d0f1111121313121211100f0d0a08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b131a202427272d2d2d2d2d2d2d2d2625231e19120a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c22282b2d353939393939393939372d2c29241e160d040000000000000000000000000000000000000000000a1723303c4955616c71797979797979797979797979797979797771675b4f43362a1d10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050a0d0f1013130f0e0c09040000000000000713202d3946525e6876797979797979797976695e52463a2d2014070000000000000000000000000004101d2935404b55616e7b87929fa9ab9f948b7f726c605d55534d4e4e4e4b51535b666d7983909da9b6aea2988d8073675d5145392c1d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d14191c1f1f202020202020201413110d0801000000000000000000000000000000000000000000060c1012202020202020202020201e1b1610090100000000000810181f25292b2c2d2d2d2d2d2d2d2d282825201b140c030000000000000000000000000000000000070f161b1f22232d2d2d2d2d2d2d2d2b27211b130a0100000008121b242b31363839393939393939393939393939393939393939393939393939393939393939393939393939393939393939393433302b251d140b010000000000000000000000000000000000000000010d1925303a44555f676a6c6c6c6c6c6b6760564b3f33271b0e0006131f2b37434e585f626c6c6c6c6c6c6c64625a5045392d21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c11151718202020202020201615130f0a04000000000000000000000001040707131313131313130d0c0a0702000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a333d464e575f676d737b8085898c8f919298a3a8a196918f8d8985807b736d675e574d453c33291d140a00000000000916222f3b4854606b717e88939fa4a19791847a6d675d544a4653606d78828f959fa69d938d80736d625a50473d342a21180e050000000000000000000000000000000000000000000000000000000000000000000104060b10121315171a1c1d1e1f1f201f1f1e1d1b19171514120e0906030000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080f14181a1b2020202020202020191916120d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f20282d2d2d2d2d2d2d2d2a21201d19130c04000000000000000000000000000000000000000000000814212d3945505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a675f564b3f33271b0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11161a1c1d20201c1b1915100902000000000714212e3a4754616d7a86868686868686867b6e6154483b2e21150800000000000000000000000000000c18242f3946535f6974808d96a1aba69f92877e736d67615f575b5a5b555d60636a6f7a83909daab6ab9f92857a6d61554b42382d2217110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d101213131313131313130707040100000000000000000000000000000000000000000000000000030613131313131313131313120f0a050000000000000000060d14191c1f1f20202020202020201c1b19150f090200000000000000000000000000000000000000040a0f13151620202020202020201e1b16100901000000000009121920262a2c2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282724201a130b020000000000000000000000000000000000000000000008131e2932434d555b5d60606060605e5c564e44392e23170b00030f1b26323c464e535560606060606060585650483e34291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005080a0b1313131313131309080603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212b343d454d555d60696e73787c7f828486929fa196898482807d79746e69605c554d453c332a21170b0200000000000713202c38444f59616c727f8c929da5a0969083796d665c5044515c666d79839096a0a59c928b7f726c61594f463c332920170d0400000000000000000000000000000000000000000000000000000000000001070d1113171c1f20222426292a2b2b2c2c2c2b2b2a28262422211e1a1312100c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080b0d0e13131313131313130d0c0a06020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131b20202020202020201d1413110d0801000000000000000000000000000000000000000000000004111c28333e48505557606060606060606060606060606060605e5b564d44392e23170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d151c2226292a2d2d292825211b140c030000000714212e3a4754616d7a87939393939393877b6e6154483b2e211508000000000000000000000000000007121d2a36424d57606d7a849199a3aba39992878079736e696968676869676d70757c8490959fabb3ab9e91847a6e675d544a3f3328231a100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d10121313131313131313130f0e0c09040000000000000000000000000000000000000000000000030608091313131313131313120f0a050000000000000000080f151a1d1f20202020202020202020202020202020202020202020202020202020202020202020202020202020202020201b1a18140f08010000000000000000000000000000000000000000000000020d1720313b434a4f515353535353514f4b443c32281d120600000a15202a343c434749535353535353534b49453e362d22170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407070b0d0f111213131212100e0c080705020000000000000000000000000000000000000000000000000000000000060f19222b333c434b51565e61666c6f7375777e8a979e9184787673706d66615e56514b433b332a21180f0500000000000003101b27323d47505a626d73808d939ea69f958f82786d605b524a545d676d7a849197a1a49f93887e716b60584e453b32291f160c0300000000000000000000000000000000000000000000000000000003090e13181d2023282b2d2f3133353737383939393837373533312e2d2a26201f1c17110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060f1313131313131313110706040100000000000000000000000000000000000000000000000000000c17222c363e45494a53535353535353535353535353535353514f4b443b32281d12060000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f272d32353639393534312c261e150c0200000714212e3a4754616d7a87949f9f9f9f94877b6e6154483b2e2115080000000000000000000000000000010e1a26313b45525d686f7d879299a3aaa399938d847f7b787675747475777a7d828991969fa7aca6a8a1969083796d665b50443f362c22190f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111112131312110f0c0908060300000000000000000406070b0f1213131211100e0c0b0906010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090e111213131313131313131313131313131313131313131313131313131313131313131313131313131313131313130e0d0b08030000000000000000000000000000000000000000000000000000050e1f2931393f4244464646464644433f39322a20160c010000040e18222a32373b3c464646464646463e3d39342d241b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0d10111213131211100d0a07060400000000030505060606060606000000000000000000000000000000000000000000000000000002080d111314171a1c1e1f1f201f1f1d1b181514120e090400000000000000000000000000000000000000000000000000000000071019212a313940454d52545b60636669707d8a979e9185786b6763605c54524d454039302921180f0600000000000000000b16212b353e48515b606c77818e949fa79e948e81746d635a504b555e686e7b859198a2a49a92877d706a5f574d443a31281e150b02000000000000000000000000000000000000000000000000040a0f151a1d24292c2e34383a3c3e404244444546464545444342403d3b3a36312d2c28231c19130d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090c0e1011121313131211100f0d0b080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a242c33393c3e4646464646464646464646464646464644433f39322920160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151f2831383e4243464642413d3730271e140900000714212e3a4754616d7a8794a0acaca194877b6e6154483b2e21150800000000000000000000000000000009141f2935414c56606b717e879298a0a8a49f97918c8885838181818283868a8f939da0a8a39f999b9e9f958f81786c605b51483e342b21170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191515120f0a0401000000070c101313181c1e1f201f1e1d1b181815120d0600000000000000000004090e111213131313131313131313131313131313131313131313131313131211100e0c0a07060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d171f272e33363739393939393837332e2820180e040000000006101820262b2e2f3939393939393931302d29221b120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d111314171a1d1e1f1f201f1e1c1a171413100c07010c0f1112131313131313090907030000000000000000000000000000000000000000050b1013191d20212427292b2b2c2c2c2b2a282522211e1a14100c07010000000000000000000000000000000000000000000000000000070f181f272f353b42464a5053565964707d8a979e9185786b5e5653504a46423b342e271e170f06000000000000000000040f19232c363f44505b656d78828f95a0a69d938c80736c62594f4c565f696f7c869299a3a39992867c6f695f564c433a30271d140a0000000000000000000000000000000000000000000000070c151b20262b2f35393a3f4446484a4d4f5051525253525251504e4c4a4846423d3a38342e29251e19140d050000000000000000000000000000000000000000000000000000000000000000000000000004070c10121316191b1d1e1f1f201f1f1e1d1b19171414110e0806030000000000000000000000000000000000000000000000000004090e1112131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130b0a080400000000000000000008121a22282d3031393939393939393939393939393939393736332e2820170e04000000000000000000000000000000000000000000000000000000000000000000000000000000000005111c27313a434a4e5053534f4d49423930261b1004000714212e3a4754616d7a8794a0adaea194877b6e6154483b2e211508000000000000000000000000000000030d19242f3a444f59616c717e8691969fa2a9a19e9997918f8e8d8e8f9092999b9ea5a69f99928d8e939e9e938d80746d625a50463d33291f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e212125282a2b2c2c2c2b2a282622211f1b15110d08030b12181c1f2025292b2c2c2c2b2a272524221d18110901000000000000080f151a1d1f202020202020202020202020202020202020202020202020201f1f1e1d1b19161413100c07040100000000000000000000000000000000000000000000000407090a13131313131313131313131313131313131313131313131313131313131313131313131313131313130b0a080400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d151c2227292a2d2d2d2d2d2b2a27231d160e06000000000000060e151b1f21222d2d2d2d2d2d2d2524211d171109000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e13191d20212427292b2b2c2c2c2b292724201f1c18120e181c1e1f2020202020201615130f0a0400000000000000000000000000000000040a0f171c1e24292c2d3133363738393939383735322e2d2a261f1d18120b060000000000000000000000000000000000000000000000000000060d151d24293036383f44464a5764707d8a979e9185786b5e5246443f38363028231d150c05000000000000000000000007111a2427333f49535c666d79839096a1a59c928b7e716b61584e4d575f6a707d879299a4a29891857b6e685e554b42392f261b11060000000000000000000000000000000000000000030b121820262b31373a4145474a50535557595c5d5e5e5f5f5f5e5e5d5b595755534d4946443f3835302a251e170e0802000000000000000000000000000000000000000000000000000000000000000001070c1013181c1f20232527292b2b2c2d2c2c2b2a28262421201e1915120f0a0300000000000000000000000000000000000000000000080f151a1d1f20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020171714110c0500000000000000000810171c2123242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b2a27231d160e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16222d38434c545a5d60605c59544b42372c211509000714212e3a4754616d7a8794a0adaea194877b6e6154483b2e2115080000000000000000000000000000000008131e28323d47505a616c717c848c92989d9fa4a9a19e9c9b9a9b9c9d9fa3a9a29f9a94908780818e949f9d928b7f726c61584e453b31251a0e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c161b1f252a2d2e31343738393939383735322f2e2b26201d19130c151d23282c2d32353839393838363432312e29231b1309000000000009121920262a2c2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2c2b29282623201f1d1813110d080100000000000000000000000000000000000000050b101416172020202020202020202020202020202020202020202020202020202020202020202020202020202020171714110c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b11161a1d1e20202020201e1d1b17120c040000000000000000040a0f13151620202020202020181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e141a1e24292c2d3033363738393939383634302d2c29231d1a24282b2c2d2d2d2d2d2d23221f1b160f070000000000000000000000000000070f151b22282d3035393a3e404244454646454543413f3b3a36312c29241d17110a0200000000000000000000000000000000000000000000000000030b12181f252a2d33383d4a5764707d8a979e9185786b5e524538342e2a251f18120b0300000000000000000000000000091217222d38414b545d676e7a849197a1a49f92877d706a60574d4e58606b717e87939fa4a19791847a6d675d544a41382d22171209000000000000000000000000000000000000070c151d232831373c42474b5154545c60626466686a6a6b6c6c6c6b6a6a686664615f575653504a46413a3630292019130d05000000000000000000000000000000000000000000000000000000000003090e12181d1f23282c2d3032343638383939393838373533312e2d2a25211f1b150f0b060000000000000000000000000000000000000009121920262a2c2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211c1710080000000000000000050c11141717202020202020202020202020202020201e1d1b17120b04000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a26323e4a545e66696c6c68655d54493d3125190c000714212e3a4754616d7a8794a0a2a2a194877b6e6154483b2e21150800000000000000000000000000000000010c16202b343e48505a616a6f797f858b90939a9a9c9d9e9f9f9f9e9d9c9a9897928d88837c7378828f95a09f93877e706a60574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a111720272b31363a3b3e4144444546464544423f3c3b37322c29241e191e272e34383a3e42454646454443413f3d3a342d251b110600000008121b242b31363839393939393939393939393939393939393939393939393939393837363432302d2c2924201d19130e0902000000000000000000000000000000000810161c2023232d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211c17100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060a0e1011131313131311110e0b0601000000000000000000000003060809131313131313130b0a0805000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f181f262a2f35393a3d404344454646454443403d3a38342f2a252f3437383939393939392f2e2c272119100700000000000000000000000009101920272b33393a4145474a4d4f515252535252504e4b4846423b39352f27221b140b050000000000000000000000000000000000000000000000000001070c14191c2228313d4a5764707d8a93939185786b5e52453828231c19140c070000000000000000000000000000000006111b262f39424c555e686e7b859298a2a39992867c6f695f564c4f59616c727f8b929ca5a0969083796d665c53493f3327241a1007000000000000000000000000000000000810191e272e343c43474d53555d6064666d6f7173757777787979787877767573706e696763605c54524c46413b322a251e170e06000000000000000000000000000000000000000000000000000001070c141a1d24292c2e34383a3c3f4143444546464645444342403e3b3936302e2b261f1c17110a020000000000000000000000000000000008121b242b3136383939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393931302d28221a120800000000000000000004080a0b1313131313131313131313131313131311100e0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2935424e5a6670767979756f65594d4134281b0e000714212e3a4754616d7a87949595959594877b6e6154483b2e2115080000000000000000000000000000000000040d19222d363e48505860676d737a7f83878a8d8f90929292929190908e8b8885807c766f6a6d7a8390969a9992867c6f695e53463a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151c232832373b4246484b4e505152535252504e4c4847433c39352f28222b30394045464b4f5152535251504e4b4a463f372d23180d0100040f19242d353d42454646464646464646464646464646464646464646464646464646454443413f3d3a38352f2c29241e1a140c06000000000000000000000000000008111a21272c2f30393939393939393939393939393939393939393939393939393939393939393939393939393939393931302d28221a120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b1218212a31363a4145474a4d505152525352514f4d4a4745403936313a4044454646464646463c3b38322b22190f04000000000000000000020a131b222b32373e44494c5254575a5c5e5e5f5f5f5e5d5b5855534d47454039332d261d170e06000000000000000000000000000000000000000000000000000002090e111724313d4a5764707d8686868684786b5e5245382b17110e09020000000000000000000000000000000000000a141d27303a434c565f696f7c869299a3a29892857b6e685e554b505a626d73808d939da69f958f82786d655b50443f362c22190f04000000000000000000000000000009111a222a303940454e53575f62676d7175797b7d8082838485858685858483817f7d7b7874706d66615e56524c443e36302920180f07000000000000000000000000000000000000000000000000030b12181f252a2f35393a404446494c4e5051525253525251504e4c4a4746413c3a37312b28221c140b070000000000000000000000000000040f19242d353d4245464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646463e3c39332c241a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d69768286868175685c4f4235291c0f000714212e3a4754616d7a87888888888888877b6e6154483b2e21150800000000000000000000000000000000000007101b242d363e464e555c60676d72767b7e80828485858685848483817e7c79746f6a625f686e7b848d8d8d8d8d857b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d151e262e343d43474d5354585b5d5e5f5f5f5e5d5b5955534e4745413a3129343c424b5153585c5e5f5f5f5e5d5a585651493f34291d1206000915202b353f474e5253535353535353535353535353535353535353535353535353525251504e4c494745403a39352f2a251f17110a03000000000000000000000005101a232c33383c3d46464646464646464646464646464646464646464646464646464646464646464646464646464646463e3c39332c241a100500000000000004090e111213131313131313131306040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090e111213131313131313131306040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151c2328333b42464c5254575a5c5e5e5f5f5f5e5c5a5753514b46423b454c50525353535353534948433d342b21160a0000000000000000000a141c252d343d43475055565d606466696a6b6c6c6c6b6a6865615f5753514b443f382f292018100600000000000000000000000000000000000000000000000000000000061623303c4955616c70797979797872685c5043372a1e06000000000000000000000000000000000000000000020b151e28313b444d57606a707d87929fa3a19791847a6e675d544a515b636e74818e949ea79f948e81776c605b51483e342b21160a0000000000000000000000000009121b232c343c424b51585f62696e747a7d8185888a8c8f9091919292929191908e8c8a8884807d79736d68615e565046413a322a2119100700000000000000000000000000000000000000000000060d151d24293136394045474a515356585a5c5e5e5f605f5f5e5d5b595754524c4847433c38332d261d18120b030000000000000000000000000915202b353f474e52535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534a49453e362c22170c00000000000000000000000000000000000000010406070a0c0e101112131313121211100e0c0a070604010000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000713202d3a4653606d787c7c7c7c7c7c7c7c786d6053463a2d2013070000000000000000000000000000000000000009121b242d343d434b51555d6065696e717375777879797978777674716f6d66625f58565e696f7c8181818181807f7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2730383f444e54575e6164676a6b6c6c6c6b6a6865625f5854524c433f353c464e545c6065686b6c6c6b6b696765625b51463a2e221509000e1a26313d4751595e5f60606060606060606060606060606060606060606060605f5f5f5e5c5b595653514b4745413a363028231c150c05000000000000000000000b16212c353d44484a53535353535353535353535353535353535353535353535353535353535353535353535353535353534a49453e362c22170c0000000000080f151a1d1f20202020202020202013100c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f151a1d1f20202020202020202013100c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e272e343f454d53565d606366696a6b6c6c6c6b696763605c55534d444f575c5f60606060606056544e463d32271b0f030000000000000009121c262e373f464e545a6164686d7173757778797978787674726e6965605d555049413a322a221810060000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6b6860564b4034281b0f00000000000000000000000000000000000000000000030c161f29323c454e58616b717e8b919ca4a0969083796d665c5349525c606d78828f959fa69e938d80736d625a50473d32271b0f03000000000000000000000009121b242d353e464e545c606a6f757b81868a8e929797999b9d9d9e9f9f9f9e9d9d9b999796918d8985807a746e68615a524c443c332b2219100700000000000000000000000000000000000000000910181f272f353b42464b5153545c60636567696b6b6c6c6c6b6b6a686664615e5655534e46443f382f28231d150c0500000000000000000000000e1a26313d4751595e5f606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060575550483e33281c11040000000000000000000000000000000104080d11131417191b1d1e1f1f20201f1e1e1d1b19161413100d0704000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f0006121f2c3844505c666d6f6f6f6f6f6f6f6f6d665c5144382c1f1206000000000000000000000000000000000000000009121b222b313940454b5154575e616467696a6b6c6c6c6b6a69676562605c54534e4d575f6a6f747474747474726d62564a3d3124180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d273139424a50586062696e71747777787979787775726f6a66605d56504540454e5860666d717578797978777674726d62564a3d3124180b00111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a69676563605d5554524c46423b342e261e170f06000000000000000004101c27333d474f55566060606060606060606060606060606060606060606060606060606060606060606060606060606060575550483e33281c110400000009121920262a2c2c2d2d2d2d2d2d2d2d1f1c18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121920262a2c2c2d2d2d2d2d2d2d2d1f1c18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c273039404451575f61686d7073767778797978777673706d67615e57505761686b6c6c6c6c6c6c6260584e43382c1f130700000000000006101b242e384049515860626c70757a7d808284858586858583817e7b77726d67605b534c443c342a22180e05000000000000000000000000000000000000000000000000000004101c28333e48505557606060605e5c564e453a2f23170b0000000000000000000000000000000000000000000000040d17202a333d464f59626c737f8c929da5a0958f82786d655b5044505c666d79839095a0a59d928c7f726c61594f43382c1f13070000000000000000000007101b242d363e474f585f666d737c82878e92989b9ea2a9a6a8aaa8a7a6a6a6a7a8a9a8a6a8a19e9a97928c86807a716c615e564d453c342b22190e0500000000000000000000000000000000000009121b222a313940454d53555d6065666d6f72747677787979797877767573716e6867625f5853504a423d342e271e170e0500000000000000000000111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d2114080000000000000000000000000002080d1113191d2021232628292b2c2c2c2c2c2b2b2a28252320201d1813100c0700000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f0003101c28343f4a545c606262626262626262605c544a4034281c10040000000000000000000000000000000000000000000910191f272f343a4145474d5254575a5c5d5f5f5f5f5e5d5d5b585553514a4743454e585f6267676767676765625b51463a2e2215090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c18242f39434b545c606a6f757b7e8183848586858583817f7c78726d68625a514b4d57606a6f797e82848586858483817f7265584b3f3225180c00121f2c3845525e6a7579797979797979797979797979797979797979797979797979797877767472706d6765605d56524d443f38302921180f06000000000000000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d211408000008121b242b3136383939393939393939392c29231d150d03000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b242b3136383939393939393939392c29231d150d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424a515b63696e747a7d808384858586858482807d79746e69605b536873787979797979796f6a6054483b2e2215090000000000030e18222d36404a525b626a6f767d82868a8d8f919192929291908e8b88847e79716c655e564e463c342a20170c0300000000000000000000000000000000000000000000000000000b17222c363e44494a5353535352504b453c33281e1207000000000000000000000000000000000000000000000000050e18212b343e47505a636d74808d939ea69f948e81776c6053464a545d676d7a839196a1a49f93887e716b6054483b2f221509000000000000000000050e19222d363e485059616a6f7980878f93999fa3aaabaaaaa29f9d9b9a9a999a9a9b9d9fa2aaa9aba9a19e98928d857e756d685f574e463c342a20170c030000000000000000000000000000000009121b242c343c434b51575e61676d7175797c7f81838485858685858483817f7d7a77736f6a64605b544f454039302920170f05000000000000000000121f2c3845525e6a7579797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979716c6155493c3023170a000000000000000000000001080d13191d2024292c2d303335363738393939393837363432302d2c29241f1c18120b060000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f00000c17232e38424a5053555555555555555553514a42392e23180c0000000000000000000000000000000000000000000000070d151d23292f35393b4246474a4d4f51525253525151504e4b4946444039373c464e53555a5a5a5a5a5a585651493f34291d120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e2935404b555d666d747c82878b8e909192929291908e8c88847f7a716d605d55535f696f7c848b8f9192929291908d86796c605346392d20130013202c3946535f6c798786868686868686868686868686868686868686868686868685858483817f7c7976726d68615e57504a423b332a22180f050000000000000916232f3c4855616b707979797979797979797979797979797979797979797979797979797979797979797979797979797979716c6155493c3023170a00040f19242d353d424546464646464646464638342f271f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000040f19242d353d424546464646464646464638342f271f150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a545c606d727b81868a8d8f9191929292918f8d8a85807b726c655c6b78858686868686867c6f6256493c2f23160900000000000a15202a343e48525c636d727c838a8f9299999c9d9e9f9f9f9e9d9b9895908b857e776d685f584e463c32291e150a000000000000000000000000000000000000000000000000000005101a232c33393c3d464646464543403a332a21170c0100000000000000000000000000000000000000000000000000060f19222c353f48515b606c78818f94939393938c7f7366594c424b555d686e7b84919793939a92867c6f6356493c302316090000000000000000020d17202b343e48505a616b707c838c92999fa4abaca7a09d999892908f8d8d8d8d8d8f909298989c9fa4abaaa29f97928a827a6e6960584e463c32291e150b00000000000000000000000000000008121b242d363e464e555d60696e74797e8285898b8d8f91919293929291908e8c8a8784807c76716c666059514b433b332921170e05000000000000000013202c3946535f6c79878686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867e7164574a3e3124170b00000000000000000000040c13191e24292c2f35393a3d3f4143444546464645454443413f3d3a39352f2c28231d17110a02000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000006111c2630383f444649494949494949494644403930271c1207000000000000000000000000000000000000000000000000030b12181d24292c30363a3b3e40424445464646454443413e3c3a38342e2b343c4347484e4e4e4e4e4e4b4a463f372d23180c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303845515d676d7880898f93999a9d9e9f9f9f9e9d9b9896918c857e756d675d58626e7b8691969b9e9f9f9e9e9c9386796c605346392d20130013202c3946535f6c79869293939393939393939393939393939393939393939399929292918f8e8c8986827e7a746e69605c544d453c342a21170c0200000000000a1723303d4a5663707d86868686868686868686868686868686868686868686868686868686868686868686868686868686867e7164574a3e3124170b000915202b353f474e5253535353535353535345403931271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000915202b353f474e5253535353535353535345403931271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18212c3844515c666d757f878d9298999c9d9e9f9f9f9e9c9a98928d867f776d666679869293939393887b6e6255483b2f22150800000000030f1b26313c46505a636e737f8790949c9fa3aba8a5a3a1a1a1a3a5a7a7a09d97928b827a6f6a5f584e443b30261c1106000000000000000000000000000000000000000000000000000008111a22282d3031393939393837342f2821180f0500000000000000000000000000000000000000000000000000000007101a232d364044505b666d79828686868686868275695c4f42434c565e696f7c858686868686867f7265584c3f3225190c000000000000000009141f29323d46505a626c717d8690959fa3ababa49f9b95908c898584828180808081828385888b8f93999fa2aaa9a19e938f847b6f6a60584e443b30271d12070000000000000000000000000006101a242d363f4850585f676d737b80858b8f9298989a9c9e9e9f9f9f9e9e9d9b999795908d88837e786f6b605c554d453b332920170c030000000000000013202c3946535f6c798692939393939393939393939393939393939393939393939393939393939393939393939393939393939393938a7e7164574a3e3124170b000000000000000000070d161e24293035393a4145474a4c4e505152525353525151504e4c494745403a38342e27221b140b060000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f00000c17232e38424a5053555555555555555553514a42392e23180c0000000000000000000000000000000000000000000000000001070c13181d20252a2d2e313436373839393938373634322f2d2c2823222a31373a3c4141414141413f3d3a342d251b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3842505a606d79828d929b9fa4ababa39f9d9c9b9c9d9fa19e97928b82796d685f6a76828f98a1a8aaa39f9995949386796c605346392d20130013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9d9c9a9899928f8b86817b736d665e574e463c33291e140a00000000000a1723303d4a5663707d899393939393939393939393939393939393939393939393939393939393939393939393939393938a7d7164574a3e3124170b000e1a26313d4751595e5f606060606060605f514b43392f23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313d4751595e5f606060606060605f514b43392f23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000915202c38434f59606d78818c92999fa2aaa9a8aaa29f9e9e9e9fa29f98928c81786d6d798699a39f9f94877a6e6154473b2e2114080000000006121f2b37434e58626c73808b92999fa6aca49f9c989695949596989c9fa4a9a19e948f847c6f6a5f564d42382e23170c0300000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2b2a28231e170f06000000000000000000000000000000000000000000000000000000000008111b2428333f4a545c676d767979797979797570655a4d413a444d575f6a6f78797979797979726d62564a3e3124180b00000000000000030d1925303b444e58626c717e879298a0a7afa79f99938e88837f7c79777574737373747577797c7f83878d92989ea5ada59e9691857c6f6a5f564c42392e23180c030000000000000000000000030c18222c363f48505a616a6f7980868d92979c9fa2aaa7a9a8a7a6a6a6a7a8a9a8a6a7a09d9a94908a837c746d675e574d453b32291e150a0000000000000013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b00000000000000000810181f282f353a4145474c525456595b5c5e5f5f5f5f5f5e5e5d5b585653514b46454039332d261d180f0700000000000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f0003101c28343f4a545c606262626262626262605c544a4034281c1004000000000000000000000000000000000000000000000000000001070d11141a1e20212427292a2c2c2c2c2b2a2a282522201f1c181820262b2e2f34343434343432312e29231b1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616c74818e949da4aca7a09d9992908f8f8f9192999a9e9f948f837a6d666f7c88949faaaea398928c88878886796c605346392d20130013202c3946535f6c7986929facacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a6a7a8a9a7aba39f9c98928d867f786e695f584e453b30261c1106000000000a1723303d4a5663707d89969f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b00111d2a36424e59636a6c6c6c6c6c6c6c6c6c5c554b4034291c10040000000000000000000000000000000000000000000000000000000000000000000000000000111d2a36424e59636a6c6c6c6c6c6c6c6c6c5c554b4034291c1004000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313b4854606b74808d939fa3ababa49f9b979892919192939a989d9f938f82786d7a8794abb4a094877a6d6154473a2e211407000000000815212e3a47535f6a717e8b929fa3aba69f9a938f8c89888788898c90939a9ea6a69f9691857c6f685e544a3f34281f1409000000000000000000000000000000000000000000000000000000050b10141617202020201f1e1b17120c0500000000000000000000000000000000000000000000000000000000000000091217222d38424b555c60696c6c6c6c6c6c69655e54493d323b454e585f626c6c6c6c6c6c6c65625b51463a2e221509000000000000010b151f2a36424d56606a717e889299a2aaafa49c959087817c77726f6d6668676766676768666c6f72767b80868e939fa3aaa8a09792867c6f685e544b40342820150900000000000000000000000b151e2a343e48505a626c717c848c92989fa2a9aca8a8a09e9c9a9a999a9a9b9d9fa3ababaaa69f9c95908781796e695e574d443b30261c110600000000000013202c3946535f6c7986929facacacaea9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a4978a7d7164574a3e3124170b0000000000000008111a222a313a41454c5254565d60636668696a6b6c6c6c6c6b6a69676563605d5553514b443f382f2a21191107000000000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f0006121f2c3844505c666d6f6f6f6f6f6f6f6f6d665c5144382c1f1206000000000000000000000000000000000000000000000000000000000104090e111414171a1c1e1f1f201f1e1e1d1b18161312100c0e151b1f21222727272727272524221d18110900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c66717e8b939ea6aea59d95908a86838282838486898d92979f959083786d73808d99a6b0a89f9286807c7a7b7d7063574a3d3024170a0013202c3946535f6c7986929facb9ada39b9898989898989898989898989898989899999a9c9ea1a8a9acaaa29f98928c837b6e6a5f574d42382e23170b010000000a1723303d4a5663707d8996a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1978a7d7164574a3e3124170b00121f2c3845525e6a75797979797979797976675c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000121f2c3845525e6a75797979797979797976675c5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000006121e2b37424e57636f7c87939fa5afa9a199938f8a878584848586888c90959e948d80747b8794a1ada093877a6d6054473a2d2114070000000713202c38444f59626f7c86929fa4afa49c948f87827f7c7b7a7b7c7f83878f949fa3a8a19791857a6e665c50443b31261a0e030000000000000000000000000000000000000000000000000000000004080a0a1313131312110f0b070100000000000000000000000000000000000000000000000000000000000000000006111c262f39434b51535d6060606060605c5a544c423729333c464e53555f606060606060585651493f34291e120600000000000007121d27313946525e696f7c86929aa3ababa39f928d837c756f6a6662605c545a5a5a5a5a545b606265696e747b818a9298a2a9a9a19891847a6e665c51453c31261a0e0500000000000000000007121d27303c46505a626c717e8691969fa2aaaba39f9b9796918f8e8d8d8d8d8f9092999a9ea1a9aba79f9a938d837b6e695e564c42382e23170c04000000000013202c3946535f6c7986929facb9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a978a7d7164574a3e3124170b00000000000007101a242c343c434c51565d6065686d707274767778797979787877767472706d6764605c555049413c332b231910070000000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000713202d3a4653606d787c7c7c7c7c7c7c7c786d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000020507080b0d0f11121313131211100e0b0907060400040a0f1215151b1b1b1b1b1b181815120c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884919ea5afa69d938e837d797776757677797c80858c9298958e81747683909ca9aca0958a7e736f6e6e706b6155483c2f2316090013202c3946535f6c7986929facb9a79b918b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8c8d8d8f9196979c9fa3abaaa29f9590847c6e695e544a3f34281d13070000000a1723303d4a5663707d899494949494949494949494949494949494949494949494949494949494949494949494949494948a7d7164574a3e3124170b0013202c3946535f6c798786868686868686796d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c798786868686868686796d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a76828f9aa4afaba1979287827d7a79787778797b7f838a9196928a7e7b8895a1ada093867a6d6053473a2d2014070000000916222f3b4854606b76828f98a2aea49c928c827b7672706e6e6e7072767c828b9299a3a9a1979082786d60574d42362a20150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d273139404547505353535353534f4d49423930212a343c434748525353535353534c4a463f372d23180d010000000000000c18232f3943505a616e7b859198a3acaca399928b80786f6a625f585653504a4e4d4d4d4e4a505355575e61696e757e869297a2aaaaa1969082786d60574e42372b21170b0000000000000000000c18232e39424e58616c717f8a9298a0a8aba49f99928e8a8784828180808081828486898d92979ea1a8aca49f9590847b6e685e544a3f342820150a000000000013202c3946535f6c7986929facb9a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8a7e7164574a3e3124170b0000000000040e19222c363e464e555d60686d72767a7d7f8183848585868685848483817f7c7a75706d67605b534e463d352b22190d0400000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a87888888888888877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000001030405060606050403010000000000000000030608090e0e0e0e0e0e0c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a96a0acac9f948e8179716d67696869676d70747a7f869095938a7e7885929fabaa9d9184776c6261616361594f44382c2014070013202c3946535f6c7986929facb2a5988b7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f80808284878b8f92999fa7aea79f9691847b6e665c50443a2f24180d0100000a1723303d4a5663707d87878787878787878787878787878787878787878787878787878787878787878787878787878787877e7164574a3e3124170b0013202c3946535f6c7986929393939393867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929393939393867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b88949facaea39992857d75716e686b6b666d6e72767d84909492857d8996a3aca09386796d6053463a2d201307000005111e2a36424d5663707d89949faaa79d928c80766e69656362616263656a6f767f879299a4a99f948c7f73695f53463c31261a0f010000000000000000000005080a0b1313131313131313131313131313131313131313131313131313131313131313131313130f0f0d09040000000000000000000000000000000000000000020b151f272f34383a4346464646464642413d3730271e222a31373a3c454646464646463f3e3a342d251b110600000000000004101c2934404b55616c76828f97a1aaafa49a92877e736d665f58534e4946443f41404040413f4446484d53565e616c717c859298a2aca89f948d80736a5f53473e33281c10040000000000000004101c2834404b545f6a717e87939fa2aaa9a199938e86827e7a777574737373747577797c80858b91969da5afa79f9691847a6e665c50443c32261b0f040000000013202c3946535f6c7986929facb3a79a8d80808080808080808080808080808080808080808080808080808080808080808080808080807c6f6255483c2f22150900000000020c16202b343e4850585f676d737a7f8386898c8e8f9192929292929191908e8b8986827d79716c655f584f473d342b20160c01000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a87949595959594877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576875818e9ba8afa49a8f82786d66605d555c555c6063676d727b838f9391857b8797a2ada79a8d8074675a545557554f473e33281c10040013202c3946535f6c7986929facada093867972727272727272727272727272727272737475787a7e828790959da4aea9a1969083786d60554b4135291d110400000713202d3a4653606d787a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a796d6053463a2d2013070013202c3946535f6c7986929f9f9f9f93867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929f9f9f9f93867a6d6053473a2d2014070606060606060606060504020000000000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b0ac9f92877c6f6b64615e56545c6062656c707a8290949083909daaaca09386796d6053463a2d20130700000714202d3a46525e6976828f9ca6aca0958d80736d625f575655545556585f626d727e87939fa6a69f92867b6e61584e43372b1e13080000000000000000060c111517182020202020202020202020202020202020202020202020202020202020202020202020201c1b191510090200000000000000000000000000000000000000030d151d23292c2d363939393939393635312c261e151820262b2e2f3939393939393932312e29231b13090000000000000006131f2c3845515c67707d8a949fa9b0a69f93887e716c605c544e47433c3a38342e3433342d3338393c42464d525a616a6f7c86929aa4afa69f92877b6e62594f44392d20150a0000000000000006131f2c3845515c666f7c869299a4aea8a0979187817b75716d6869676766676768676d7073797e848e939fa4aca8a0969083786d60584e43372b20150a0000000013202c3946535f6c7986929facada0938679737373737373737373737373737373737373737373737373737373737373737373737373736f6a5f53473a2e2115080000000008131e28323d46505a616a6f7a80868b909399999b9c9d9e9f9f9f9f9e9d9c9a9898928e8a847e786e6a60594f463d32281e1308000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0a2a2a194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000020608080b0e10121213131211100e0b0807050200000000000000000000000000000000000000000000000000000000000000000000000000020507080a0d0f1111121313131211100e0c0906050300000000000000000000000000000000000000000714202d3a46525e697885919eabac9f93877c6f665c54514b4f4b5153555d60696e79818f949083909da9b3a4988b7e7165584b484a48443e352c21160b000013202c3946535f6c7986929facada093867a6d656565656565656565656565656566666769686d71767c838d929da5afa89f958c7f72675d5145392c201307000006131f2c3845515c666d6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6d675c5145382c1f13060013202c3946535f6c7986929facaca093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facaca093867a6d6053473a2d20141313131313131313131212110f0d0a07060401000000000000000000000000000000000000000005111e2a36424d576976838f9ca9b1a79a8d80736a605954524c4a5053555a61676d798290959095a0abaca09386796d6053463a2d20130700000814212e3b4754616e7b87939e9fa39d9083786d605b534d49484748494e535b626c727f8c949faba3988f82756a5f53473a2f24190d010000000000000911171d2124252d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000030b12181c1f202a2d2d2d2d2d2d292825211b140c0e151b1f21222c2d2d2d2d2d2d2524221e1811090100000000000003101c28343f4a54606d7984919ea6b0aa9e948c7f736c625a504a423c37322d2c282327272722282b2d31363b42465058606a707e88939fa8aea3998f82766c6155493c31261b0f00000000000004111d2935414b55606d79839098a3aba9a09691857d746e6964615d565b5a5a5a5a555c6063666d7179818b939aa4afa89f958c80736a5f54473d32271b0f0100000013202c3946535f6c7986929facada093867a6d676767676767676767676767676767676767676767676767676767676767676767676767625f584e43372b1f1206000000010d1924303a444e58616c707c848d92989c9fa4a49f9e9c9a9a99999a9a9b9d9fa3a29f9b96918b837c706b60584e443a2f24190d020000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0adaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000104090e121415181b1d1e1f20201f1e1d1a181514120e090401000000000000000000000000000000000000000000000000000000000000000105080e11141417191c1d1e1f20201f1f1e1c1b181513120f0b060000000000000000000000000000000000000815212e3b4854616e7b8797a1adaa9d9083776a5f544b4540424045474b51575f676d78828f9590959fabb0a3968a7d7063574a3d3d3c38332c231a1005000013202c3946535f6c7986929facada093867a6d6058585858585858585858585858595a5a565d60646a6f78808d939eaab1a79e92857a6d6054473a2f24180d010004101c2834404b545c606161616161616161616161616161616161616161616161616161616161616161616161616161616161605c554b4034281c10040013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20202020202020202020201f1f1e1c1a171413110d08040000000000000000000000000000000000000714202d3a46525e697885929fabaca095877b6e61584f4746413f44464850555d676e7b85929da0a7b1aca09386796d6053463a2d20130700000c1926323f4c5965727f8c8f91929996897d70665c5047423d3b3b3b3d4347515a606c77828f99a3aa9f93877c6f62564c4135291d1104000000000009121b22292d30313939393939393939393939393939393939393939393939393939393939393939393939393635312c261e150c020000000000000000000000000000000000000001070c1013141d2020202020201c1b1915100902030a0f1215151f202020202020191815120d06000000000000000006121f2b3844505c66727f8c96a0acaea2988f82776c605a50443f38302b26201f1c171a1a1a171c1f20252a30363e464e58616c73808d96a1acab9f948a7d7064584e43372b1d120700000000000613202c3945515d67737f8c95a0aaada19791847b706b615e5754524c4e4d4d4d4e4b5153545c60676d747f88939fa5afa79f92877c6f62584e43372b1d120700000013202c3946535f6c7986929facada093867a6d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a55534e463c31261b0f0300000005111d2935414c56606a707e8691969fa2a49f9b9993918f8e8d8d8c8d8d8f9092989a9fa2a19e9590867d706a60564c4135291e13080000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0adaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000001080d11151a1e212225282a2b2c2c2c2b2b2a272421211e1a14100d070100000000000000000000000000000000000000000000000000000002080d1114191e20212426292a2b2c2c2d2c2c2b29272522201f1b17110f0a040000000000000000000000000000000916222f3c4955626f7c8895a9b3a79a8d817467584e4239352f34383a40454d555c666d7a85919d9fa7b1afa396897c706356493d302f2c28211a110800000013202c3946535f6c7986929facada093867a6d60534c4c4c4c4c4c4c4c4c4c4c4c4c4d4d4c5254585f666c78818e98a2aeada2978b7e7265554b4035291d100400000c18232e39424b51535454545454545454545454545454545454585c5c5c5c5c58545454545454545454545454545454545453514b43392e23180c000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d2d2d2d2d2d2d2d2d2d2d2d2c2b2a28262421201d1913100c07000000000000000000000000000000000814212e3b4754616e7b8798a2aeaa9d908377695e53463d393634383a3e434c555e69717e8b97a1adb9aca09386796d6053463a2d20130700000a1723303d4a5663707d80828486888a84776b60544a3f37312f2e2f31373f44505b656e7b87929faca49a8e8174685d5245392c2013080000000006111b242d34393d3e46464646464646464646464646464646464646464646464646464646464646464646464642413d3730271e140900000000000000000000000000000000000000000000040607101313131313130f0f0d09040000000003060809121313131313130c0b0906010000000000000000000713202d3a4653606d7884919ea8b2a99f92867b6e655b50483e342e261e1b1312100c060d060b0f12131a1f252a343d46505a606d7984919ea8b0a69c8f83766a5f5347392e23180c00000000000714212d3a4754606d7a85929fa7b0a69e92857b6e696059524d47464141404040414045464b51555d606d727f8b939ea9afa3998f82766a605447392f24180c00000013202c3946535f6c7986929facada093867a6d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4847433c342a20150a000000000713202d3946525d686f7c869298a0a7a099938f8a868482818080808081828486898d92989da59f9892867c6f685d52453a3024190d0100000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0acaca194877b6e6154483b2e2115080000000000000000000000000000000000000000000000070c13191d20262b2e2f3234363839393938373634312e2d2a25201d18120c0400000000000000000000000000000000000000000000000002090e13191e20252a2d2e30333537383839393938373634322f2d2b27221b1b16100b04000000000000000000000000000a1723303d4a5663707d8996a3b0a6998c7f7366594c402f2924292c2f353b434b545d68707d8a959fabb7afa396897c706356493d3023201c1610080000000013202c3946535f6c7986929facada093867a6d6053473f3f3f3f3f3f3f3f3f3f3f3f40414145474e545b666d7a85929fabb3a99c908376675d5145392c201306000007121d2730394045464747474747474747474747474747505a6264686868686865625b5147474747474747474747474747474645403930271d1207000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a3939393939393939393939393938373533312d2c29241f1c18120c060000000000000000000000000000091623303c4956636f7c8996aab4a79a8e817467574d42342d2a282b2d313a434d57606d7985929eabb8aca09386796d6053463a2d20130700000916222f3c4854606b70737577797b7d7d7063594f42382e26222122262b333f49535f6974818e9aa6ac9f92867a6d6054473a2f24190d010000000c17222d363e45494b5353535353535353535353535353535353535353535353535353535353535353535353534f4d49423930261b10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c5664707d8a96a1adada1978c7f72695e53493f3628231c140c0a060300000000000306090e1419222b343e45515d67717e8a96a0acab9f94887c6f62544b4034281c100400000006131f2b37434e5866727f8c97a2adaa9e948a7d70695f574f46423b3935303433342e34383a40454b515b626d74818e97a1adab9e94897c6f62554b4035291d1004000013202c3946535f6c7986929facada093867a6d6053474040404040404040404040404040404040404040404040404040404040404040403c3a37312a22180e0400000005121e2a36424d57616d7a859298a3a69f959087827d7a77767474737373747577797d80868e929ba3a29891847a6d60564c4135291d110400000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a87949f9f9f9f94877b6e6154483b2e211508000000000000000000000000000000000000000000030b12181e24292c31373a3b3e414345454646454443413e3b3a36312c29241d160d0802000000000000000000000000000000000000000000070c141a1e252a2d3036393b3d4042444445464646454443413f3c3937332d2b27201b160d070100000000000000000000000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f2e23181c1f24293139424c56616c7683909da9b3afa396897c706356493d302316100b05000000000013202c3946535f6c7986929facada093867a6d6053473a3232323232323232323233332f35393c424a545e68737f8c99a9b2ac9f9286796d6053473a2d2014070000000b151e272e34383a3b3b3b3b3b3b3b3b3b3b3b3b3b4956626c717575757575726d62564a3b3b3b3b3b3b3b3b3b3b3b3b3b3a38342e271e150b00000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053474646464646464646464646464645454442403d3a39352f2c28231d17110a030000000000000000000000000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f31261e1c1f2028313b45515c6673808d99aab4aca09386796d6053463a2d20130700000714202c38444f5960636669666d6f71706b6054473d30262c2c2c2b2a222d38414d57626e7b88949faba3988b7e7265554c4135291d1104000005111d29343e485056586060606060606060606060606060606060606060606060606060606060606060606060605c5a544c42372c21150900000000000002070a0c0d131313131313120908060300000000060b0e10111313131313130f07060300000000000000000000000000000000000000000000000714202d3946525e6876828f9ca8b2ab9e9185796d60574d41382d2417110a02000000000000000000000002091019222935404b55606c7884919dabb0a69a8e8174665c5145382c1f13060000000815222e3b4754606a7884919ea9b1a79c8f82756c61574d453d36302d292427272723282c2e343a4145515b606d7a85929eaab0a69b8e8275675d5145392c1f1306000013202c3946535f6c7986929facada093867a6d6053473a34343434343434343434343434343434343434343434343434343434343434342f2e2b2620181006000000000714212d3a46535f6974808d97a1a99f948f837c75706d686967676666676768666d70747a818b919ba5a1968d8074685d5245392c20130700000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a87939393939393877b6e6154483b2e2115080000000000000000000000000000000000000000060c151d23282f35393c4247484b4e50515253535251504d4b4846423b39352f281f19130c04000000000000000000000000000000000000030b12181f252a3036393b4146474a4c4f50515253535252514f4e4b4846443f3837322c272118130c04000000000000000000000a1723303d4a5663707d8996abb5a6998d807366544a403428211e1a181f27303a44505a64707d8a97a2adafa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d6053473a2d252525252525252525262724292c2f38424c56626f7b8896a1adaea399897c6f6256493c2f231609000000030c151d23282c2d2e2e2e2e2e2e2e2e2e2e2e313e4b5864717e82828282827f7265584c3f322e2e2e2e2e2e2e2e2e2e2e2d2c28231d150c0300000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d605353535353535353535353535353535252514f4d4a4745413a38342e28231c150c0700000000000000000000000b1824313e4b5764717e8a97a4b0a4978a7d7164574a3e3124171012161f2834404b54626f7c8998a3aeaca09386796d6053463a2d201307000004101c27333d474f54565a545c6062646360594f44353638393939383734312f3c47535f6a76838f9ca9aa9c908376675d5145392c20130600000815212d3945505a62646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69655e54493d3125190d0000000000070d1316191a2020202020201f1515120f0a04040b11171a1d1e2020202020201c1312100b060000000000000000000000000000000000000000000814212e3b4754616e7a87939facafa3998c7f72675d51453b2f261b1206000000000000000000000000000000071018242f3944505b66727e8b99a3aeac9f9285796d6053463a2d2013080000000916222f3c4955626f7c8896a1acaca095897c6f625a50453b332a25201d191a1a1a181c1f23282f353f45515d67727f8b98a2aeac9f9286796d6053473a2d201406000013202c3946535f6c7986929facada093867a6d6053473a2d2727272727272727272727272727272727272727272727272727272727272722211f1b150e0600000000000815222e3b4855616e7b86929fa9a1978f82796e6a64615d565b5a5a595a5a545c6063686d747f8b939ea89f92867a6d6054473a2d21140700000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a86868686868686867b6e6154483b2e211508000000000000000000000000000000000000000810181e272e343a4145474d5355585b5d5e5f5f5f5e5e5d5a5754534d474540393129251e160e0500000000000000000000000000000000050c151c232830363a4146474d525457595c5d5e5f5f605f5f5e5c5a585553504947433d383229241d160d060000000000000000000915222f3c4855626f7b8899a3afa89b8f8275665c51443a322d2b2627272628323e4653606d7985929fabafa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201919191919191919191a191d20262f3a47535f6a7885919eabb5ab978b7e7164584b3e3125180b00000000030b12181c1f20212121212121212121212734404d5a6773808d8f8f8f8e8174685b4e41352821212121212121212121201f1c18120b030000000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d606060606060606060606060606060605f5e5d5b595754514c46454039342e261e191009000000000000000000000b1825313e4b5864717e8b97a4b0a396897d7063564a3d3023170a060d18232e3a4653606d7986929facaca09386796d6053463a2d2013070000000b16212b353d44484a4d4b5153555756544f473e4143454646464543413e3a39424e5765727e8b98a7ac9f92867a6d6054473a2d21140600000a1724303d4956626c717979797979797979797979797979797979797979797979797979797979797979797979797570655a4d4135281b0f000000010a12191e2325262d2d2d2d2d2d2c22211f1b150e0e161d22272a2a2d2d2d2d2d2d29201f1c17110a02000000000000000000000000000000000000030f1b27333f495364717e8b9aa4afac9f92867a6e61554b4033291d140a000000000000000000000000000000000007121d28333f4a54616d7a86929facaea298897d706356493d2f24190d0100000d1a2633404d596673808c99a8b2aa9d9083776a6054483e332a211a14110d080d070c1013181d242935414c55606d7985929fabaea2988a7d7164574a3e2e23170b000013202c3946535f6c7986929facada093867a6d6053473a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1515120f0a04000000000004101c2934404b556673808c99a2a99e91857a6d675f5854524c4e4d4d4d4d4e4b5153565d606d75818e9ba9a2988b7e7164584b3e3125180b00000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000713202d3946525e6876797979797979797976695e52463a2d20140700000000000000000000000000000000000009121a222a303940454c5254575f626567696b6c6c6c6b6a696764615e5753514b433e35302820170e050000000000000000000000000000050e171e272e343b42464c5254565e616366686a6b6b6c6c6c6b6a69676562605b53544e48443d352f281f180f0600000000000000000714202d3a4753606d7a86929facab9e9285796d60564c443d3a373134333332323845515c6675828f9ca8afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140c0c0c0c0c0c0c0c080d11141d2b37434e58697683909ca9b2a5988c7f7265594c3f3226190c000000000000070c1013131414141414141414141a2734404d5a6773808d9a9b9b8e8174685b4e4135281b1414141414141414141313100c0700000000000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a686664605d5553514b443f38302b221b120a0100000000000000000b1825323e4b5865717e8b98a4afa296897c6f6356493c302316090007131f2c3845515c667683909da9aca09386796d6053463a2d201307000000050f1a232b33383c3d40404546484a494845474a4d505152535252504e4b4746414754616e7a8795a0aca3998a7d7064574a3d2e23170b00000b1825313e4b5864717e8686868686868686868686868686868686868686868686868686868686868686868686868275695c4f4236291c0f0000000a131c242a2f3233393939393939392f2e2b2620181720272e333637393939393939352d2b28231c140c02000000000000000000000000000000000005121f2b3744505b6575818e9bacb6a99c8f8276685e5243392f21170b020000000000000000000000000000000000010b17222d3846525d6875828f9ca8b4aa9a8d807367564c4135291d11040005111e2a36424d576976838f9ca9b5ab998c7f7366584e43362c21180f0905010000000004070c1319242f3a45515d6774818e9aa7b4aa9b8e817468544a3f34281c10030013202c3946535f6c7986929facada093867a6d6053473a2d20140d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d090806030000000000000006131f2c3845515c6777848f929797988b7f72685d554e4746414141404040414045464c525b626f7c8897a2aa9b8e8174685b4e4135281b0e02000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f0005111d2a36414c565e6c6c6c6c6c6c6c6c6c6c5e574d42362a1e1205000000000000000000000000000000000009121a242c343c434b51565d6066696e7174767878797978777674716e6965605d555046413a322920170e05000000000000000000000000050e172029303940444d52565e6165686e70737577777879797978777674726f6c65626058544f45413a312a21180f060000000000000006131f2c3945515d677783909dabada1978a7e71685e564f484742424140403f3f3f404b546673808c99a6afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000001040b1b2631424f5c6875828f9ba8b2a6998c7f7366594c403326190d000000000000000004060708080808080808080d1a2734404d5a6773808d9aa69b8e8174685b4e4135281b0e0808080808080808070604000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867979797979797979797979797979797979797878777573706d6764605c54504a423d342d241c130a01000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f2316090004101c2834404b546875828f9ba8aca09386796d6053463a2d2013070000000008111a21272c2f302e34383a3c43474b5154575a5c5e5f5f5f5e5d5a5854524c48525e687784919daaab9a8d807467544a3f34281c1003000b1825313e4b5864717e8b939393939393939393939393939393939393939393939393939393939393939393938f8275695c4f4236291c0f000007121c252e353b3f40464646464646453c3a37312a22202932393f4344464646464646423a38342e261e140a00000000000000000000000000000000000613202d394653606c7885929eabb3a9988b7f7265564c4131271d0f050000000000000000000000000000000000000006111c2935414c5665727f8b98aab4aa9d918477685d5245392c201306000714202d3a46525e697885929eabafa399897c6f6256493d32231a0f060000000000000000000108131e2935404b5564707d8a97a9b3aa9d908377665c5044382b1f12060013202c3946535f6c7986929facada093867a6d6053473a2d2014070101010101010101010101010101010101010101010101010101010100000000000000000000000714202d3a4753606d79808285878a8c86796d60564c433c393530343333342e34383a4147535f6a7885929fa99d9083766a5d5043372a1d1004000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f00010d1925303a444c525f60606060606060605f524d453b30251a0e020000000000000000000000000000000007111a242c363e464e555c60686d72777b7e818384858686858483807e7b76716d67615a524c443b332920170b0200000000000000000000040d172029323b424a51575e61686d72777a7d7f82838485868685858482817e7b78746f6a636059514b433b332a21180d0400000000000004101d2935404b5566737f8c99a3aea99e91847a6d68615955534d4f4e4d4c4c4c4b4b4c5865727f8b98a5afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000001040a1b2835424e5b6875818e9ba8b2a5988b7f7265584c3f3225190c000000000000000000000000000000000000010d1a2734404d5a6773808d9aa69b8e8174685b4e4135281b0e0200000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9a2958b86868686868686868686868686868686868685858482807d7a76716d66605c544e463f372e251c1309000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000c18232e414e5b6874818e9ba7aca09386796d6053463a2d2013070000000000080f161c2022232a313a41454e53555d606467696b6c6c6c6b6a6764615d56544f566774818d9aa7a99c908376665c5044382b1f1206000b1825313e4b5864717e8b979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9c8f8275695c4f4236291c0f00020d19242e3740474b4d535353535353524847433c342a21323b444a4f515353535353534f46443f3830261c1106000000000000000000000000000000000815222e3b4855616e7b8897a1adada197887b6e6255483b3022150b0000000000000000000000000000000000000000000d1924303c4855626f7b8898a2aeaca095877a6d6054473a2d211407000814212e3b4754616e7b8797a2adac9f92867a6d6053473a2d2014070000000000000000000000010d18242f3b4754616e7a8797a1adac9f9286796d6053463a2d2013070013202c3946535f6c7986929facada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c676d7376787b7d807f73675d51443a312d29242727262723282c3037434e586a7784919daa9e9184776b5e5144382b1e1105000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000008131e28323a41465353535353535353534846423b33291f140900000000000000000000000000000000050e19232c363e4850585f676d737a7f84888b8e90919292929191908d8a87837e79716c615e564d453b32291d140a000000000000000000010c161f29323b444c545c60696e757a7f83878a8c8f90919292939292918f8d8b8885817c76706b605d554d453c332a20160c010000000000000c18242f3b4854616e7b86929fa8ada19690827a706b65615f575c5a5a5959585858585865717e8b98a4afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140a0a0a0a0a0a0a0b070d10141b2a36414c566976828f9ca9b4aa978a7e7164574b3e3124180b000000000000000000000000000000000000010d1a2734404d5a6773808d9aa69b8e8174685b4e4135281b0e0200000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140b0b0b0b0b0b0b0b0b0a0a0907060401000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9a79d959393939393939393939393939393939399939291908e8c8a86837e79726d666058514940372e251b10070000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f2316090000071a2734404d5a6773808d9aa6aca09386796d6053463a2d201307000000000000050b1019232b343c434c52585f62676d71747678797979787674716d686360595865717e8b98a4ac9f9285796d6053463a2d201307000b1825313e4b5864717e8b97a4a5a5a5a5a5a5a5a5a5a5a5a7a9aeacacacafa9a7a5a5a5a5a5a5a5a5a5a5a59c8f8275695c4f4236291c0f0007131e2a3540495257596060606060605f55534e463c332939444d555b5d6060606060605c53504a42382e2317130a0000000000000000000000000000000a1724303d4a5763707d8a96a9b3ab9e928578695f53473a2e2114030000000000000000000000000000000000000000000813202d394653606c7985929facb1a795897c6f6256493c2f231609000916232f3c4956626f7c8995a9b3aa9e918477675d5145382c1f13060000000000000000000000000714202d3946525e687885919eabaea398887b6e6255483b2f2215080013202c3946535f6c7986929facada093867a6d6053473a2d20140c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c07060401000000000000000000000004101c2934404b555c606769696e7073736d63554b403228201d191a1a1e21262b30363e46525e697885919eab9e9184786b5e5145382b1e1205000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f00000c17232e38424a5053555555555555555553514a42392e23180c000000000000000000000000000000020d17202b353e48505a616a6f797f868c9195989a9c9e9f9f9f9e9d9c9a9795908b857e766d685e574d443b2f261b1106000000000000000007121d28313b444d565e666d727b81868c909596999b9d9e9e9f9f9f9e9d9c9a9897918d89837d746d675f574d453c32281e13080000000000000714202d3a46525e6974808d96a1a9a89f9590847d77726e696a6867666665656565646465717e8b98a4afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d6053473a2d2016161616161616171718181d20262d3946525e687784909daaaea298897c6f6356493c30231609000000000000000000000000000000000000010d1a2734404d5a6773808d9aa69b8e8174685b4e4135281b0e0200000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20181818181818181818171716151413110d080705020000000000000000000000000000000000000013202c3946535f6c7986929facb9afa7a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa49f9f9e9d9b9999928f8b857f786f6a625b514940372d22190c0300000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000000050e19222b353d464e565d606a6f747a7d8083848586858583817e7a76706b625f626f7c8995aaaea298887b6e6255483b2f221508000b1825313e4b5864717e8b979898989898989898989898989a9da4aebaafa59d9a9898989898989898989898988f8275695c4f4236291c0f000a16232f3b47525b63666c6c6c6c6c6c6c625f584e453b323f4a555f676a6c6c6c6c6c6c68605c544a3f3428251c120900000000000000000000000000000c1926323f4c5965727f8c98a5b2a99c8f837669574d42372b1e120600000000000000000000000000000000000000000006121f2b3844505b667783909daab1a4978b7e7164584b3e3125180b000a1723303d4a5663707d8996a3b0a99c90837669554b4035291d100400000000000000000000000005111e2a36414c566a7683909da9b4aa96897c6f6356493c302316090013202c3946535f6c7986929facada093867a6d6053473a2d2019191919191919191919191919191919191919191919191919191413110d0701000000000000000000000c18232f39434b51535a575e61646666635b5143392f20191d2021262b2e31373a41464f59616e7b8796a1aa9d9083776a5d5044372a1d1104000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f0003101c28343f4a545c606262626262626262605c544a4034281c1004000000000000000000000000000008141e29323d47505a616c717c848c92989da0a7a7a7a4a3a2a1a2a4a6a7a79f9d97918a827a6e695e564c41382d22170b01000000000000010d18242f39434d565e686e787f868e92999da0a7a6a8a7a5a4a3a3a4a5a7a9a7a9a19e9a94908981796e695f574d443a2f24190d04000000000005121e2a36424d57606d79849197a1a9a79f969189837f7b78767574737372727271717171717e8b98a4afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d6053473a2d232323232323232324242524292c2f38404b55616e7a86939facac9f9285796d6053463a2d201307000000000000000004060708080808080808080d1a2734404d5a6773808d9aa69b8e8174685b4e4135281b0e0808080808080808070604000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d242424242424242424242424232221201d191514120e0903000000000000000000000000000000000013202c3946535f6c7986929facb9b3a9a19e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9fa2aaa2a5a8aba39f9c97928c837c726d635b51493f342b1e150b00000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000000020c17202b343d474f585f686d747c81868a8d8f9192929291908d8b86827d766f6a616d7a8798a2aeaa968a7d7063574a3d3024170a000b1825313e4b5864717e8b8b8b8b8b8b8b8b8b8b8b8b8b8b8d929da9b5a99d938e8b8b8b8b8b8b8b8b8b8b8b8b8b8275695c4f4236291c0f000c1925323f4b57636d73797979797979786f6a5f574d443a434f5b677177797979797979756d665c504440372d241b1108000000000000000000000000000e1b2834414e5b6774818e9aa7b3a79a8d8074675a4d4131261a0e02000000000000000000000000000000000000000000030f1c28333f4a546875818e9ba8b3a6998d8073665a4d4033271a0d000b1724313e4a5764717d8a97a4b0a89b8f8275685c4f422f24180c00000000000000000000000000010d192530424f5c6875828f9ba8b0a3968a7d7063574a3d3024170a0013202c3946535f6c7986929facada093867a6d6053473a2d26262626262626262626262626262626262626262626262626262621201d18130c0400000000000000000007121d2731394045474d4d535457595957514940312720252a2d2e31373a3c42464c5259616b73808d99a9aa9b8e8175685b4f4235281c0f02000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f0006121f2c3844505c666d6f6f6f6f6f6f6f6f6d665c5144382c1f120600000000000000000000000000020b1925303b444f59616c717e8691969fa2aaa9a19e9b9796959595979a9ea1a8a9a19e948f837b6e685e53493f33271e130800000000000004101d2935404b555e696e7a838c92989fa3ababa39f9d9a9897969697989a9d9fa3ababa69f9c938e847b6e695f564c41352921160a0000000000020e1a25303b45515d676f7c8591979ea5a8a09e95908b8885838281807f7f7f7e7e7e7e7d7d808d9aa7afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d6053473a3030303030303030303031312f35393c4149515d67727e8b99a4afa79c8f8275665c5145382c1f1306000000000000070c1013131414141414141414141a2734404d5a6773808d9aa69b8e8174685b4e4135281b1414141414141414141313100c0700000000000013202c3946535f6c7986929facada093867a6d6053473a31313131313131313131313131302f2d2c292422211e1a14100b0600000000000000000000000000000013202c3946535f6c7986929facb9ada1979292929292929292929292929292929292989495989b9fa3aaa9a19e9591877f736d635b51463c30271d1207000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000008131e29323d464f59606a6f7a81878e92989a9c9e9f9f9f9e9d9a99928f89837c726d687885929faba5988b7f7265584c3f3225190c000815222f3b4855626e7c7f7f7f7f7f7f7f7f7f7f7f7f7f7f808d9aa7b4a79a8e807f7f7f7f7f7f7f7f7f7f7f7f7f7d7063574a3d3024170a000d1a2633404d59667380868686868686857c6f695e564c4344515d6a778386868686868682786d605c52493f362d231a1107000000000000000000000000101c2936434f5c6976828f9ca9b2a5998c7f7266594c3f3326190900000000000000000000000000000000000000000000000b17222d404d5a6773808d9aa6b3a89b8e8175685b4f4235281c0f000b1825313e4b5864717e8b97a4b1a89b8e8275685b4f4235281c070000000000000000000000000000081b2835414e5b6874818e9ba7b0a4978a7d7164574a3e3124170b0013202c3946535f6c7986929facada093867a6d6053473a333333333333333333333333333333333333333333333333333333332d2c29241d160d040000000000000000010b151f272f34383a404246484a4d4c4b464037292c2d3036393a3e4247484d53565e616b707d87929faca2988b7e7265584b3f3225180c00000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000713202d3a4653606d787c7c7c7c7c7c7c7c786d6053463a2d201307000000000000000000000000000a141d2a36414c56606b717e879298a0a8a8a19e97928e8b898888898a8d91969ea1a8a69f9591847a6e655b50443a2f24190d0000000000050f1a232c3945515d676e7b8490959fa2aaa9a19e9992908d8b8a89898a8b8d9092999ea1a9aba59e9691847b6e685d52453d32271b0f03000000000009141f2935414b555f6a6f7c858f939c9fa4a79f9d989892908f8d8d8c8c8b8b8b8b8a8a8a8d929da9afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d6053473d3d3d3d3d3d3d3d3d3d3d3e3e3f4045474e535b606d7984919eababa0958a7d7164544b4034281c100400000000030b12181c1f20212121212121212121212734404d5a6773808d9aa69b8e8174685b4e41352821212121212121212121201f1c18120b030000000013202c3946535f6c7986929facada093867a6d6053473e3e3e3e3e3e3e3e3e3e3e3e3e3d3d3c3a39352f2e2d2a261f1c17110a020000000000000000000000000013202c3946535f6c7986929facb8ab9e9285858585858585858585858585858585858687898b8e92989fa2aaa7a099928b7f736d62584e43392e23180c000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000010d1925303a444e58606b707c848e939a9fa2aaa9a8a4aba39fa3aba39f9c9490877f746d7784919daaa69a8d8073675a4d4034271a0d000814212e3a47535f6a6e72727272727272727272727272727d8a96a3b0a3978a7d72727272727272727272727272706b6155483c2f231609000a1623303d495663707d87929a93939791847b6e685e554b424d5a6774808d93939393938e81746e635b51483f352c231910060000000000000000000000101d2a3643505d697683909ca9b1a4978a7e7164574b3e3124180b0000000000000000000000000000000000000000000000061926323f4c5965727f8c98a5b2a89c8f8275695c4f4236291c0f000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2834414e5b6774818e9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3a39352f281f160c010000000000000000030d151d23292c2d31363a3b3d40403e3b352f35393a3d4146474a4d5355575f61686d747d869299a3a79f92867a6d6154473a2e21140700000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a87888888888888877b6e6154483b2e21150800000000000000000000000006111b262f3846525e68707d879299a3aaa49d96918a85817e7d7b7b7c7d80848a91969fa7a7a0968f82776c60564c4135291c1106000000000b16212c38444f59606d798390969fa7aea59d97918c8683817e7d7d7d7d7e8083868c91979ea5ada8a09691847a6d60594f43382c1f14090000000000020d18242f3a434e585f6a6f7a82898f93999c9fa2aaa29f9d9b9a999998989898979797979a9da4aeafa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d605349494949494949494949494a4a4b4c4b5153585f656c74808d96a1aca4999083786c605346392e23180c00000000030c151d23282c2d2e2e2e2e2e2e2e2e2e2e2e34404d5a6773808d9aa69b8e8174685b4e41352e2e2e2e2e2e2e2e2e2e2e2d2c28231d150c0300000013202c3946535f6c7986929facada093867a6d60534b4b4b4b4b4b4b4b4b4b4b4b4b4a4a49484745413f3b3a36312b28231c140c0701000000000000000000000013202c3946535f6c7986929facada093867978787878787878787878787878787878797a7c7f82868c92989fa7aba39f918b7f726a60554b4034281d12070000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000005111d2a36414c56606a707d8691969fa4acaaa29f9b979599929994979a9e9f99928c81787683909ca9a79b8e8174685b4e4135281b0e0006121e2b37424e575f6265656565656565656565656565707d8a96a3b0a3978a7d706565656565656565656565656361594f44382c201407000916222f3b4854606b717e88939fa4a19691847a6d675d544a4653606c78818e949fa69d938d80736d635a50473e352b22180f0600000000000000000000111e2a3744515d6a7783909daab0a3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a99c908376695d5043362a1d10000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d60534c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4745413a31281d1307000000000000000000030b12181c1f20252a2d2e3133332f34383a4045474a4c525457575f6265696e737a81889298a2a8a0958d8073685d5246392d20130700000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a87949595959594877b6e6154483b2e2115080000000000000000000000000b17222d38414f59616e7a859299a3aba49c928d847e787471706f6e6f7173787d8490959fa8a89f948c7f72685d5245382d22170b00000004101c27333c4854606b74818e95a0a8ada39c938e857f7b777472717070717274777a7f858e939ca4ada9a0968e81746b6054483b31251a0e02000000000007131d28313c464e585f686d757c82878b8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abacb5afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d6056565656565656565656565657575859555d60646a6f77808d929da8a59f93877d70655b5044372b1d1207000000000b151e272e34383a3b3b3b3b3b3b3b3b3b3b3b3b404d5a6773808d9aa69b8e8174685b4e413b3b3b3b3b3b3b3b3b3b3b3b3a38342e271e150b00000013202c3946535f6c7986929facada093867a6d6057575757575757575757575757575757565554514c4c4846423b38342e261e18120b030000000000000000000013202c3946535f6c7986929facada093867a6d6b6b6b6b6b6b6b6b6b6b6b6b6b6b666d6d6f72757a808590959fa6aea49f92877c6f675c5145392e23180c0000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000040f19232d3946525e686f7c869298a1a8aba39f98928e8a88878686888a8e92979f9f938d8075828f9ba8a89c8f8275695c4f4236291c0f00020e1a26313c454e535558585858585858585858585863707d8a96a3b0a3978a7d7064585858585858585858585857554f473e33281c1004000713202c38444f59616c727f8b929ca5a0969083796d665c5349505b666d78828f959fa59c928c7f726c625a50473d342a21180e05000000000000000000111e2b3844515e6b7784919eaaafa396897c706356493d3023160a00000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1aa9d9083776a5d5044372a1d11000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d605959595959595959595959595959595959595959595959595959595959595954514b433a2f24180d0100000000000000000001070c1013141a1e2124293036394045474b515357565e616467696e72767b80858d939aa2a79f969183796d60564c4135291d110500000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0a2a2a194877b6e6154483b2e2115080000000000000000000000030f1b27333f4953616b75828f97a1aba49c918c8079716c66646362626264666c707a839096a0aca69f92857a6d60544a3f33281c0f0300000714202c38444f5963707d89939ea7aea49c918c817a726e686765646363646567686e737a818c919ca5afa89e93897c6f63574d42362a1e12050000000000010c161f2a343c464e565e616b6f757b7f8285888a8c8d8f8f9090919191919292929292999ba3acafa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d636363636363636363636363636364646668676d71757c828d929da4a49f938c7f726b6053493f33271b0b0000000007121d273039404546474747474747474747474747474d5a6773808d9aa69b8e8174685b4e474747474747474747474747474645403930271d1207000013202c3946535f6c7986929facada093867a6d64646464646464646464646464646464646362605d555855534d46443f383029231d150d0500000000000000000013202c3946535f6c7986929facada093867a6d605f5f5f5f5f5f5f5f5f5f5f5f5f5c60616265686d737b838f949fa7afa3999183796d60544b4034281c100400000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000a16212c38444f59616d7a849198a2aaaaa299928d85817d7b7a79797b7d81858b92979d928a7e818e9ba7a99d9083766a5d5043372a1d1000000915202a333c4247484c4c4c4c4c4c4c4c4c4c4c5763707d8a96a3b0a3978a7d7064574c4c4c4c4c4c4c4c4c4c4a48443e352c21160b000004101c27323d47505a626d73808c929da59f958f82786d655b504a545c666d79839096a0a49c918b7e716c61594f463c332a20170d040000000000000000121f2b3845525e6b7885919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0aa9e9184776b5e5144382b1e11000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6666666666666666666666666666666666666666666666666666666666666666605d554b4135291d1104000000000000000000000000040610181f272f353b41464b5153555d606467686d7174777b7f83888d92989fa4a39f9590847b6e675d51443a3024190d0100000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0adaea194877b6e6154483b2e211508000000000000000000000005121f2b3744505b65707d8a939ea9a79d928c7f746d67605b5456555556545b60686d7984919da6aea2988c7f72665b5044382b1f120600000916222f3c4854606b7783909da5afa89d928c7f746d68615e56585756565758565e61686d747f8c939da9afa59c8f8276695e53463a2d211407000000000000040d18222a343c444c52596063696e7276797b7d7f81828383848484848585858585868b909ba7afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867970707070707070707070707070707071717274767a7d82878f949da4a099938c80746d63594f41382d22170b000000000c18232e39424b515354545454545454545454545454545a6773808d9aa69b8e8174685b545454545454545454545454545453514b43392e23180c000013202c3946535f6c7986929facada0938679717171717171717171717171717171717170706f6d676865615f5753504a423d342f271f170e05000000000000000013202c3946535f6c7986929facada093867a6d605352525252525252525252524a50535456565e61696e78828f95a0acaba0958b7f72665c5145382c1f130600000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000030f1b27323c4855606b75818e96a1aaaaa2989287807a75716e6d676d6e7074797f858f949e9185818e9ba8aa9d9084776a5d5144372a1e110000030e18212a31373a3b3f3f3f3f3f3f3f3f3f3f4a5763707d8a96a3b0a3978a7d7064574a3f3f3f3f3f3f3f3f3f3d3c38332c231a10050000000b16212b353e48515b636e74808e939ea69f948e81776c605b514b545d676d7a849196a1a39f92877e706b60584e453b322920160d0300000000000000121f2b3845525e6b7884919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0aa9d9184776a5e5144372b1e11000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada09386797272727272727272727272727272727272727272727272727272727272727272726d675d5145392c201306000000000000000000000000071019222a313940454d52555c6064676d7074777a7d8184888c90959a9fa2a39f98928c837b6e695e554b4032281e13080000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0adaea194877b6e6154483b2e21150800000000000000000000000613202d394653606c7883909da6aca0958d80736d605c55504a4a4848494a50565d676f7d89949facaa9e9185786c605346392d2013060004101c2834404b5463707d8995a0acaca0968d80736d605d56524d4b4a4a4a4a4b4c52565d606d74818e97a2adab9f94877b6e6154483b2e211507000000000000050e171e252a323a41464f54575e6165666d6f717374757676777777787878787879797e8b98a4afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facb0a396897d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d7d7e7f8183868a8e93999f9f9d9590877f746e645b51473d2f261b110600000004101c2834404b545c606161616161616161616161616161616773808d9aa69b8e817468616161616161616161616161616161605c554b4034281c10040013202c3946535f6c7986929facb1a4978b7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7d7d7c7b7a7875726e6964605c544f454039312920170e050000000000000013202c3946535f6c7986929facada093867a6d605347454545454545454545453f444647494c52575f666d7a83919da6b0a79e9184796d6053463a2d20130900000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000007131f2c38444f5963707d89939ea8aea29892867d746d686462605d606164676d727a828e93979185929facaa9e9184776b5e5144382b1e11000000060f1820262b2e2f3232323232323232323d4a5763707d8a96a3b0a3978a7d7064574a3d3232323232323232302f2c28211a110800000000050f19232c363f49525c606c78818f949fa69e938d80746d635a504b555e686e7b849197a2a39992867d706a5f574d443b32281f150c03000000000000111e2b3844515e6b7784919eaab0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a99d9083766a5d5043372a1d10000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb2a6998c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f796d6054473a2d2114070000000000000000000000061019232b343c434b51565e61676d71757a7d8084868a8d9196989d9fa7aba399928e867f796e695e574d43392f20160c020000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0acaca194877b6e6154483b2e2115080000000000000000000005111e2a36424d5763707d8a95a0aca69d9083786d605b514b443f3d3c3b3c3f444c55606b7683909c9f9e9d97897c6f6256493c2f2316090006131f2c3845515c6675818e9ba7b1a99e9184796d605b524c46413f3e3d3d3e3f41464c525b606d7a85929fabb0a6988c7f7265594c3f2f24180d0100000000020c1720293036393a3e3f44484d5354545c606264666768696a6a6a6b6b6b6b6c6c6c717e8b98a4afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facb9a5998f8989898989898989898989898989898a8a8b8c8e9092989b9e9c9995908a837d726d645c53493f352b1d140a0000000006131f2c3845515c666d6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e73808d9aa69b8e81746e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6d675c5145382c1f13060013202c3946535f6c7986929facb9a69a908b8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89888784827f7b76716d666059514b433a322920160c0300000000000013202c3946535f6c7986929facada093867a6d6053473a38383838383838382e34383a3a3c41464d545d686f7c89949eaaada1968a7d7064574a3d31251a0e02000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000915222f3b4854606b7683909da5afa69f92867d706b605d565554515355555d60686d78818e94989298a2aeab9e9184786b5e5145382b1e1200000000060e151a1e21222525252525252525303d4a5763707d8a96a3b0a3978a7d7064574a3d31252525252525252423201c16100800000000000007111a242d374044505b666d79828f95a0a59d928c7f726c625a504c565e696e7c859298a2a39892867c6f695f564d443a31271e150b020000000000111e2a3744515d6a7784909daab0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1a99c8f8276695c504336291d10000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9a89c918c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c877b6e6154483b2e21150800000000000000000000030c18222b353d464e555d60686e73797e82868a8d90939a9a9ea0a8a9abb1ac9f9287817b736d665e574d453b31271d0e04000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a87949f9f9f9f94877b6e6154483b2e211508000000000000000000000714202d3a46525e6976828f9ca7ab9f94897d70665c50454039332d2f2f2d333a434f5964717e8b989291908f8c7f7366594c403326190d000713202d3a4653606d7985929facada1978a7e71675d5145413a36303130303130363a4145525d68737f8c99a9b3a89c8f827569554b4035291d10040000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f65717e8b98a4afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facb9aba199969696969696969696969696969696969797999b9d9f9e96918f8c88837e78706b625b534a41372e23190b02000000000713202d3a4653606d797a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a808d9aa79b8e817a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a796d6053463a2d2013070013202c3946535f6c7986929facb9aca29a97979797979797979797979797979797979797969596918f8b88837e78706b605c554c443a32281e150a00000000000013202c3946535f6c7986929facada093867a6d6053473a2d2c2c2c2c2c2c2c23282b2d2e30363b424c56606b75828f9cabb2a89b8e817568574d42362a1e1205000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700030f1c28333f4a54636f7c89959fabab9f948b7e716a6059524c48474546484b51565e666d788290989fa2aab4ab9e9185786b5e5245382b1f12000000000003090e1214151919191919191924303d4a5763707d8a96a3b0a3978a7d7064574a3d3124191919191919171614100b05000000000000000008121b2528333f4a545c676d79839096a0a49c918b7e716c61594f4d575f6a6f7d869299a3a29891857b6e685e564c433930261d140a0000000000101d2a3643505d697683909ca9b1a5988b7e7265584b3f3225180700000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3a89b8f8275685c4f4235291c0f000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9ada39c999999999999999999999999999999999999999999999999999999999999999994877b6e6154483b2e211508000000000000000000000b151e2a343d474f585f676d737b80858a8f92989a9d9fa4a39f9fa4aba4a7a79a8d807b756f6a605c544a42382e23170c03000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a87939393939393877b6e6154483b2e211508000000000000000205070814212e3b4754616e7b87939facaa9c9083766b60544a3f342f282222222228313d4855616e7b878685848483817f7265584b3f3225180c00091623303c4956636f7c8998a2a5a69e9285796d60554b40352f2a2524232324252a2f35414c56626f7c8897a1adab9e918578675d5145392c201306000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525965727f8c98a5afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facb9b3aba5a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a4a4a5a7a99e948f84827f7b76716c656059514941382f251c110700000000000a1723303d4a5663707d87878787878787878787878787878787878d929da99e938e87878787878787878787878787878787877e7164574a3e3124170b0013202c3946535f6c7986929facb9b4aca6a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a3a3a8a19e9b9894908a847d746d675e564c443a30261c1106000000000013202c3946535f6c7986929facada093867a6d6053473a2d201f1f1f1f1f1f171c1f2021252a303a434f5964707d8a99a3afab9e928578695e53463a2d211407000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070006121f2b3844505b6674818e9ba7b1a79c8f82766c62584f45413b3a393a3b40454c545c666e7b86929facb4b7ab9e9184786b5e5145382b1e1200000000000000020608080c0c0c0c0c0c1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170c0c0c0c0c0a0907040000000000000000000000091317222d38424b555d676d7a849197a1a39f92877e706b60584e4e58606a707d87929aa4a19791847a6e685d554b42382f261b1106000000000f1c2835424f5b6875818e9ba8b3a6998c807366594d402f23180c00000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4a79a8e8174675b4e4134281b0e000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9b5ada8a6a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a194877b6e6154483b2e21150800000000000000000007121c27303c464f59606a6f7980868d92979c9fa3a8a09e9a9992939995989b9f9d928d87827c736d665c544a3f34281e150a000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a86868686868686867b6e6154483b2e211508000000000002080e1114141d2935404b5565727f8c99a4aea2988a7e7164594f42382e231d17191917212d3a46535f69767b7a7978777675726d62564a3d3124180b000c1926333f4c5966727f8c969798999a8d8174665c5143392f241e1917171717191e24303a4653606c7985929eabada197867a6d6053473a2d20140700000005111d2a36414c565e6164656768696a6b68655d534840414243434444444545454d596673808c99a6afa295897c6f6256493c2f2316090000000000000013202c3946535f6c7986929facb9afa7a2a09f9f9f9f9f9f9f9f9f9f9f9f9fa0a1a2a4a6aaa89c8f827e7a736e6964605b534f473f372f261d130a0000000000000a1723303d4a5663707d89949494949494949494949494949494949a9da4aea59e9b949494949494949494949494949494948a7d7164574a3e3124170b0013202c3946535f6c7986929facb9afa7a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa0a0a1a2a5a8aba8a69f9c95918981796d685e564c42382e23170c030000000013202c3946535f6c7986929facada093867a6d6053473a2d201412121212060b10121314191e28313d4754606d7a86929facada297877b6e6154483b2e211508000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000613202d394653606c7985929eabaca095897c6f635a50463d35302d2c2d2f353a424a545e6973808d9aa4afb7aa9e9184776b5e5144382b1e11000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000006111c262f39434c555e686e7b859197a2a39992867d6f6a5f574d4e58616b717e88939fa4a09690837a6d675d544a41382d22170b060000000d1a2734404d5a6773808d9aa6b3a89b8e817568554b4034291c100400000000000000000000000000000000000000000005121e2a36424d576976838f9ca9b2a5988c7f7265594c3f3226190c000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9afa7a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f94877b6e6154483b2e2115080000000000000000000c18232e39424e58606b6f7c848c92989fa2a7a09d9996918d8a868687888b8e92989f9a948f8780786d665c50443e30261c11060000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000713202d3946525e6876797979797979797976695e52463a2d20140700000000050d14191e2021252c3845515d6776838f9cabac9f9285796d6053463d3026252525252525252a36424d575f696e6d676b6a696865625b51463a2e221509000e1b2835414e5b68748188898a8b8d8e8b7e7164544b4031271d130e080a0a080e131f2b3744505b657683909da9b3a994887b6e6155483b2e2215080000000713202d3946525e686d71727374767778756f65594d3d323536373737383835404b556774818e9aa7b2a995887b6e6255483b2f2215080000000000000013202c3946535f6c7986929facb9a79d95939393939393939393939393939393949597999d9f9e948f8a85807b726d605c544a42392e2318140b010000000000000a1723303d4a5663707d8996a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a7a9aeb6afaaa8a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1978a7d7164574a3e3124170b0013202c3946535f6c7986929facb9a79d959393939393939393939393939393939393949496989b9fa2a9aba7a09d938e837a6d685e544a3f342820150a0000000013202c3946535f6c7986929facada093867a6d6053473a2d2014070505050000030607080c16202c3945515d677783909daab3a9968a7d7063574a3d3024170a000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000916232f3c4956626f7c8997a2adaa9d9083776b6054483f34292421202024293039424d57616e7b87939facb7aa9d9184776a5e5144372b1e11000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000a141d27303a434c565f696f7c859298a3a39892857c6f695e564c4f59616c727f8b929ca5a0959082796d665c53493f332722170c0000000c1925323f4c5865727f8b98abb5aa9d908477675c5145382c1f13060000000000000000000000000000000000000000000714212d3a46535f697885929fabb4aa968a7d7063574a3d3024170a000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9a79d95939393939393939393939393939393939393939393939393939393939393939393877b6e6154483b2e211508000000000000000004101c2834404a545f6a6f7d8691969fa2a69e9c95908c8884807d7a797a7c7e81858c92989e99938c81786d605a5042382e23170c0000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f0005111d2a36414c565e6c6c6c6c6c6c6c6c6c6c5e574d42362a1e1205000000050e171f252a2d2e32323a4753606d7986929faca89b8e8275675c51453832323232323232323230313b454d575e61605d555d5c5b585651493f34291d1206000714212d3a4754606d7a7b7c7d7f8081827b6e6155483b2e22150b0100000000030f1b27333f49536975828f9ca8aea295887b6f6255483c2f2215090000000714212e3a4754616d7a7e7f8081828485817568584e43372e2c2823282c2f3945515d677783909daaada196877a6d6054473a2d2114070000000000000013202c3946535f6c7986929facb9a2958b86868686868686868686868686868787888a8d90959a9f9c98928d867e756d665c544a40342820160a000000000000000a1723303d4a5663707d89969f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa6a8aeb6afa9a79f9f9f9f9f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b0013202c3946535f6c7986929facb9a2958b86868686868686868686868686868686868788898c8e92979da0a8aca59d9590837a6d665c50443c31261a0f0300000013202c3946535f6c7986929facada093867a6d6053473a2d20140700000000000000000004111d2935414c556975828f9ca8b1a4988b7e7165584b3e3225180b000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000c1925323f4c5865727f8b98a9b3ab998c7f7266594f43362d2219141313181e27303b46525e697683909da9b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000020b151e28313a444d575f6a6f7d869299a3a29791847b6e685e554b505a626d73808d939da59f948f82786d655b50443e34281d11050000091623303c4956636f7c8999a4afac9f9286796d6053473a2d22170b0000000000000000000000000000000000000000000815222e3b4855616e7b8897a2adaea298887b6e6155483b2e221508000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9a2958b868686868686868686868686868686868686868686868686868686868686868686867b6e6154483b2e211508000000000000000006121f2c3844515c666f7c859298a0a8a19e948f89847f7b7774706d6c6d6f7174797f869195a09f938e81746c61544a3f34281c100300000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f00010d1925303a444c525f60606060606060605f524d453b30251a0e020000020d1720293036393b3f3f3f495663707c8998a3aeaa988b7e7265554b403f3f3f3f3f3f3f3f3f3f3d3c383b454d535453514b51504f4b4a463f372d23180d01000613202c3945515d676d6e7071727374756e695f53463a2d2114030101000205080f17222d424f5b6875828e9ba8b5ab95887b6e6255483b2f2215080000000815212e3b4854616e7b878c8d8e8f909184786a6054473f3a38342e34383a404b55606d7a86929facab9e918578675d5145392c2013060000000000000013202c3946535f6c7986929facada0938679797979797979797979797979797a7a7b7e8083888d9299a19f98928b81786d665c51443d32271b0f030000000000000a1723303d4a5663707d89939393939393939393939393939393939a9da4aea59d9b939393939393939393939393939393938a7d7164574a3e3124170b0013202c3946535f6c7986929facada0938679797979797979797979797979797979797a7b7c7f81858b91969fa4aca79f959082786d60584e43372b1f140900000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000010d19242f414e5b6874818e9ba7b2a5988c7f7265594c3f3226190c000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000e1b2834414e5b6774818e9aa7afa399897c6f6356493d32231b100806070c151e2a36424d576774808d9aa7b3a99c8f8276695c4f4336291c10000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000030c161f29323b454e58606b707e87929fa3a19691847a6d675d5145515b636e74818e939ea69e948e81776c605a5045392d21150800000714202d3a4753606d7a86939facaea399897d706353493f33271b0f030000000000000000000000000000000000000004111d2935414c5565717e8b98a9b3ac9f9285786d6053463a2d201307000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867979797979797979797979797979797979797979797979797979797979797979797976695e52463a2d20140700000000000000000713202d3a4653606d78839197a2a8a097928a827c77726e6967636060616265676d727b839196a19d938a7d70665c5044382c1f120600000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000008131e28323a41465353535353535353534846423b33291f140900000008141f29323b4146474c4c4c4c5966727f8c99aaaea398887b6f62554c4c4c4c4c4c4c4c4c4c4c4c4948443d3b4246484745404443423f3d3a342d251b1106000004111d2935414c555d6062636465666869615f574d42362a1e120d0d0e090e121419212b37434e58697683909ca9aea399877a6d6154473a2e2114070000000714212d3a46535e697884919a9b9c9d96897c6f625a504a464440434044464b515c67717e8b98a3aeaa9b8f827568554b4135291d11040000000000000013202c3946535f6c7986929facada093867a6d6c6c6c6c6c6c6c6c6c6c666c6d6e6f7173777b80879196a1a29f938e81786d60584e43382b20150a0000000000000a1723303d4a5663707d86868686868686868686868686868686868d929da89d938e86868686868686868686868686868686867e7164574a3e3124170b0013202c3946535f6c7986929facada093867a6d6c6c6c6c6c6c6c6c6c6c6c6c6c666d6d6e6f7275797e848d939aa4afa79f948d80736a5f53473b31261a0e02000013202c3946535f6c7986929facada093867a6d6053473a2d20140700000000000000000000081b2734414e5a6774818d9aa7b2a6998c7f7366594c403326190d000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700101d293643505c6976838f9ca9ac9f92867a6d6053473a2d201407000000030c1a25303f4b5865727e8b98a5b1a89b8e8275685b4f4235281c0f000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000040d172029333c464f59616c717e8b919ca4a0969083796d60534749525c606d78818f949fa69e938d80736c6156493d3024170a00000613202c3945515d677784909daab4ab9a8d8073655b5044372b1f140a000000000000000000000000000000000000010c13202c3945515d6775828e9ba8b5a89c8f8275665c5044382b1f1206000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e574d42362a1e12050000000000000006131f2b37434e5865727f8c95a0a9a09691857d766f6b66625f575753535455555d60696e7a84919ea59e9184786d6053463a2d20130800000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000006111c2630383f444649494949494949494644403930271c12070000020e1925303b444d5254585858585b6875828e9ba8ac9f9286796d605858585858585858585858585856544f473d363a3b3a39352f363532312e29231b1309000000010d19242f3a434c5154555657585a5b5c55534d453b31261a1a1a1a1b1b1a1e21252a333b4754606a7884919eabac9f9286796c605346392d20130600000005121e2a36424d576774818e9aa6a9a89b8e81756c605c5453514a504a5153555d606d7983919daaaea2988b7e7165584b3e2f24180d010000000000000013202c3946535f6c7986929facada093867a6d606060606060606060605b606061626466696e747c849196a1a59e938d80736a6054473c31261a0f0200000000000916232f3c4855616b707979797979797979797979797979797979808d9aa69b8e817979797979797979797979797979797979716c6155493c3023170a0013202c3946535f6c7986929facada093867a6d606060606060606060606060605c6061616365676d71798088939fa5afa69f92877c6f62574d42362a1e1205000013202c3946535f6c7986929facada093867a6d6053473a2d20140700000000000000000004101c2834404a546875828e9ba8b2a5988c7f7265594c3f3226190c000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700111e2b3744515e6a7784919daaab9e918578675d5145392c1f130600000000091724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000050e17212a343d474f59626c727f8c929da89f958e8175685b4e4244505c666d79828f95a0a59d928b7e7164584b3e3125180b000004101d2935404b556773808d9aa9b3ab9e9184786c6053463c2f261b1106000000000000000000000000000000000007131d28333f4a54606d7a86929facb1a7988b7f7265544a3f34281c1003000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d60606060606060606060606060606060606060606060606060606060606060605f524d453b30251a0e02000000000000000815222e3b47545f6a7784919ea7a39891847b706b63605955534d4a474647484b51575e68707d8a96a1a1968a7e7164574b3e2f24190d01000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f00000c17232e38424a5053555555555555555553514a42392e23180c000005111e2a36414d565e6165656565656a7784909daaaa9d9083776665656565656565656565656565656360594f44382d2e2d2c292429282524221d181109010000000008131e28313a41454748494a4c4d4e4f4846423b332923272727272728252a2d30363c454e58626f7c8896a1adab9c908376655b5044372b1f1205000000020e1a25313c4855626f7c88949faaaa9e938a7e726d6662605c545d545c6062676d75808d95a0aca99f92867a6d6154473a2e211407000000000000000013202c3946535f6c7986929facada093867a6d6053535353535353534a505354545557575f616a6f7b84919ea7a59f92877c6f62584e43372b1f120600000000000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c73808d9aa69b8e81746c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d2114080013202c3946535f6c7986929facada093867a6d6053535353535353535353534a5153545556555d60676d747f8c939daaaea3998e8275695f53463a2d211407000013202c3946535f6c7986929facada093867a6d6053473a2d2014070606000104060708090b141f2c3844515c667683909ca9b1a4988b7e7165584b3e3225180b000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700121f2b3845525e6b7885919eabaa9d9084776a554b4035291d1004000000000b1824313e4b5764717e8a97a4b1a5998c7f7266594c3f3326190c000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000060f18222b353e47505a636d74808d9aa7a79d9083766a5d50433f4a545c676d7a84909daaa4998c807366594d4033261a0d0000010d18242f3d495663707c8997a1adaca196897d7063584e41382d22170f06000000000000000000000000000000071118242f3844505b66717e8b98a2aeaca095887b6e6155483b2e23170b00000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d60535353535353535353535353535353535353535353535353535353535353534846423b33291f140900000000000000000916222f3c4955626f7c8896a0ac9f92867c6e696159544f4847423d3a393a3c40454d56606c7884919ea89b8f827568554c4135291d1104000000000000000000000000000000000408101d2a3643505d697683908f8275685c4f4235291c0f0003101c28343f4a545c606262626262626262605c544a4034281c1004000714202d3946525e686e7272727272727985929faca89b8e8275727272727272727272727272727272706b6054483c3126201f1d181d1c181815120d06000000000000010c161f282f35393a3b3d3e3f4041423b3a36312c2f3034343434343531363a3b41464e57606a74808d9aa8aea3998c7f726653493f33271b0f03000000000915212e3b47535f6a76828f98a2aea59f92877f78726f6d666a696a666d6f7379818d929da7aca2978d8074685d5246392d201307000000000000000013202c3946535f6c7986929facada093867a6d6053474646464646463f44464747484b4d53585f69707d8a959faba3998f82766a5f53473a2e211408000000000004101c27333d474f55566060606060606060606060606060606773808d9aa69b8e817468606060606060606060606060606060575550483e33281c11040013202c3946535f6c7986929facada093867a6d6053474646464646464646464044464748494b51555d606d74818e98a2aeab9f93877b6e6155483b2f24180d010013202c3946535f6c7986929facada093867a6d6053473a2d2014131313070d10131414151a1d27303a4653606d7985929fabb2a896897c706356493d3023160a000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700121f2c3945525f6c7885929faba99c908376695d50432f24180c00000000000c1825323f4b5865727e8b98a5b5ab978a7e7164574a3e3124170b000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000007101a232d373f44505c666d7983909da9a59d9083766a5d5043434c565e696f7c85929faca3998c807366594d4033261a0d0000000713202d3a4653606d7985929eacb2a89c8f82756a5f53493f332721180f0802000000000000000000000003091119232935404b55606c7884919daab3a99d908477695f53463a2d1c110600000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d60534746464646464646464646464646464646464646464646464646464646463b3a36302921170d0200000000000000000b1825323e4b5865717e8b98a8a79a8d81746a5f574f48443d3a37312d2d2e2f353b44505b6574818e9ba79e928578675d5145392c2013060000000000000000000000000000050c1114171d2a3643505d697683908f8275685c4f4235291c0f0006121f2c3844505c666d6f6f6f6f6f6f6f6f6d665c5144382c1f1206000814212e3b4754616e7a7f7f7f7f7f7f7f8c98a2aea99c8f827f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7d7063574e42372b1e13100c070f0c0b0906010000000000000000040d161e24292c2d2f3031323335362e2d2a32383b3d404040404141424246484c525860696f7c87929faca99f92867b6e6155483b2d22170b000000000006121f2b37434e58626f7c86929fa4aca399928b837f7b797777767777797c80858e939da4aea49a92857a6d61564c4135291d1105000000000000000013202c3946535f6c7986929facada093867a6d6053473a393939392d3338393a3b3c3e42464e57616c7683909da9ab9f94887b6e6255483b2f2215060000000000000b16212c353d44484a53535353535353535353535353535a6773808d9aa69b8e8174685b53535353535353535353535353534a49453e362c22170c000013202c3946535f6c7986929facada093867a6d6053473a393939393939392e34383a3a3b3c40454b515b616d7a86929facafa4998c7f7366554b4035291d10040013202c3946535f6c7986929facada093867a6d6053473a2d202020202020181d20202122252a2f39434d57636f7c8998a2aeaca196877b6e6154473b2e211408000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700121f2c3945525f6c7885929faba99c908376695d50432f24180d01000000000c1926333f4c5966727f8c99a5afa399887c6f6255493c2f221609000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000060f19222c363f49525c606d78828f959fa69d938c807366594d424b555e686e7b859198a2a49a92867d706356493d3023160a00000006121f2c3844505c6673808d9aa4afaa9e94887c6f655b50443d332a2219140e09060400000100000406090e141a232b353d45515d67717e8a95a0acada2978b7e7265574d42362a1e0a0000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a393939393939393939393939393939393939393939393939393939392e2d2a251f170f050000000000000000000d192633404c5966737f8c99a6a3968a7d7063584e453e38322e2b262020212429333f49536673808d99a6a197877a6d6054473a2d211407000000000000000000000000000810171c2123242a3643505d697683908f8275685c4f4235291c0f000713202d3a4653606d787c7c7c7c7c7c7c7c786d6053463a2d201307000714202d3a4753606d7a868b8b8b8b8b8c919caab4ab9f948f8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b84776a5f53473a2e2114080000020000000000000000000000000000040c13191d202122232425272829222b353d4448494d4d4d4d4e4e4f4d5354565e616a6f7b849199a3aba1978d8174695f53463a2d1b11060000000000030f1b26323c47535f6a717e8b939aa2aaa39f95918c8886848483838485898c92979ea5aaa39f93887d70685e52443a3024190d01000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d2d2d2d22282b2d2d2e2f31363c45505a65727f8c98a5b0a6998c7f7366594c402d22170b00000000000005101a232c33383c3d464646464646464646464646464d5a6773808d9aa69b8e8174685b4e464646464646464646464646463e3c39332c241a1005000013202c3946535f6c7986929facada093867a6d6053473a2d2d2d2d2d2d2d23282c2d2e2e2f35394046525e6873808d99a9b3ab9d908377675d5145392c2013060013202c3946535f6c7986929facada093867a6d6053473a2d2d2d2d2d2d2d24292c2d2e2f30363b424b555f6974818e9aaab4ab9e918478695e52463a2d201407000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700121f2b3845525e6b7885919eabaa9d9084776a554b4035291d1004000000030f1b27333f49536773808d9aa6ac9f92867a6d6053473a2d201407000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000050e18212b343e48515b636e74818e949ea79e948e81746e63574b4a545d676d7a849197a1a49f93887e716b6054483b2f22160900000003101c28343f4a54616e7b87939fabb0a69c9083776c60584e453c342a251e1a1312100c070e070c1013131a1f262a353d47505a606d7984919ea7b1a99f9285796d6053473b31261a0e0000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d21201e1a140d05000000000000000000000d1a2633404d596673808c99a6a295887c6f6255493c332c27211e1d2024292d333b434e586774818d9aa7a994887b6e6155483b2e22150800000000000000000000000008121a22282d3031323643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a87888888888888877b6e6154483b2e211508000613202c3945515d6775828f98989898999ca3adbcb0a69f9c98989898989898989898989898989896887b6e6255483b3025190e02000000000000000000000000000000000001080d111314151617191a1b1c27323d474f54565a5a5a5a5a5b5c575e6164686d747c859196a0aaa39992857a6e61574d42362a1e0a000000000000000a15202b37434e58616c727f8892989fa3a7a09d99999291909090919298999ea2a9a69f98928b7f726c61564c4132281e130800000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d202020171c1f20212122262a333e4955626f7c8895a2afa99c8f82766953493f33271b0f0300000000000008111a21272c2f30393939393939393939393939404d5a6773808d9aa69b8e8174685b4e4139393939393939393939393931302d28221a120800000013202c3946535f6c7986929facada093867a6d6053473a2d202020202020181c1f20212224292f35414c56626f7c8897a2adac9f9286796d6053473a2d2014070013202c3946535f6c7986929facada093867a6d6053473a393939393939392f35393a3b3b3d42464d545c676e7b87929facb1a79a8d817467574d42362a1e1105000b1825323e4b5865717e8b98a4aca295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700111e2b3744515e6a7784919daaab9e918578675d5145392c20130600000005121f2b3744505b6576838f9ca9aa9d908477675c5145382c1f1306000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000040d17202a333d47505a626d73808c939da69f958f82786d605b5244505c666d79839096a0a59c928b7f726c61594f44382c201307000000000c17232e3846535f6975828e99a3afab9f948b7f726a60574e463e36302a25201f1c181b1a1b181c1f20262b31363f474f59616c74808d96a1adada2978d8073675d5145392a1f14090000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d2020202020202020202020202020202020202020202020202020201514120e090200000000000000000000000c1925323f4c5865727f8b98a9a396897c706356493d332b262324292c2f35383f444d56606a7683909da9a399877a6e6154473b2e211408000000000000000000000008121a242c33393c3e3f3e43505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a87949595959594877b6e6154483b2e2115080004101d2935404b5565717e8b99a49f9fa5a7adb5bbb2aaa4a19f9f9f9f9f9f9f9f9f9f9f9f9f9fa8998c7f7266564d41362a1e11050000000000000000000000000000000000000001040607080a0b0c0d13202c38444f596063676767676768686a696e71757a81879197a0a8a19892877d6f685e52453b31261a0e00000000000000040f1a26313c46505a636d727e868e92999da0a8aba39f9e9d9c9d9e9fa2aaaaa29f9b948f867e726d62594f443a3020160c0200000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d2014130b0f12131414151a212e3b4754616e7a8794a1adab9e928578655b5044372b1f1205000000000000000810161c2023232d2d2d2d2d2d2d2d2d2d2d34404d5a6773808d9aa69b8e8174685b4e41352d2d2d2d2d2d2d2d2d2d2d2423211c1710080000000013202c3946535f6c7986929facada093867a6d6053473a2d2014131313130c1012131415181d25303a4653606c7985929fabafa399897c6f6256493c2f2316090013202c3946535f6c7986929facada093867a6d60534746464646464646464640454747484a4d52575e666d79829099a3afab9f95897c6f6356493c30251a0e02000b1825323e4b5865717e8b989f9f9f95897c6f6256493c2f23160900000d1a2733404d5a6673808d999f9f9f9386796d6053463a2d20130700101d293643505c6976838f9ca9ac9f92867a6d6053473a2d20140a0000000613202d394653606c7985929fabac9b8e817468554b4034291c1004000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000030c161f29323c464f59616c727f8b929ca5a0969083796d665c5049525c606d78828f959fa69e938d80736d625a50473d32271b10030000000006111c2a36424d57626e7b87929fa8b0a69f92877c6f695f585046413b36312d2c282327272723282c2d31373b42465159606b717e8a929da8b1a79f92857a6d61554b4035291d10040000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d2014131313131313131313131313131313131313131313131313130807050200000000000000000000000000091623303c4956636f7c8997a1a5988b7e7265594f453d3731302f35393a40454950565e686f7c89959fac9f9286796d6053463a2d2013070000000000000000000008121a242c363e45494a4c4a46505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0a2a2a194877b6e6154483b2e21150800010d18242f3a4754616d7a86939393939a9da5afb5aaa0989593939393939393939393939393939393908376685e5246392d2014070000000000000000000000000000000000000000000000000000000916222f3b4854606b707373737374747576787b7e82868e9299a1a39f9791867e716b60564d4133291f140900000000000000000a15202a343e48515b636c717b81878c919597999c9d9e9e9f9f9f9e9d9b9998928e89827b716c625b51473e32281e0e040000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140c0c0c0c0c0c090e13202d3a4653606d798693a0acac9f9286796c605346392d2013060000000000000000050b10141617202020202020202020202734404d5a6773808d9aa69b8e8174685b4e41352820202020202020202020171714110c05000000000013202c3946535f6c7986929facada093867a6d6053473a2d2014070606000004060707070c131f2b3844505b667683909ca9b5ab978a7e7164574b3e3124180b0013202c3946535f6c7986929facada093867a6d6053535353535353535353534b5153545557575e61696e78818e949fabafa59d9083776b6054483b2f1f140900000b1825323e4b5865717e8b9393939393897c6f6256493c2f23160900000d1a2733404d5a6673808d939393939386796d6053463a2d201307000e1b2834414e5b6774818e9aa7afa399897c706356493d30261c110a080a111c28343f4a54626f7c8898a2aea49a8a7e7164574b3e2f23180c00000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000020b151e28313b444e58606b707e87929fa4a19791847a6d675d544a515b636e74818e949ea79e948e81776c605b51483e352b21160b0000000000000e1a26313b47535f6974808d96a0abaea39991857b6e6a615a524c46423c3a38342e3434342e34383a3c42474d535b626b707d86929fa4aeaaa0958b7f72685e5243392f24180d010000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d20140d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0b0a080500000000000000000000000713202d3a4653606d7985929ea99c8f82766b60574f47433e3d3d4045474b51535b60686e7a84919ea7a99d908376665c5145382c1f130600000000000000000008121a242c363e48505557585651505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0adaea194877b6e6154483b2e21150800000713202d3946525e687682868686868e929da9b0a4988e888686868686868686868686868686868686887b6e6154473b2e2114080000000000000000000000000000000000000000000000000000000a1623303d495663707d808080808181828385878b8f92999fa09e99928d857c716c61594f443b3021180d030000000000000000030e18222d363f49515a61696e747b8084888b8d8f90919292929291908e8c8985817c766e69615a51493f352c20160c000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20191919191919191a1a1c222d3a4754606d7a8793a0adafa399877a6d6054473a2d211407000000000000000000000407090a1313131313131313131a2734404d5a6773808d9aa69b8e8174685b4e4135281b1313131313131313130b0a08040000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000030f1c28333f4a546875828f9ba8b2a5988b7f7265584c3f3225190c0013202c3946535f6c7986929facada093867a6d606060606060606060606060555d6061626466696e737b828e939ea6b0a79e938a7d7063594f44382c200d0200000b1825323e4b5865717e868686868686867c6f6256493c2f23160b0301071a2733404d5a66738086868686868686786d6053463a2d201307000c1825323f4b5865727e8b98a9b2ab998c7f7266594f42382e231a1615141c232c3844505c6673808d9aaaac9f93877a6d6154473a2e21140700000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000a141d27303a434d565f6a6f7d869299a3a29892857b6e685e554b505a626d73808c939da69f958f82786d655b50493f362c23190f0400000000000009141f2b37424d57606d79849199a4afaba19791847c706c615e56534d494644404141414141404546494d53575f616d727d869298a2aeaca2989083786c60564c4131281d1207000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a171714110c0500000000000000000006121f2b3844505c6673808c96a19f94897d70696059534e4b49494b5153555d60656c717a839096a0aca2978c7f7265544b4034281c1004000000000000000008121a242c363e48505a616465625b515d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0adaea194877b6e6154483b2e211508000005111e2a36414c5666707679797979818e9aa7aea195887c79797979797979797979797979797979797976685e5246392d2014070000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c8d8d8d8d8e8f909298979c9c9a9896918d86807a6f6a615a50473d32291f0f060000000000000000000006101b242e373f4850575e61696e73777b7e80828484858686858583827f7d79756f6b625f5750483f372d231a0e04000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d252525252525252626262b2d333c4855616e7b8894a1aeaea399867a6d6053473a2d201407000000000000000000000000000006060606060606060d1a2734404d5a6773808d9aa69b8e8174685b4e4135281b0e0606060606060606000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000b17222d414e5b6774818e9aa7b2a5998c7f7266594c3f3326190c0013202c3946535f6c7986929facada093867a6d6c6c6c6c6c6c6c6c6c6c6c6c6c676d6e6e7073767b80858f949ea5afa8a0958e81756b6155473d32271b0f0000000b1724313d4a56626c71797979797979796f6a6054473b2e231c150c0b121826323f4b58636e737979797979797976665c5044382c1f1206000916222f3c4955626f7c8897a1adaa9d9184776b60544a3f342b26232222262e35414c56606d7985919eabaa9d908376685e5246392d20130700000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000006111c262f39434c565e696e7c859298a3a39992867c6f695f564c4f59616c727f8b929ca5a0969083796d665c53493f372d241a110700000000000000030e1a26313c45515d676f7d87939fa4aea9a19691867e756e68615e575653514a4e4e4d4e4e4b515356575f62696e767f879298a2aaafa49a92867c6f665b50443a301f160c01000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d27272727272727272727272727272727272727272727272727272727272423211c171008000000000000000003101c28343f4a54606d7a849199a49e91847b6f6b625f58585656555d6064676d71787e859095a0a8a49e92857a6d6154473a2e23180c000000000000000008121a242c363e48505a616c71726d625b5d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0acaca194877b6e6154483b2e2115080000010d1925303a44545e66696c6c6c75818e9ba8ada194877a6e6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b5e564d41362a1e11050000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c999a9a9a9b9b9d9fa29f94908d8b8884807b746d68605850483e352b20170d00000000000000000000000915202b353f474e524d52575f62666a6e71737577787879797978777573706d67636059534d46423c332a1f140900000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a323232323232323233333137383f444f5964717e8b97a4b1ac9f928679675d5145392c1f1306000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa69b8e8174685b4e4135281b0e0200000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140700000000000000000000061b2834414e5b6774818e9aa7b2a6998c7f7366594c403326190d0013202c3946535f6c7986929facada09386797979797979797979797979797979797a7a7b7d8082868c92979fa6afa79f969183796d60594f44352b21160b0000000915212e3a45505a62656c6c6c6c6c6c6c6260584e443d342e271e18151d2329333c47525c63666c6c6c6c6c6c6c6c5c544a3f34281c1003000613202d394653606c7884919eabaca095897d70665c50443f37312f2e2f30383f46525e68717e8b97a1ada3988b7e7265564c41362a1e110500000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000000000091217222d38424b555d686e7b849197a2a39f92877d706a60574d4e58606b707e87929fa4a19791847a6d675d544a41382d251b120800000000000000000009151f2935404b55606b727f8b929da4ada9a198928a817a746e696562605c545b5a5a5a5b545c606266696e747b828b9299a2aaaea39f93887e706a5f544a3f32291e0d0400000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a34343434343434343434343434343434343434343434343434343434343431302d28221a120800000000000000000b17232e3845525d68707d87939aa19691847d746f6a6764636366676d70757a7e838b9297a0a7a49c928b7e71685d5246392d1d12070000000000000008121a242c363e48505a616c717e7f726d6257697683908f8275685c4f4235291c0f000714212e3a4754616d7a87949f9f9f9f94877b6e6154483b2e211508000008131e28323a4146545a5d60606875828f9ba8ada093877a6d606060606060606060606060606060606054524d443b3025190e020000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5a6a7a7a8a9aba99c9083807e7c77736e69615e564e463e362c23190e0500000000000000000000010e1a26313d4751595e5f6060605e575f626466696a6b6b6c6c6c6b6a686663605d6060606055534d453c31261a0e02000000000000000000000013202c3946535f6c7986929facada093867a6d6053473f3f3f3f3f3f3f3f3f3f404142464a5057606b75828f9ca8b5aa9d9184776a554b4035291d1004000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa69b8e8174685b4e4135281b0e0200000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140700000000000000000205101c2834404b556875828f9ba8b2a5988b7f7265584c3f3225190c0013202c3946535f6c7986929facb9a2958b868686868686868686868686868686868687888a8c8f92999fa2a9aba39f9590847b6e675d51473e3323190f0400000005111d29343f4850565860606060606060605e56544f444039302a211f272f343e454d53555d60606060606060605f504a42382e23170c000005121f2b3744505b6574808d9aa6b0a89d9083786d605a5047433d3c3b3c3d424a505b616d7a85929ea9ab9f92867a6d6154473a3025190d0100000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000000007101b2428333f4a545c676d7a839096a1a49c918b7e716b61584e4d565f6a6f7d869299a3a29891857b6e685e554b42382f261b130900000000000000000000030d18242f3a434f59626d74808d929ca3adaaa29f938e86807b76726f6d6669686767676869666d6f72777b81868f949fa3ababa39f918c7f726c61584e42382d20170d0000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d605347404040404040404040404040404040404040404040404040404040404040403e3c39332c241a10050000000000000006111c2935414c56606b717e8892989f969188817c777471707073767a7d81858b91959ea1a9a29f928d80736c61564c4135291d0b0000000000000008121a242c363e48505a616c717e878b7f72695e697683908f8275685c4f4235291c0f000714212e3a4754616d7a87939393939393877b6e6154483b2e21150800010d1925303a444c52545757575c6875828f9ba8aca09386796d60575757575757575757575757575755544e46413b32291f1408000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c999f9fa0a1a2a4a6aa9e9185817e7a746e69605c554d443d342c241a1107000000000000000000000004111d2a36424e59636a6c6c6c6c6b636059585a5c5d5e5f5f5f5f5e5d5b575f626a6c6c6c6c6c5f574d42372b1e1205000000000000000000000013202c3946535f6c7986929facada093867a6d60534c4c4c4c4c4c4c4c4c4c4c4d4e4d53545b6069707d88939facb3a99b8e8174685b4e412f24180c00000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa69b8e8174685b4e4135281b0e0200000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140c0c0c0c0c0c0c0c090e1116202c3845515c677683909ca9b6ac978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9a79d959393939393939393939393939393939393949597999c9fa3abaca49f99928d837b6e695e554c41352c21110700000000010c18222d363f454a4b5359636a6c6c6c6c6b636059514a423c332a2a3139404550575f626a6c6c6c6c6c5f574d53443f3830261c11060000030f1b27333f4953626f7c88949eabab9f958c7f726c625a534e4a4948484a4e545c606d75818e97a1ada3998d8074685d524639291e13080000000000000000000002070a0c0d0908060a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a00000000000000000000000000000000040f19222d363e44505b666d79828f95a0a59d928c7f726c62594f4c565e696e7c859298a2a39892867c6f695e564c433930261d140a01000000000000000000000007131d28313d47515b606c77808c919ea1a9aea59e98928d87837f7c79777674747474747677797c7f83888e92999fa6aea8a199928b7f736d635a50463c2f261c0e050000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4a49453e362c22170c00000000000000000d19242f3a444f59626c717e868f949c9a938e8883807e7c7c7f83868a8e92989da0a7a39f97928a80736e645a50443a3024190d00000000000008121a242c363e48505a616c717e879292867b6e61697683908f8275685c4f4235291c0f000714212e3a4754616d7a86868686868686867b6e6154483b2e2115080005111d2a36414c565e61646464646875828e9ba8aca09386796d6464646464646464646464646464646260584e43372b20170d02000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c939393939495979a9d9f97918e8b85817b736d675e564d453b30271d1207000000000000000000000006121f2c3845525e6a757979797978706b605c544d5151525353524b515a61696e777979797976695f53463a2d211407000000000000000000000013202c3946535f6c7986929facada093867a6d60585858585858585858585859595a575f61666c717b84919aa4afada2978a7e7164574b3e3124180700000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa69b8e8174685b4e4135281b0e0200000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201919191919191919191a191e2028323a4653606d7986929facafa49a897c6f6356493c302316090013202c3946535f6c7986929facb9afa7a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa0a1a1a3a6a8a6a8a09e9a938f8780796e695e574d433a2f231a1000000000000006111b242d343a3d3e525e6a757979797978706b605c544d453f36333c434b515a61696e777979797976695f53463a342e261e150a000000000b17222d3847535f6a75828f99a3afa79f92877e716c625f5857565555575860666d737f8c939ea9a89f92867b6e61564c413529170d02000000000000000000070d131619191515120f1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000000a16212b343e48515b606c78818e949fa69e938d80746d635a504b555d686e7b849197a2a49992867d706a5f574d443a31281e150b02000000000000000000000000010c161f2b353f44505b656c747f8a92979ea6acaaa29f9a93908c898684828181808181828486898c90959a9fa3ababa49f9691877e736d635b51473e342a1d140a000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a575550483e33281c11050000000000000008131e28323d47505a626c717b82898f92999b95908d8b89898c8f92999b9fa2a9a29e99928e857e736e645c52483e32281e13080000000000050e1a242c363e48505a616c717e879292867d70695e697683908f8275685c4f4235291c0f000713202d3946525e6876797979797979797976695e52463a2d201407000713202d3946525e686d717171717174818e9ba7ada093877a717171717171717171717171717171716f6a6054473c31261a0e02000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f868686868687888a8d90959a9e9b98928d8680796e695f574d43392e23180c03000000000000000000000613202c3946535f6c7987868686847d736d665f5751464146454d555c606c717b83868686867b6e6155483b2e221508000000000000000000000013202c3946535f6c7986929facada093867a6d65656565656565656565656566666769696e72787e859196a1acb1a79f9285796d6053473a2d20140700000000000000000000000000000000000000000000010d1a2734404d5a6773808d9a9a9a8e8174685b4e4135281b0e0200000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d2525252525252525252627252a2d323a444e5863707d8998a2aeac9f93867a6d6154473a2e2114070013202c3946535f6c7986929facb9afa7a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9d9b999796918c87827c736d675e574d453b31281e11080000000000000009121b22292e3946535f6c7987868686847d736d665f575146413e454d555c606c717b83868686867b6e6155483b2e231c150c030000000006111b2b37434e58626f7c87929fa6aea39992877e766f6a666462616263666a6f78808c919ca5aaa0968c8073695e53443a302419050000000000000000010a12191e23252622211f1b1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000030f1b27323d47505a636d74808d939ea69f948e81786c605b514a545c676d7a839096a1a49f93877e716b60584e453b32281f160c030000000000000000000000000000040d192327333f49535b606d737d858f949da0a7acaca49f9c989892918f8e8d8d8d8e8f919298999d9fa7acaca69f99938d847d716c635b51493f352c22180b02000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6767676767676767676767676767676767676767676767676767676767676767676764615a5045392d21140800000000000000010c16202b353f48505a61696e767d8287929fa09d9a979696999c9fa3a9a29f9b97928d86817a716c635c524a40362d20160c0200000000020d17202c363e48505a616c717e879292867d706b6057697683908f8275685c4f4235291c0f0005111d2a36414c565e6c6c6c6c6c6c6c6c6c6c5e574d42362a1e1205000714212e3a4754616d7a7e7d7d7d7d7d828f9ca9b1a4988b7f7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f62574d42372b1e1205000000000000000000000000000000000000000000000000000000000c1825323e4b57636d72797979797a7a7b7e8083888d9399a09f99928c837b6e695f554b4034281f140900000000000000000000000b1825323e4b5865717e8b9296918780786e69625b524c4550575f676d747e869095948d8074695f53463a2d211407000000000000000000000013202c3946535f6c7986929facada09386797272727272727272727272727272737476787b7f848a9297a1a8b2a9a0958c7f72675d5145382c1f130600000000000000000000000000000000000000000000010d1a2734404d5a6773808d8d8d8d8d8174685b4e4135281b0e0200000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a32323232323232323232333330363a3e444c565f6a75818e9baab4aa9d918477685d5246392d2013070013202c3946535f6c7986929facb9a79d959393939393939393939393939393939399929291908f8d8a8784807b756f6a605c554d453b33291f160c0000000000000000000911181d25323e4b5865717e8b9296918780786e69625b524c4550575f676d747e869095948d8074695f53463a2d21110a030000000000000f1b26313c47535f6a73808c949fa7aba399928b827c7773706f6e6f7073777c838d929ca3aba2989184796d60574d4232281e130800000000000000000a131c242a2f32332f2e2b262024303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a00000000000000000000000000000007131f2c38434f59616c727f8c929da5a0959082796d665b5044505b666d79828f95a0a59c928b7f726c61594f463c332920160d0400000000000000000000000000000000071017222d384149505b636b707b828990959c9fa4acaca9aaa39f9d9c9b9a9a9a9b9c9d9fa3aaaaababa39f9b948f878079706b625a514940372e231a100600000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada09386797373737373737373737373737373737373737373737373737373737373737373737373716c6155493c3023170a0000000000000000040d19232d363f49515a61696e757b818e9aa7aaa7a4a3a3aba39f9c9997928e8a85807b746d68615a524a40382e241b0e04000000000008141f29323e48505a616c707e879291857c6f6b646464697683908f8275685c4f4235291c0f00010d1925303a444c525f60606060606060605f524d453b30251a0e02000714212d3a4754606d7a868a8a8a8a8a8f949fabb3a79b918b8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8377695f53463a2d211408000000000000000000000000000000000000000000000000000001020a16222f3a46515b63666c6c6c676d6e6f7173777c81879195a0a39f9590847b6e675c51453b30251a0e02000000000000000000000b1724313d4a56626d73808c9399938d837b726d615e56515a61696e79818a9298958f82786d60574d42372b1e1205000000000000000000000013202c3946535f6c7986929facb2a5988b7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f80818384888b91959fa2a9afa8a1979083796d60554b4035291d100400000000000000000000000000000000000000000000000a1724303d4a5763707d80808080807e7164574a3e3124170b0000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473f3f3f3f3f3f3f3f3f3f3f3f404142464750565d686f7c87939facb0a69a8d807367564c4135291d11050013202c3946535f6c7986929facb9a2958b86868686868686868686868686868686868685858382807e7b77736e69625f58514b433b332921170d0400000000000000000000060c1724313d4a56626d73808c9399938d837b726d615e56515a61696e79818a9298958f82786d60574d42372b1e1200000000000000000a15202b37434e58606d78828f959fa6aba39f948f8883807d7c7b7b7d7f838990959ca4aba39992867c6f675d51453b3120160c020000000000000007121c252e353b3e403c3b37322a24303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000915222f3b4854606b717e88939fa4a19690837a6d675c544a4653606c78818e949fa69d938c80736d625a50473d342a21170e0500000000000000000000000000000000000006111b262f383f44515961696e757d83898f939a9c9fa2aaa7a8aaa9a7a7a7a7a7a9a9a8a6a9a29e9b99928e88827c746d676059504840372e251c11080000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb3a79a8d8080808080808080808080808080808080808080808080808080808080808080808080807e7164574a3e3124170b00000000000000000915202a333f48515b636c717b81878e939da9acaba49f9d999992908c8985817d79746e69615e56504840382e261c12090000000000020e1925303b44505a616c707e879291847c717171717171717683908f8275685c4f4235291c0f000008131e28323a41465353535353535353534846423b33291f140900000613202c3945525d6876828f979797979c9fa6b0b7aca39b9897979797979797979797979797979795887b6e6155483b3025190e0200000000000000000000000000000000000000000407090a0d0e0f10121e2a353f495157596060555d60616264676a6f747c839095a0a7a0969083796d60574d42362a1e1205000000000000000000000915212e3a45505a636e74818e939f9590867e756d68605c606c717b838e939f969083796d665c50453c31261a0e02000000000000000000000013202c3946535f6c7986929facb9a79b918b8b8b8b8b8b8b8b8b8b8b8b8b8b8c8c8d8f9196989da0a7adaba59e9691857b6e675c5143392f24180c0000000000000000000000000000000000000000000000000916232f3c4855616b707373737373716c6155493d3023170a0000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d60534c4c4c4c4c4c4c4c4c4c4c4c4c4d4e4d52545a61686d7a83909aa4afac9f94887c6f6255493c3024190d010013202c3946535f6c7986929facada093867979797979797979797979797979797979797878777573716e6966625f57534e454039302920170f050000000000000000000000000915212e3a45505a636e74818e939f9590867e756d68605c606c717b838e939f969083796d665c50453c31261a0e0200000000000000030f1b26313c44505c666d7a8390949fa4aca69f9c95908c8a8988888a8c90959d9fa7a8a19992877e716a5f554b4033291f0e0400000000000000020d19242e3740464b4c4847433c3429303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000091623303c4956636f7c86929a93939791847b6e685d554b424d5a6673808d93939393948e81746e635b51483e352b22180f0500000000000000000000000000000000000000000a141d262d3340474f575e616b70777d82878b8f9298989a9b9d9e9e9f9f9f9e9d9d9b999797928e8a86817c766f6a605d554f473e362e251c130a000000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8174675b4e4134281b0e01000000000000020e1a26313c45505a636d727e868e939a9da5a39f9c9993908c898683807c7975706d66615e57524c443e362e261c140a00000000000005111e2a36414d56616c707e879292867f7e7d7d7d7d7d7d7d7e83918f8275685c4f4235291c0f0000020c1620283036394646464646464646463b3a36302921170d02000004111d2935414c5665727e8b9aa49f9fa1a3a9b1bbb5aca7a49f9f9f9f9f9f9f9f9f9f9f9f9f9fa7988c7f7265564c41362a1e1105000200000000000000000000000000000000050b101416171a1b1c1d1e1f232e373f464b4c53534b5153545557585f626a6f7a839097a1a8a0958d8074695e52463a2d2014090000000000000000000005111d29343f48525b606d78818f959f98928b827a706b676d747e8690959d9891847b6e675d544a3f332a1f140900000000000000000000000013202c3946535f6c7986929facb9ada39b989898989898989898989898989899999a9c9ea1a8aaacaaa69f9c938e847c6f695f554b4031271d12070000000000000000000000000000000000000000000000000714202c38444f596163676767676764615a5045392d2114080000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6058585858585858585858585858595a5a565e61656c707a829095a0acafa49a8f82766a5f53473b2e1e1308000013202c3946535f6c7986929facada093867a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a686664615e5755534d47433c342e271e170e050000000000000000000000000005111d29343f48525b606d78818f959f98928b827a706b676d747e8690959d9891847b6e675d544a3f332a1f14090000000000000000000a152028343f4a545d686d7a828d939a9fa6aba7a09d999795949596999d9fa7aba39f9691877e716c61584e43392f21170d000000000000000007131e2a35404952575955534e463f35303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000c1925323f4c5865727f868686868686857c6f695e564c4343505c69768286868686868682786d605c52493f362c23191006000000000000000000000000000000000000000000020b141b2227353e454d525960636b70757b7e8285888b8d8f9091929292929191908e8c8a8885817e7a746f6a626058514b433d352d241c130a01000000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f06060606060000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a8e8174675b4e4134281b0e0100000000000006121e2b37424e57626d727f8a92989fa4a29f99928f8b8683807d797673706d6664605c54534d46413a322c241c140a020000000000000714202d3946525e68707e87929999928c8a8a8a8a8a8a8a8a8a91958f8275685c4f4235291c0f000000050e161e252a2d2e39393939393939392e2d2a251f170f05000000010d19242f3b4754616e7b879393939394979fa9bcaea49c9993939393939393939393939393939393908376685e5246392d20140c070f0b0a080500000000000000000000000810161c202324262728292a2b2c202e353a3e3f464640454747484b4e535860686d7a85929ea9a79f92877b6e6154483b31261a0e02000000000000000000010c18222d364044505c666d79829095a09f938f857d746f79818a9298a09992867c6f695e554b42382e21180e0300000000000000000000000013202c3946535f6c7986929facacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a6a7a9a9a7aca49f9d99948f89817a6f6a5f574d43392e1f150b0100000000000000000000000000000000000000000000000004101c28333e474f55575a5a5a5a5a575550483e33281d11050000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d656565656565656565656565656566666769696e72777d8590949fa7b1a79f93877c6f62584e43372b1f0c02000013202c3946535f6c7986929facada093867a6d6060606060606060606060606060605f5f5e5d5c5a5754524d4847423c373128231d150c050000000000000000000000000000010c18222d364044505c666d79829095a09f938f857d746f79818a9298a09992867c6f695e554b42382e21180e03000000000000000000030c17232e38424c565d686d78808790949b9fa2aaa8a6a3a2a1a2a3a6a8a9a29f99928d847d716c615a50463c31271d0f0500000000000000000a16232f3b46525b6366625f585146413a3d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000b1824313e4a56626d72797979797979786f6a5f574d443a414e5a667076797979797979756d665c504a40372d241a11070000000000000000000000000000000000000000000000020a1117232c333b42464f54596063696e7276797c7e808283848585868585848382807d7b7975716d68625f58544e45403a312b231b120a0100000000000000000000000b1825313e4b5864717e8b97a4aca89b8e8175685b4e4235281b0f13131313130c06060300000000010e1b2734414e5a6774818d9aa7aca4978b7e7164584b3e3125180b0013202c3946535f6c7986929facacacaea9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69a8e8174675b4e4134281b0e010000000000000814212e3a47535f6a717e8b919fa2a69f98928d87827e7a7673706d676663605c5453514b46423b363029201c17110a020000000000000814212e3b4754616e7b859299a3a39f9793939393939393939393938f8275685c4f4235291c0f00000000050c13191d20212d2d2d2d2d2d2d2d21201e1a140d0500000000000814202d3a46525e69768386868686878d97aab4a89c928c8686868686868686868686868686868686887a6e6154473b2e211c181c1b171714110c05000000000000000008111a21282c2f30333435363738392d2c282f3233392f35393a3b3c3e43474e565e68717e8b97a1ada3998d807367574d42362a1e12050000000000000000000006111b2428343f4a545d676d7a839196a19e979188807b838e929fa29f93877d706a5f574d433a30261c0f060000000000000000000000000013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa49f9f9f9e9d9c9a999a93908d88827d756d685f584e453c30271d0d0300000000000000000000000000000000000000000000000000000b16212c353e44484a4d4d4d4d4d4a49453e362c22170c000000000000000000000000000000000000000013202c3946535f6c7986929facada093867972727272727272727272727272727272737475787b7f838a91979fa6b0a79f958d80746a6054463c32261b0f00000013202c3946535f6c7986929facada093867a6d605353535353535353535353535353535252504f4d4b4846423b3a37312b262018120b030000000000000000000000000000000006111b2428343f4a545d676d7a839196a19e979188807b838e929fa29f93877d706a5f574d433a30261c0f06000000000000000000000006111c26303a434c565d666d737c83898e9298999b9d9e9f9f9f9e9d9b9997928d87817a6f6b615a50483e342a1f150b0000000000000000000c1925323e4b57636d736f6a625b524c443d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000915222e3a46515b62656c6c6c6c6c6c6c625f584e453b323e49545e66696c6c6c6c6c6c69605c544a3f382e251b1208000000000000000000000000000000000000000000000000000006111a202930363d44484f54565e6165666d6f7174757778787979787877767573716f6d6664605d56534e47433d352f281f191109000000000000000000000000000b1825313e4b5864717e8b979f9f9f9b8e8175685b4e4235281b1320202020201913120f0b060000010e1b2734414e5a6774818d9a9f9f9f978b7e7164584b3e3125180b0013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8e8174675b4e4134281b0e01000000000005111e2a36424d57626e7b86929fa3a59e949086807b75716d686663605d555653504a464540393631302e2d2b28231c140c0400000000000714202d3946525e68717e87929999928a8686868686868686868686868175685c4f4235291c0f000000000002080d11131420202020202020201514120e090200000000000005111e2a36424d56667176797979797b8798a3aea6998c8079797979797979797979797979797979797976685e5246392d2c292329282423211d17100800000000000005101a232c33383c3d404142434445453a38342e27262d24292c2d2e2f31373d444c56606c7885919eabab9e918478695f53463a2d2114070000000000000000000000091217232e38424b555d686e7b849197a2a19a938d8890959da59d928b7f726b61584e453b31281e140a000000000000000000000000000013202c3946535f6c7986929393939393939393939393939393939393939a93929291908f8e8c898683807b76706b615e564e463c332a1e150b00000000000000000000000000000000000000000000000000000005101a232c33383c3d40404040403e3d39332c241a1005000000000000000000000000000000000000000013202c3946535f6c7986929facb2a5988b7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f80818285878b90959ea1a9aea69f959083796d60584e43342a20150a00000013202c3946535f6c7986929facada093867a6d6053474646464646464646464646464645454442403e3b3a36302e2b261f1b150c0700000000000000000000000000000000000000091217232e38424b555d686e7b849197a2a19a938d8890959da59d928b7f726b61584e453b31281e140a000000000000000000000000000a151e28313a444c545c606a6f767c8185898c8e909192929292918f8c8985807b746d68605950483e362c22180d030000000000000000000d192633404c5966737f7c726d615d564f444a5763707d8a96a3b0a3978a7d7064574a3d3124170a00000000000000000000000000000006121e29343f495156586060606060605f55534e463c332938424c545a5c6060606060605c53504a42382e261c130900000000000000000000000000000000000000000000000000000000080e171f252a33383d44484d5254545c60626567686a6b6b6c6c6c6b6a6a68666462605c5454524c47433c383229241d160d0700000000000000000000000000000b1825313e4b5864717e8b93939393938e8175685b4e4235281f202c2d2d2d2c26201f1c17110a02000e1b2734414e5a6774818d93939393938b7e7164584b3e3125180b0013202c3946535f6c79869293939393939393939393939393939393939393939393939393939393939393939393939393939393938e8174675b4e4134281b0e0100000000000714202d3a46525e6975828e98a2a89e938e827b736e6964615e565653514b4946443f3a3e4041403e3d3b3a38342e261e160d040000000005111e2a36414d56616c717e879392867e797979797979797979797979756f65594d4134281b0e00000000000000010507071313131313131313080705020000000000000000020e1925303b44555f666a6c6c6c6c7985929faca89b8e81756c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b5e564c413b3a38342f363531302d28221a120800000000000b16212c353e44484a4d4e4f505152524644403930271c181d20202122262b323a44505b6674818e9aa7ada196887b6e6155483b2e22150800000000000000000000000006111c263039434c565e696f7c859299a3a49f9a959da0a79e948d80746d62594f463c33291f160c02000000000000000000000000000013202c3946535f6c79878686868686868686868686868686868686868686868685858483817f7d7a77736e6a636059524c443c342a21180c030000000000000000000000000000000000000000000000000000000008111a21282c2f30343434343431302d28221a120800000000000000000000000000000000000000000013202c3946535f6c7986929facb9a79b918b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8c8d8d8f9197989da0a7adaaa39f948f837a6d675c51463d3222180e0400000013202c3946535f6c7986929facada093867a6d6053473a3939393939393939393939393938373533312e2d2a25211e1a150f0a0400000000000000000000000000000000000000000006111c263039434c565e696f7c859299a3a49f9a959da0a79e948d80746d62594f463c33291f160c0200000000000000000000000000030c161f28323a424a515860626b6f75797c7f828385858685858482807c79746e6a615e564f473e362c241a1006000000000000000000020f1c2835424f5b687581867f756d686059504a5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000010d18232d373f464a4c535353535353524847433c342a21303a42494e505353535353534f46443f3830261c130a010000000000000000000000000000000000000000000000000000000000050d141a21272c33383b4246474a545c6a6c6c6c6c6c66605b5f5e5e5d5b59575553504a4745413a37312b272018130c040000000000000000000000000000000b1825313e4b5864717e868686868686868175685b4e4235282b383939393939332d2b28221c140b060e1b2734414e5a677480868686868686867e7164584b3e3125180b0013202c3946535f6c7987868686868686868686868686868686868686868686868686868686868686868686868686868686868686868174675b4e4134281b0e0100000000000814212e3b4754616e7b87939faaa0968e81786e69615e5754524c494745403d3a3840464b4c4e4c4b494846443f3830281f160c01000000020e1925303b44505a616c717e879392877e716c6c6c6c6c6c6c6c6c6c68655d54493d3125190c000000000000000000000000000000000000000000000000000000000000000009141f2932434d555b5d60605b667783909daaaa9d908377675c60606060606060606060606060606054524c4446484745404443423e3d39332c241a100500000004101c28333e474f5557595a5b5c5d5e5f53514a42392e231810131414151b2028333f4a5464717e8b97a4b2a8978a7e7164574b3e3124180b000000000000000000000000000a141e27313a444d575f6a707d879299a49f9f9f9fa9a0958f82786d605b51473e342a21170d04000000000000000000000000000000121f2c3845525e6a757979797979797979797979797979797979797979797979797877767472706d6866625f58544f46413a322a22180f060000000000000000000000000000000000000000000000000000000000000810161c20232427272727272423211d1710080000000000000000000000000000000000000000000013202c3946535f6c7986929facb9ada39b9898989898989898989898989898989899999a9c9ea1a9aaacaba39f98928c827a6d685e554b40342b2110060000000013202c3946535f6c7986929facada093867a6d6053473a2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a29272421201e1a14120e09030000000000000000000000000000000000000000000000000a141e27313a444d575f6a707d879299a49f9f9f9fa9a0958f82786d605b51473e342a21170d04000000000000000000000000000000040d162028303940444e54596063666d707275767879797978777573706d66625f57524c443d342c241a120800000000000000000000020f1c2835424f5b6875828e8b827a6f6b605c545763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000006111b252d343a3e3f464646464646453c3a37312a221e2830383e4143464646464646423a38342e261e140a010000000000000000000000000000000000000000000000000000000000000002090e161c21272c30363a44505c66757979797979726c665f5751504f4d4a4846443f3a39352f2b26201b160d0701000000000000000000000000000000000a1724303d4956626c7179797979797979756f65594d402e34384546464646463f3938332d261d180f091a2733404c58646e7479797979797979716c6256493d3024170a00121f2c3845525e6a757979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746f64594c4033271a0d0100000000000b1825313e4b5864717e8b99a4aa9d9184796d665f57524d4746413d3a38352f3040495157595b5958565453504a423a31281e13080000000008141f29323e48505a616c717e889392877e716c615a6060606060605c59544b42372c2115090000000000000000000000000000000000000000000000000000000000000000020d1720313b434a4e50534a546774818e9aa7ac9f9286796d6053535353535353535353535353535347464a51535453514b504f4e4a49453e362c22170c0000000714202c38444f596163666768696a6b6c605c544a4034281c100607080a0e17222d3d4a5763707d8a96a3b0a5988b7f7265584c3f3225190c00000000000000000000000000020c151f28323b454e58606b717e8793939393939393969083796d665c50493f352c22190f0500000000000000000000000000000000111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a69676663615e5655534e48443d363028201810060000000000000000000000000000000000000000000000000000000000000000050b101416171a1a1a1a1a171714110c05000000000000000000000000000000000000000000000013202c3946535f6c7986929facacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a6a7a8aaa8a6a7a09d99928e867f786d685e564c43392e22190f000000000013202c3946535f6c7986929facaca093867a6d6053473a2d20202020202020202020201f1f1d1c1a181514120e0906020000000000000000000000000000000000000000000000000000020c151f28323b454e58606b717e8793939393939393969083796d665c50493f352c22190f050000000000000000000000000000000000040d161e272e343d43474f54545c606366686a6b6c6c6c6b6a686663605c54534e46413a322b221a12080000000000000000000000020f1c2835424f5b6875828e938f847d736d665e5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000000009131b23292e3132393939393939392f2e2b262018161e262d323536393939393939362d2b28231c140c0200000000000000000000000000000000000000000000000000000000000000000000050b10161c1f252d3a4653606d7987868686867f786e69625b524d443e3c3a38342e2c29241e1b150f0a040000000000000000000000000000000000000815212d3945505a62646c6c6c6c6c6c6c68655d53483d383f445253535353534c46443f382f2a2119141824303c48535c64676c6c6c6c6c6c6c64625a5045392d21150800111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645d53483c3024180b0000000000010d1a2734404d5a6773808d9aaba4988b7e71675c544d46423b3935302d2c292e3842515b63666866646361605c544c433a2f24190d01000000020d17202c363e48505a626c717e889392877e716c61574d535353534f4d49423930261b1004000000000000000000000000000000000000000000000000000000000000000000050e1f2831383e4243464b5865717e8b98a8aea399897c7063564946464646464646464646464646404a545c6061605c555d5c5b575550483e33281d110500000916232f3c4855616b70737475767778786d665c5144382c1f12060000000616232f3c4956626f7c8995a2afa6998c807366594d4033261a0d0000000000000000000000000000030d162029333c464f59616c727f8686868686868686847b6e675d544a3f372d231a100700000000000000000000000000000000000e1a26313d4751595e5f6060606060606060606060606060606060606060605f5f5e5d5c5b595654524c4847433c38332a251e160e0600000000000000000000000000000000000000000000000000000000000000000000000407090a0d0d0d0d0d0b0a08050000000000000000000000000000000000000000000000000013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9d9b999795908c86817b736d665e564c443a30271d1007000000000013202c3946535f6c7986929f9f9f9f93867a6d6053473a2d20141313131313131313131212110f0d0b08070502000000000000000000000000000000000000000000000000000000000000030d162029333c464f59616c727f8686868686868686847b6e675d544a3f372d231a100700000000000000000000000000000000000000040c151c232832373d43484b515356595b5d5e5f5f5f5f5e5c595653514b47423c35302820191008000000000000000000000000020f1c2835424f5b6875828e9b96918780786e696163707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000000010911181e2224252d2d2d2d2d2d2c22211f1a150e0c141b212628292d2d2d2d2d2d29201f1c17110a0200000000000000000000000000000000000000000000000000000000000000000000000000050b10141f2b3844505c66717e879399928c827b726d615e565046413a322924201d19130f0a04000000000000000000000000000000000000000005111d29343e48505658606060606060605b59534b4138424a505e5f6060605f5953504a423b332a251f17202b36414a53585a60606060606060585650483e34291d1105000e1a26313d4751595e5f606060606060606060606060606060606060606060606060606060606060606060606060606060606060605b59534a41362b2014080000000000020e1b2835414e5b6874818e9ba7a194887b6e61554b423b36302d292523282c343f4a54636d73747371706e6d665d564c4135291d110400000000050e1a242c363e48505a626c717f889392877e71695f534646464642413d3730271e140900000000000000000000000000000000000000000000000000000000000000000000000d161f272d3236373b4855616e7b8896a0acab998d807366594f4338393939393939393939393844515c666d6e6d676b6a696864615a5045392d21140800000a1724303d4a5763707d80818283848586786d6053463a2d20160d0909070c1724303d4a5763707d8a96a3b0a69a8d8073675a4d4034271a0d010000000000000000000000000000040e17212a343d47505a626d727979797979797979786e695e554b42382e251b11080000000000000000000000000000000000000915202b353f474e525353535353535353535353535353535353535353535353525251504e4c4a4746413b3a37312c272119130c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929393939393939393939393939393939393939393939399929291908f8d8a87847f7b756e69605c544c443a32291e150b00000000000013202c3946535f6c7986929393939393867a6d6053473a2d20140706060606060606060605040200000000000000000000000000000000000000000000000000000000000000000000000000040e17212a343d47505a626d727979797979797979786e695e554b42382e251b1108000000000000000000000000000000000000000000030b121820272b323839404546494c4f505252535252514f4d4946454039373129251e160e0700000000000000000000000000020f1c2835424f5b6875828e9ba199928c827b706c63707d8a96a3b0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000060d121518192020202020201f1515120f0a03030a1015191c1d2020202020201c1312100b06000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616c717e87939a9490867f766e69615a524c443e352f281f19100700000000000000000000000000000000000000000000000c17222d363e45494b535353535353534e4d4841343f4a545c6a6c6c6c6c6c66605b544d453f3630292019252f3841484c4e535353535353534b49453e362d22170c00000915202b353f474e525353535353535353535353534a545c6a6c6c6c6c6c66605b544d5353535353535353535353535353535353534e4c4841382f251a0f030000000000020e1b2835414e5b6874818e9ba7a194877a6e6154473e39352f3333332e34383d44505c66737f817f7e7c7b786d685d5245392c201306000000000008121b242d363f48505a626d727f8b9192867b6e6155483b39393534312c261e150c020000000000000000000000000000000000000000000000000000000000000000000000040d151c2226292d3a46535f697784919eaaaa9d9184776b6054483d31282d2d2d2d2d2d2d2d3a4653606d787b7a7978777675716c6155493d3023170a00010e1a2734414d5a6774808c8d8e8f9091887c6f6255483e31281f1a171617181d27333f495364717e8b97a4b1a6998c807366594d4033261a0d00000000000000000000000000000000050f18222b353e48515b62656c6c6c6c6c6c6c6c6b615e574d433a30261c130900000000000000000000000000000000000000040f19242d353d4245464646464646464646464646464646464646464646464646454443413f3d3a3936302e2b26201c160d080200000000000000000000000000000000000000000000000000000000000000000000020608080b0e1011121313121211100d0b08070502000000000000000000000000000000000000000013202c3946535f6c79878686868686868686868686868686868686868686868686868685858382807d7a77736e69615f57504a423a322920170c0300000000000013202c3946535f6c798786868686868686796d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18222b353e48515b62656c6c6c6c6c6c6c6c6b615e574d433a30261c1309000000000000000000000000000000000000000000000000070c151b21272c2e34383a3d3f424345464646454442403d3a38342e2b262019130c040000000000000000000000000000020f1c2835424f5b6875818e969ea39f9490857d746d707d8a96a3b0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000106090b0c13131313131312090806030000000005090d0f101313131313130f07060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3842505a616c717e88939a98928b827b716c615e564f45413a312b22190f040000000000000000000000000000000000000000000006111b242d34393d3e4646464646464642403d373844505c66757979797979726c665f575146423b3229251e262f363c4041464646464646463e3d39342d241b11060000040f19242d353d4245464646464646464646464644505c66757979797979726c665f5751464246464646464646464646464646464641403c362f261d1308000000000000000d1a2733404d5a6673808d99aca295897c6f62585047454140403f40404045464f57606d78858e8c8b8987867a6d6054473a2d21140700000000000009121b242d363f48505a626d727f8b8c7f72695f53463a2d2d292825211b140c0300000000000000000000000000000000000000000000000000000000000000000000000000030a11161a1e2a36424d576773808d9aa7aca096897c6f63594f433a3129242322222429333f4a5463707d878685848382817e7164574a3e3124170b00000b1825323e4b5865717e8b989b9c9d988b7f7265594f433a312a2524232323282f3744505b6574818e9aa7b5ab988b7e7265584b3f3225180c0000000000000000000000000000000000061019232c363f4951565860606060606060605e54524d453b31281e140a01000000000000000000000000000000000000000008121b242b3136383939393939393939393939393939393939393939393939393837363433302e2d2a25211f1a15100b050000000000000000000000000000000000000000000000000000000000000000000205090e121415181b1d1e1f20201f1f1e1c1a181514120e0905020000000000000000000000000000000000121f2c3845525e6a7579797979797979797979797979797979797979797979797979797878777573716e6866615e57534d443f38302820170e0500000000000000121f2c3845525e6a75797979797979797976675c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061019232c363f4951565860606060606060605e54524d453b31281e140a0100000000000000000000000000000000000000000000000000040a0f161b1d23282c2d303335373839393938373533302d2c28231d1a150d080200000000000000000000000000000000091623303c4956636f7d848e939fa29f97928a8079707d8a96a3b0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303e48505a626c717f88939f9f948f857e756d686159514b433d342b21160a000000000000000000000000000000000000000000000009121b22292d3031393939393939393534312d3a4653606d7987868686867f786e69625b524d443e35302820252b3033343939393939393931302d29221b12090000000008121b242b313638393939393939393939393a4653606d7987868686867f786e69625b524d443e353039393939393939393939393433302b251d140b01000000000000000b1824313e4b5764717e8a9aa4a69a8d80736a615a54524c4d4d4c4c4d4b515359606a717e8b979997968f8376685d5245392c2013060000000000000009121b242d363f48515b626d727f80736d63574d42362a1e1c1b191510090200000000000000000000000000000000000000000000000000000000000000000000000000000000050a0e1a26313c4855626f7c88959faba89b8f82756b60554b433b352f2f2f2f2f353b44505b6673808c989291908f8b7e7164584b3e3125180b00000815222e3b4855616e7b8896a0a9aa9d9083776b61554b433c36313030302e3439404b55606c7884919eaaafa499897d7063564a3d3023170a00000000000000000000000000000000000007111a242d373f464a4c5353535353535353524846423b33291f160c020000000000000000000000000000000000000000000009121920262a2c2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a2928262321201d1914120f090300000000000000000000000000000000000000000000000000000000000000000002080e11151a1e21222528292b2c2c2c2c2b2b29272522211e1a14120e0902000000000000000000000000000000111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a686664615e5654534d46423c342e261e160e050000000000000000111d2a36424e59636a6c6c6c6c6c6c6c6c6c5c554b4034291c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007111a242d373f464a4c5353535353535353524846423b33291f160c0200000000000000000000000000000000000000000000000000000000040a0f12181c1f202326282a2b2c2c2c2c2b292623201f1c18120e09030000000000000000000000000000000000000915222f3b4854606b6f7a818a92989fa29e928d837b7d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a131313131310100d0a050000000000000000000000000000000000000000000000000000000000000a141e2c363e48505a626d727f8b919b9e97928a817a706b605d554e463d32271b0f0300000000000000000000000000000000000000000000000911171d2124252d2d2d2d2d2d2d28271f2b3844505c66717e879399928c827b726d615e565046413a3229241d2427272d2d2d2d2d2d2d2524211d17110900000000000009121920262a2c2c2d2d2d2d2d2d2d2d2b3844505c66717e879399928c827b726d615e565046413a3229242d2d2d2d2d2d2d2d282724201a130b0200000000000000000814212e3b4754616e7b87939fac9f92867c706c64605d565a5959595a555c60636b707c85929fa9a1968b7e7265564c4135291d1104000000000000000009121b242d363f49515b626d72736e635b51453b31261a0e0e0c090400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212e3a47535f6a7683909da7aa9e93897c6f675d554c45413d3c3b3c3c40454d57606c7884919e9f9e9d95877a6e6154473b2e21140800000814212d3a47535f697784919daaaca0958a7d70675d554d46423e3d3c3d3e40454b515c67707d8a96a0acac9f93867a6d6054473a2d2114070000000000000000000000000000000000000008121b252d343a3e3f4646464646464646453b3a36302921170d04000000000000000000000000000000000000000000000000080f151a1d1f20202020202020202020202020202020202020202020201f1f1e1d1b19171413110d08060200000000000000000000000000000000000000000000000000000000000000000002080d14191e20262b2e2f323436383939393938373634322e2d2b26201e1a140e0902000000000000000000000000000e1a26313d4751595e5f6060606060606060606060606060606060606060606060605f5f5e5d5c5a5754524c4846423b373128231c140c040000000000000000000e1a26313d4751595e5f606060606060605f514b43392f23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b252d343a3e3f4646464646464646453b3a36302921170d040000000000000000000000000000000000000000000000000000000000000000070c10131316191c1d1f1f201f1f1e1c1a161313100c070000000000000000000000000000000000000000000713202c38444f5960686d757e8590949fa39d959086818e9ba8b0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014161720202020201d1c1a16110a0300000000000000000000000000000000000000000000000000000000020c1a242d363f48505a626d727f8b919ba29f938e857d746d6760584e43382c1f1307000000000000000000000000000000000000000000000000060c11151718202020202020201b1b1c28343f4a54616c717e87939a9490867f766e69615a524c443e352f281f191b20202020202020181715110c060000000000000000080f151a1d1f20202020202020201c28343f4a54616c717e87939a9490867f766e69615a524c443e352f281f1920202020201b1a18140f08010000000000000000000714202d3946525e6876828f9aa4a39892857d76716d6868676666666668676d70757d859197a2a49e9184796d6053463a2f24190d0100000000000000000009121b242d373f49515b626566635c52493f33291f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5864707d8a95a0aca59d9183796d675e56514b4a494848494b51575f69717e8b96a1aca89d908377685e5246392d201407000006121e2b37424d5766737f8c98a2aea79e9184796d675f57534d4b4a494a4b4b51555d606d7983909da8b2a99d908376685d5245392c201307000000000000000000000000000000000000000009131b23292e31323939393939393939382e2d2a251f170f05000000000000000000000000000000000000000000000000000004090e11121313131313131313131313131313131313131313131313131211100e0c0a070705010000000000000000000000000000000000000000000000000000000000000000000000040c13191f252a2d31373a3b3e41434445464645454443403e3b3a37312d2a251f1a140d050000000000000000000000000915202b353f474e5253535353535353535353535353535353535353535353535353535252504f4d4a4746413b3a36312b261f17110a02000000000000000000000915202b353f474e5253535353535353535345403931271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b23292e31323939393939393939382e2d2a251f170f0500000000000000000000000000000000000000000000000000000000000000000000000406070a0c0f101213131312110f0d0a0706040000000000000000000000000000000000000000000000030f1b27323d474f565d606c717b828c9299a0a098928e939eaab0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2a2926221c150d040000000000000000000000000000000000000000000000000000000008121b242d363f48515b626d727f8c919ca39e97918a81796f6a6054483b2e221509000000000000000000000000000000000000000000000000000005080a0b131313131313130f0b17232e3842505a616c717e88939a98928b827b716c615e564f45413a312b22190f1313131313130b0a0805000000000000000000000004090e1112131313131313130b17232e3842505a616c717e88939a98928b827b716c615e564f45413a312b22190f1313130e0d0b0803000000000000000000000005111e2a36414d56626f7c87939fa5a297928a837d7a777573737273737476797d82889197a1a59d928a7e71675c514538281e1308000000000000000000000009121b252d373f495156585a57524a40372d21180d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313c4653606c7883909aa4aca0958f82796e68605d555756555556555d60696e7b85929fa8aca1968a7e7164564d41362a1e11050000020e1a26313c4754616d7a86929fa8aca1969082796e69615e575857565657545c60676d75818e95a0acada2978b7f7265564c4135291d11040000000000000000000000000000000000000000010911181e2224252d2d2d2d2d2d2d2d2b21201e1a140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080e161e25293036393c4247484b4e50515253535252514f4d4b4846423c3a36302a251f170f080000000000000000000000040f19242d353d4245464646464646464646464646464646464646464646464646464645454442403e3b3936302d2a251f1a140b06000000000000000000000000040f19242d353d424546464646464646464638342f271f150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010911181e2224252d2d2d2d2d2d2d2d2b21201e1a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212b353d444c525a61696e787f8791969da29f9b9ea5afb0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d303139393939393736322d271f160d030000000000000000000000000000000000000000000000000000000009121b242d363f49515b626d727f8c9193939393938e847c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000060606060606060006111c26303e48505a626c717f88939f9f948f857e756d686159514b433d342b21160a000606060600000000000000000000000000000000000104060606060606060006111c26303e48505a626c717f88939f9f948f857e756d686159514b433d342b21160a000601010000000000000000000000000000020e1925303b4754606a73808d939fa4a29f94908a86848280807f7f80818385898f939aa1a49f938d80746c61554b403428160c0100000000000000000000000009121b252d373f464a4c4d4b4740382e251c0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151f2b3744505b656f7c88939fa7a89e948f837a736d6765636262626365676d727b849197a2ada59e9184786d6053463b3025190e020000000915202d3946525e6873808c95a0aaa89f9490837b736e6967646363636465666d7179818e939da7b0a69e92857a6d6054473a2f24190d0100000000000000000000000000000000000000000000060d1216181920202020202020201f1514120e09020000000000000000000000000000000000000000000000000000000000000000000104060606060606060601000000000000000000040607090c0e0f11121213131211100e0b0808060200000000000000000000000000000000000000000000000000020a121a202830353b4146474e5355585b5c5e5f5f5f5f5e5e5c5a5855534d4846423b363029211a120a020000000000000000000008121b242b31363839393939393939393939393939393939393939393939393939393938373533312e2d2a25211e1a140e0903000000000000000000000000000008121b242b3136383939393939393939392c29231d150d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d1216181920202020202020201f1514120e090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003070909131313131313130b0a08040000000000000000000000000000000000040f19232b323a414550575e666c727c848d929ea1a9aaafb7b0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c33393c3d464646464643423e3831281f150a000000000000000000000000000000000000000000000000000000000009121b242d373f49515b636d737f86868686868686868174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000000000000000000000000000a141e2c363e48505a626d727f8b919b9e97928a817a706b605d554e463d32271b0f0300000000000000000000000000000000000000000000000000000000000000000a141e2c363e48505a626d727f8b919b9e97928a817a706b605d554e463d32271b0f0300000000000000000000000000000000000008141f2b37434e58606d78818d939a9fa69f9c9992908f8d8c8c8c8d8e9092989c9fa49f99938c81786d605a5043392e231804000000000000000000000000000009131b252d343a3e3f403f3b352e261c130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953606b74808d959fa8a69e959086807a7672706f6e6f6f7274797f869196a1a9a79d938a7e71665c504438291f14080000000005111d2935414c56606d79849198a2aaa69f959086807b767371706f70717275797e848e939da5afa89f948b7f72675d5145392c1e13080000000000000000000000000000000000000000000000000106090b0c1313131313131313120807050200000000000000000000000000000000000000000000000000000000000000000004090e1112131313131313130e0d0b0703000104070c10131316191b1c1e1f1f20201f1e1d1b181514120f0a0400000000000000000000000000000000000000000000020b141c242c323a41464d5254575f626567696b6c6c6c6c6b6a696765615f5754524d46423b332c241c140a020000000000000000000009121920262a2c2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a29272421201e1914120e0903000000000000000000000000000000000009121920262a2c2c2d2d2d2d2d2d2d2d1f1c18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c13131313131313131208070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151620202020202020171714110c0500000000000000000000000000000000071119202830353e454d545b606a6f79808a92979ea6aeb4aca3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a5353535353504e4a433a31271c1105000000000000000000000000000000000000000000000000000000000009121b252d373f49515b636d737979797979797979746e64584c4033271a0d010000000000000000000000000000000000000000000000000000000000000000000000000000020c1a242d363f48505a626d727f8b919ba29f938e857d746d6760584e43382c1f13070000000000000000000000000000000000000000000000000000000000000000020c1a242d363f48505a626d727f8b919ba29f938e857d746d6760584e43382c1f1307000000000000000000000000000000000000020f1b27323d44505c666d78808890959b9fa2a39f9d9b9a999999999b9d9fa2a29e9b948f877f776d665c50483e30271d120700000000000000000000000000000109131b23292e313233322f2a241c140a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414f59606d788390959fa7a79f98928c86827f7d7c7b7b7c7e81858b9298a1a8a69f958e81746c61544a3f3428170d0200000000010d1925303a45515c676f7c869298a1a9a79f98928d8783807e7d7c7d7e7f82858b91969ea5afa7a0969082786c60554b4135291d0c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f151a1d1f202020202020201a1a17130e070d1113181c1f20232527292a2b2c2c2c2c2b2a282522211f1a15100c0701000000000000000000000000000000000000010b141d262e363e444c52565e61666a6e717476777879797878777673716e6966615e57524d453e362e261c140a0000000000000000000000080f151a1d1f20202020202020202020202020202020202020202020202020201f1f1d1c1a171414110e0805020000000000000000000000000000000000000000080f151a1d1f20202020202020202013100c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f22232d2d2d2d2d2d2d2423211c17100800000000000000000000000000000000070e161e2429333b424a505860676d747d858f949fa29f9f9f978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e4850555760606060605d5b554d43382d22160a00000000000000000000000000000000000000000000000000000000000009131b252d373f49515b63666c6c6c6c6c6c6c6c67645c53483c3024180b0000000000000000000000000000000000000000000000000000000000000000000000000000000008121b242d363f48515b626d727f8c919ca39e97918a81796f6a6054483b2e22150900000000000000000000000000000000000000000000000000000000000000000008121b242d363f48515b626d727f8c919ca39e97918a81796f6a6054483b2e221509000000000000000000000000000000000000000a152028343f4a545c666c737c83898e9298989b9c9e9e9f9f9f9e9e9d9a9897928e89827c736c655c544a3f362c1e150b00000000000000000000000000000000010911181e2225252726231f19120a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3d45515c666d7a8390959fa4aaa29f98928f8c8a898888898b8e92979fa2aaa59e949083796d605a5042382e23170500000000000008131e2934404b555f6a707d8692979fa6aaa39f9993908d8b8a89898a8c8f92979da0a8aca59e9590847a6d665b50433a2f24180d00000000000000000000000000000000000000000000000000000000000000020608080b0e1011121313121211100d0b080705020000000000000000000000000000000000000000000009121920262a2c2c2d2d2d2d2d2d2726231f1913181d2023282c2d2f323436373839393938383734322f2e2b261f1c18120b03000000000000000000000000000000000009131d262f38404850565e61686e73777b7e81838485868685858482807e7b77736e69615e57504840382e261c1309000000000000000000000004090e111213131313131313131313131313131313131313131313131313131212110f0d0b0807050200000000000000000000000000000000000000000000000004090e1112131313131313131313060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a131313131313130a09070400000000000000000007101921272c2f303939393939393931302d28221a120800000000000000000000000000000000040c131921292f383f444e555d606b707a828b9298939393938a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6c6a665f554a3e32261a0d0000000000000000000000000000000000000000000000000000000000000109131b252e37404951575960606060606060605a58534a41362b201408000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b242d363f49515b626d727f8c9193939393938e847c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000009121b242d363f49515b626d727f8c9193939393938e847c6f6256493c2f23160900000000000000000000000000000000000000040b17232e38424a545b606b6f767d8185898c8e9091929293929291908e8c8985817c766f6a605b534a42382e241a0c03000000000000000000000000000000000000070d121618191a1917130e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2834404b545e686d7a838d939a9fa7aaa29f9c989695959596989b9fa2a9a8a09e938e827a6d675d51483e30261c1106000000000000020c18232f39434e58606b707d858f949ea0a8aba49f9c9a9796969697989b9ea1a9aca7a09d938e837b6e685e544a3f31281d1307000000000000000000000000000000000000000000000000000000000205090e121415181b1d1e1f20201f1f1e1c1a181514120e09050200000000000000000000000000000000000008121b242b313638393939393939393433302b241d24292c2e34383a3c3f41424445454646454443413e3b3a37312c29231d150d0700000000000000000000000000000007101b252f38404a525a61686d747b8084888b8e8f919292929291918f8d8b8884807b746e69615a524a40382e251b0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014161720202020202020171614100b05000000000000040f19232b32383b3c464646464646463e3c39332c241a10050000000000000000000000000000000002080f171d262d333c434b515961686d757e858686868686867d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c7079797979797671665b4e4236291c1000000000000000000000000000000000000000000000000000000000000000010a131c252e3740464b4c53535353535353534e4c4841382f251a0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b242d373f49515b636d737f86868686868686868174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000009121b242d373f49515b636d737f86868686868686868174675a4e4134271b0e010000000000000000000000000000000000000006111c263038424a505960636b7075797c7f81838485858685858483817f7c79746f6b6260585049413830261c120900000000000000000000000000000000000000000106090b0c0d0c0a0702000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b18232e39424c565e686d79808790959b9fa2aaa8a5a3a2a1a2a2a5a7aba49f9c96918981796d685d554b40362c1e150a000000000000000007121d27313c464f59606a6f7b828a91969c9fa3aba8a6a4a3a2a3a4a5a8a8aaa29f9b95908981796e695e564c42382d1f160c01000000000000000000000000000000000000000000000000000002080e11151a1e21222528292b2c2c2c2c2b2b29272522211e1a14120e0902000000000000000000000000000000040f19242d353d424546464646464646413f3c362f282f35393a404546494c4e4f51525253535251504e4b4847433c38342f271f19100a01000000000000000000000000030c19222d37404a525c636c717a81868c9196989a9c9e9f9f9f9f9e9d9c9a9895918d86817b716c645c524a40372d21180e030000000000000000000000020507081313131313131313131313131313131313131313131313131313131313131211100c09060503000000000000000000000000000000000000000000000000000000000000020507080b0e111112131312110f0c0908060300000000000000000406070b0f1213131211100e0c0b0906010000000000000000000000000000000000000000000000010406070a0d10111213131312100e0b070705010000000000000000000000000000000000000000000810161c2023232d2d2d2d2d2d2d2323201c16100800000000000a16212b353d434849535353535353534a49453e362c22170c000000000000000000000000000000000000050b141c2228313940454f565e616d7279797979797979706c6155493c3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d868686868683766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000010a131c252e353b3e40464646464646464641403c362f261d1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b252d373f49515b636d737979797979797979746e64584c4033271a0d01000000000000000000000000000000000000000000000000000000000000000000000009121b252d373f49515b636d737979797979797979746e64584c4033271a0d0100000000000000000000000000000000000000000a141e262f383f444f54596063666d6f72747677787979797877767472706d66636059544e443f382f261e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303a444c565e676d747c83898e9298999b9d9e9f9f9f9e9d9c9999938f8a847d756d675d564c433a2f241a0c030000000000000000010b151f2a343d474f5860696e767e848a8f9299999b9d9e9f9f9f9f9e9d9b9998928e89837d756d675e564d443a2f261c0d040000000000000000000000000000000000000000000000000002080d14191e20262b2e2f323436383939393938373634322e2d2b26201e1a140e0902000000000000000000000000000915202b353f474e52535353535353534d4c474038313a4045474b515356585a5c5d5e5f5f5f5f5e5d5b5855534e47454039312b221b130a0000000000000000000000000a151e2b343f49525c646e737e858d92999da0a8a9a29f9d9c9b9c9d9fa2aaa7a09d99928e857e736e645c52493f332a1f140900000000000000000002080e1114142020202020202020202020202020202020202020202020202020202020201f1e1c191613120f0b06000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191515120f0a0401000000070c101313181c1e1f201f1e1d1b181815120d06000000000000000000000000000000000000000001070d111314171a1c1e1e1f201f1e1d1b181413110d080200000000000000000000000000000000000008111a21272c2f3039393939393939302f2c27211a1108000000030f1b27323d474f545660606060606060575550483e33281c1104000000000000000000000000000000000000020a11171f272f353e444c525b62656c6c6c6c6c6c6c64615a5044392d20140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a9393939083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000000010a131c232a2f323339393939393939393433302b251d140b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b252d373f49515b63666c6c6c6c6c6c6c6c67645c53483c3024180b0000000000000000000000000000000000000000000000000000000000000000000000000009131b252d373f49515b63666c6c6c6c6c6c6c6c67645c53483c3024180b000000000000000000000000000000000000000000020c141d262d333d43484f54545c60636568696b6b6c6c6c6b6b6a676563605c54544f47433d332d261d140c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e28323a444c555c606b6f767c8185898c8e909192929291908f8d8a86827d79706b605d554c443a31281d120800000000000000000000030d18222b353d464e575e616c71787d82868a8c8f90919293929291908e8c8985817d77706b605d554d443b32281d140a00000000000000000000000000000000000000000000000000040c13191f252a2d31373a3b3e41434445464645454443403e3b3a37312d2a251f1a140d050000000000000000000000000e1a26313d4751595e5f6060606060605a58524a403a434b5153545c60626567696a6b6c6c6c6b6b6a6765625f5853514b433d342d251b12090000000000000000000006111c26303d46515b646e74808a92979fa3a9a19e999792908f8f8f909298989d9fa7a39f97928a80736e635b51453b31261a0e0400000000000000050d14191e20212d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b292623201f1b17110c0600000000000000000000000000000000000000000000040a0f141a1e212125282a2b2c2c2c2b2a282622211f1b15110d08030b12181c1f2025292b2c2c2c2b2a272524221d1811090100000000000000000000000000000000040a0f13181d20202326292a2b2c2c2c2b2a272521201e1913100b0500000000000000000000000000000005101a232c33383c3d464646464646463d3c38332c231a1005000007131f2c38434f5960636c6c6c6c6c6c6c64615a5045392d2114080000000000000000000000000000000000000000060d151d2429323a41465156585f606060606060575550483e33281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000000010a12191e2325262d2d2d2d2d2d2d2d272724201a130b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000109131b252e37404951575960606060606060605a58534a41362b201408000000000000000000000000000000000000000000000000000000000000000000000000000109131b252e37404951575960606060606060605a58534a41362b20140800000000000000000000000000000000000000000000020b141c222832383d44484a515356595b5d5e5f5f605f5f5e5d5b595653504a48443d383227221b140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c162028323a434b515960636b6f75797d7f828385858685858482807d7a76716d666059514b433a32281f160c000000000000000000000000061019232b343d454d525a61666c70757a7d80828385858686858483817f7c7975706b636059514b433b322920160b02000000000000000000000000000000000000000000000000080e161e25293036393c4247484b4e50515253535252514f4d4b4846423c3a36302a251f170f080000000000000000000000111d2a36424e59636a6c6c6c6c6c6c6c67645c5247404b555d6064666d6f727475777878797978777674716e6a64605c554e463f372d251b11070000000000000000000c17232e38424f59626d74808d929ea1a9a39f97918c8885838282838385888b90959ea1a8a29f928d80736d62574d42362a20160a000000000000050e171e252a2d2e39393939393939393939393939393939393939393939393939393939393938373633302d2b27221b17110a0300000000000000000000000000000000000000060c161b1f252a2d2e31343738393939383735322f2e2b26201d19130c151d23282c2d32353839393838363432312e29231b1309000000000000000000000000000002080d151b1d24292c2d3033363738393939383634312e2d2a251e1c160f0a04000000000000000000000000000b16212c353d44484a535353535353534a48443d352c21160b00000915222f3b4854606b6f79797979797979716c6155493c3023170a000000000000000000000000000000000000000000030b1218202930363f454a4b525353535353534a49443e362c22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a39d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000000000000070d1216191920202020202020201b1a18140f0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c252e3740464b4c53535353535353534e4c4841382f251a0f030000000000000000000000000000000000000000000000000000000000000000000000000000010a131c252e3740464b4c53535353535353534e4c4841382f251a0f030000000000000000000000000000000000000000000000020a111721272c333839404446494c4e5051525253525251504e4c4946443f3838322b272017110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e162028313940454f54596063676d707375777879797978777673716e6864605c544f454039312820160d0400000000000000000000000000071119222b333b424650545b6064676d707375777879797978787675726f6d67636059544f45403a312920170e050000000000000000000000000000000000000000000000020a121a202830353b4146474e5355585b5c5e5f5f5f5f5e5e5c5a5855534d4846423b363029211a120a02000000000000000000121f2c3845525e6a7579797979797979746e64584c45515d676d7176797c7f81828485858686858483817e7b77716d67605851493f372d23190b020000000000000003101c28343f4a54606b727f8c929ca4aaa299928c84807b787675757677797b7f838a91969fa6a49c928b7f72695f53463d32271b0f0300000000020d1720293036393b4646464646464646464646464646464646464646464646464646464646464544433f3c3937332d28231c150c0500000000000000000000000000000000030a111720272b31363a3b3e4144444546464544423f3c3b37322c29241e191e272e34383a3e42454646454443413f3d3a342d251b1106000000000000000000000000050d131920262b2f35393a3d404344454646464543413e3a3936302c28211b150e06000000000000000000000004101c27333d474f55566060606060606056554f473d33271c100400091623303c4956636f7d868686868686867e7164574a3e3124170b0000000000000000000000000000000000000000000001070e171e252a343a3d3f464646464646463d3c39332c231a10050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a39d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000000000000002060a0c0d13131313131313130e0d0b0803000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c252e353b3e40464646464646464641403c362f261d130800000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c252e353b3e40464646464646464641403c362f261d13080000000000000000000000000000000000000000000000000000060b161b21272c2e34383a3c3f41434445464646454443413f3d3a38342e2c27211b160b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e161f272f343d43484f54555c606366686a6b6c6c6c6b6a696664615e5653514a423d352f271f160d04000000000000000000000000000000071019202930363e424a5053555d606366686a6b6c6c6c6c6b6a686663605c55554f48443d352f281f170e050000000000000000000000000000000000000000000000020b141c242c323a41464d5254575f626567696b6c6c6c6c6b6a696765615f5754524d46423b332c241c140a02000000000000000013202c3946535f6c79878686868686868074675a4d4753606d797e8286898b8d8f90919292929291908e8b88837e796f6a625b51493f352b1d140a0000000000000006121f2c3844505c666f7c87929fa4aba29892878079736f6a6a696869656c6e72777d848f949fa6a49f92867b6e61584e43382b1f13060000000008141e29323b41465353535353535353535353535353535353535353535353535353535353535352514f4c4946443f38342e261e170f070000000000000000000000000000030c151c232832373b4246484b4e505152535252504e4c4847433c39352f28222b30394045464b4f5152535251504e4b4a463f372d23180d0100000000000000000000080e171e252a31373a4045474a4d4f515152535251504e4b4746413a38332b2620181009000000000000000000000714202c38444f5961636c6c6c6c6c6c6c6361594f44382c20140700091623303c4956636f7c8993939393938a7d7164574a3e3124170b000000000000000000000000000000000000000000000000050d131923292e31323939393939393931302d28221a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a39d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c232a2f323339393939393939393433302b251d140b010000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c232a2f323339393939393939393433302b251d140b01000000000000000000000000000000000000000000000000000000040a0f161c1c23282c2d3032353638383939393838373432302d2c28231c1b160f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d151d232932383d44484b515356595b5d5e5f5f5f5e5d5c5a5754524d464440393029241d150d040000000000000000000000000000000000070e171f252a2f383f44464b515457595c5d5e5f605f5f5e5d5b595653514b48443d383329241d160d050000000000000000000000000000000000000000000000010b141d262e363e444c52565e61666a6e717476777879797878777673716e6966615e57524d453e362e261c140a000000000000000013202c3946535f6c798692939393938d8074675a4d4f5c6875828b8f9298989a9c9d9e9f9f9f9e9e9d9a9895908b847c726d625b51473d2f261c1106000000000003101c28343f4a54606d78839099a3afa39992867d736d67625f585c5c535b6061656c707a828f949fa9a2988f82766a6054473b2e221508000000020e1925303b444c525f60606060606060606060606060606060606060606060606060606060605f5f5e5c5956535049443f38302921191007000000000000000000000000030d151e262e343d43474d5354585b5d5e5f5f5f5e5d5b5955534e4745413a3129343c424b5153585c5e5f5f5f5e5d5a585651493f34291d120600000000000000000008111a202930363c43474b515356595c5d5e5f5f5f5e5d5a5854524c48443e37312a221b120a0100000000000000000916232f3c4855616b7079797979797979706b6155483c2f23160900091623303c4956636f7c89969f9f9f978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000002080d181d2224252c2d2d2d2d2d2d2423201c17100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a39d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000060a0e1011121313131212100e0b0707050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a12191e2325262d2d2d2d2d2d2d2d272724201a130b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a12191e2325262d2d2d2d2d2d2d2d272724201a130b02000000000000000000000000000000000000000000000000000000000000050b1012181c1f202326282a2b2c2c2d2c2c2b2a282623201f1c17110f0b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821272c3238394045464a4c4f505252535252514f4d4a4746413b38342e271e18120b0300000000000000000000000000000000000000050d141a1d262d33383a4145474a4d4f50525253535251504e4c494645403938332c272118130c0400000000000000000000000000000000000000000000000009131d262f38404850565e61686e73777b7e81838485868685858482807e7b77736e69615e57504840382e261c13090000000000000013202c3946535f6c7986929f9f9f9a8d8074675a4d4f5c6975828f9c9fa3aaa7a7a4a2a1a1a0a1a3a6a7a79f9d9691877f726d62594f42382d22170b000000000006121f2c3844505c66727f8b95a0aba89f92877d706b605d55534e4f4f495053555a61686d79829097a1a49f94897c6f6256493c2f23160900000005111e2a36414c565e6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a696663605b53504a423b332b23190f0600000000000000000000010b151f2730383f444e54575e6164676a6b6c6c6c6b6a6865625f5854524c433f353c464e545c6065686b6c6c6b6b696765625b51463a2e221509000000000000000008121a232c323a41464e53555d606366696a6b6c6c6c6b696764615e56554f47433c342d241c130a01000000000000000a1723303d4a5663707d868686868686867d7063564a3d3023170a00091623303c4956636f7c8996a2aca4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000060c111517181f202020202020171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a39d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000040b11161a1d1e1f2020201f1e1d1b181413110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d1216191920202020202020201b1a18140f080100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d1216191920202020202020201b1a18140f080100000000000000000000000000000000000000000000000000000000000000000000070c10121316191b1d1e1f1f201f1f1e1d1b19161312100c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c161b21272c2e34383a3d40424445464646454443403e3b3936302c28231c150c070100000000000000000000000000000000000000000002090b141c22282b2f35393a3d40424445464646454543423f3c3a38342e2c27211c160d070100000000000000000000000000000000000000000000000007101b252f38404a525a61686d747b8084888b8e8f919292929291918f8d8b8884807b746e69615a524a40382e251b0f0600000000000013202c3946535f6c7986929faca79a8d8074675a4d4f5c6976828f9caaa29f9c9a97969594939496999ea0a8a8a099928b7f726b60544a3f33281c0f03000000000713202d3a4653606d7984919ea7ada1968d80736b6059514b474342423f44464850565d676d7a85929b9993908c8275685c4f4235291c0f0200000714202d3946525e6876797979797979797979797979797979797979797979797979797979797979787776726f6c65605c544d453d352b22180d0300000000000000000007121d273139424a50586062696e71747777787979787775726f6a66605d56504540454e5860666d717578797978777674726d62564a3d3124180b0000000000000008111a242c353e444c52585f62676d7073767778797979787674716d68636159534e463f362e251c1309000000000000000a1723303d4a5663707d899393939393897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000105090b0c131313131313130a0a080400000000000000000000000000000000000000000000000000000002050708080808080808080808080808080808080808080808080808080a1724313d4a5764707d8a97a39d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000050e161c2227292a2c2c2d2c2c2b29282521201d19130f0a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002060a0c0d13131313131313130e0d0b08030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002060a0c0d13131313131313130e0d0b08030000000000000000000000000000000000000000000000000000000000000000000000000000040607090c0e1011121313131211100e0c0a07060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161b1d23282c2d303335373839393938373633312e2d2a251f1c18120b0300000000000000000000000000000000000000000000000000020a11171c1f24292c2d30333537383939393938373533302d2c28231d1c16100b0500000000000000000000000000000000000000000000000000030c19222d37404a525c636c717a81868c9196989a9c9e9f9f9f9f9e9d9c9a9895918d86817b716c645c524a40372d21180e03000000000013202c3946535f6c7986929faca79a8d8074675a4d4f5c6976828f9c9a9892908d8b8988878787898c91969fa2aaa39f93877d70665b5044382b1f120700000004101d2935404b5564717d8a96a1acaa9e9184796d60594f45403937312d3337393e444c555e68717e8b8e8a86837f7c6f6255483c2f2215090000000814212e3b4754616e7a8686868686868686868686868686868686868686868686868686868686868584827f7c78716d665e574f473d342a1f150b0100000000000000020c18242f39434b545c606a6f757b7e8183848586858583817f7c78726d68625a514b4d57606a6f797e82848586858483817f7265584b3f3225180c000000000000050f1a232c363e474f565e616a6f747a7d808284848586858483817e7a76706b625f58514840372e251b11070000000000000a1723303d4a5663707d89969f9f9f96897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e11141415151515151515151515151515151515151515151515151515151724313d4a5764707d8a97a39d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000040e1720272e3336373939393939383634312e2d2a251e1a150e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b0f12181c1f202326282a2b2c2c2c2b2a29272421201e1914100c070000000000000000000000000000000000000000000000000000000000060b0f13181d20212426292a2b2c2d2c2c2b2a282623201f1c1812100b050000000000000000000000000000000000000000000000000000000a151e2b343f49525c646e737e858d92999da0a8a9a29f9d9c9b9c9d9fa2aaa7a09d99928e857e736e645c52493f332a1f1409000000000013202c3946535f6c7986929faca79a8d8074675a4d505c6976838f918d898583807e7c7b7a7a7b7d7f848b9298a2aba4999083786c605346392e23180c0000000613202c3945515d6775828f9ba8aea3988b7e71675d51473d352f2b2622272b2d323a434c56606d7883817e7a76736f6a5f53473b2e2115080000000814212e3b4754616e7a87939393939393939393939393939393939393939393939393939393999292918f8c89837e786e6960594f463c31271d1207000000000000000a141e2935404b555d666d747c82878b8e909192929291908e8c88847f7a716d605d55535f696f7c848b8f9192929291908d86796c605346392d20130000000000020d17212c353e48505961686d757c8186898c8f909192929291908d8b86827d766f6a625b524940372d23190d0300000000000a1723303d4a5663707d8996a3aca396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000000000000000000000000000000000000000010507080b0e10111213131211100e0b0807050100000000000000000000000000000000000000000000000000000000050d14191e202121212121212121212121212121212121212121212121212121212124313d4a5764707d8a97a39d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000b16202932393f434445464646454543413e3a3936302b2620180f0900000000000000000000000000000000000000000000000000000004090e1112131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130b0a0804000000000000000000000004090e1112131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130b0a0804000000000000000000000000000000000000000000040613131313131313131312110e090400000000000000000000000000000000000000000000000000000000020507080b0e111112131312110f0c0908060300000000000000000406070b0f1213131211100e0c0b0906010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c10131317191c1d1f1f201f1f1e1c1a171414110e080400000000000000000000000000000000000000000000000000000000000000000003070d111314171a1c1d1f1f20201f1e1d1b19161313100c07000000000000000000000000000000000000000000000000000000000006111c26303d46515b646e74808a92979fa3a9a19e999792908f8f8f909298989d9fa7a39f97928a80736e635b51453b31261a0e040000000013202c3946535f6c7986929faca79a8d8074675a4d505c6976838a85807c797674716f6e6e6d6e7073787e869299a3aba0958a7e7164544b4034281c100400000714202d3a4753606d7a86929facac9f92867a6d60554b403529241d1a171b1f2028313a44515c666d7775716d6866625f584e43372b1f12060000000814212e3b4754616e7a87949f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9e9d9c9995908b837b6f6b60584e43392f23180c02000000000006111c26303845515d676d7880898f93999a9d9e9f9f9f9e9d9b9896918c857e756d675d58626e7b8691969b9e9f9f9e9e9c9386796c605346392d2013000000000009141f29333d47505a616b707a82888e9298999c9d9e9f9f9f9e9c9a99938f8a837c726d635c52493f352b1f150b01000000000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000000000000000000000000000000000003080d111414171a1c1e1f20201f1e1d1a171414110d080300000000000000000000000000000000000000000000000000050e171f252a2d2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e313d4a5764707d8a97a39d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000006111c27323b434a4f51525353535251504e4b4746413a37312a221b120900000000000000000000000000000000000000000000000000080f151a1d1f20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020171714110c050000000000000000080f151a1d1f20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020171714110c050000000000000000000000000000000001070c10132020202020202020201f1d1a150f080000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191515120f0a0401000000070c101313181c1e1f201f1e1d1b181815120d060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070a0d0f11121313131211100d0b0807050200000000000000000000000000000000000000000000000000000000000000000000000000010406070a0d0f11121313131212100f0c09070604000000000000000000000000000000000000000000000000000000000000000c17232e38424f59626d74808d929ea1a9a39f97918c8885838282838385888b90959ea1a8a29f928d80736d62574d42362a20160a0000000013202c3946535f6c7986929faca79a8d8074675a4d4e5a6774807d7974706d666764636261606163656c727d87929faca79b8f8275665c5145382c1f130600000a1723303d4a5663707d8998a3aea89b8e8275675d51433a2f23181d1d1d1d1d161f2834404a545c606a6864615e5655534e463c32261b0f030000000814212e3b4754616e7a8794a1acacb4aeaca6a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a6a8aaa9a7a09d9590857d6f6a5f554b4034291e130800000000000b17232e3842505a606d79828d929b9fa4ababa39f9d9c9b9c9d9fa19e97928b82796d685f6a76828f98a1a8aaa39f9995949386796c605346392d201300000000020e1a25303b454f59616c717d858f939a9fa3aaa9aaa8a7a6a7a9a9aba49f9c9490867f736e635b51473d31271d1207000000000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000000000000000000000000000000060b1014191e20212427292b2c2c2c2c2b2a272421201e19140f0b0600000000000000000000000000000000000000000000020d17202930363a3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3d4a5764707d8a97a39d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000a16222e39434d555b5d5f5f605f5f5e5c5b5854524c47433c342d241b1108000000000000000000000000000000000000000000000009121920262a2c2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211c17100800000000000009121920262a2c2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211c1710080000000000000000000000000000030b12181c1f2d2d2d2d2d2d2d2d2c2c2a262019120900000000000000000000000000000000000000000000040a0f141a1e212125282a2b2c2c2c2b2a282622211f1b15110d08030b12181c1f2025292b2c2c2c2b2a272524221d181109010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606b727f8c929ca4aaa299928c84807b787675757677797b7f838a91969fa6a49c928b7f72695f53463d32271b0f0300000013202c3946535f6c7986929faca79a8d8074675a4d4c58646e74716d6663605c54585655545454535b606b74818d9aa9ac9f9285796d6053463a2d20130700000d1a2733404d5a6673808d99aab4aa978b7e7164554c4131282a2a2a2a2a2a2a2a2a232e39424a51535d5b5754524c4847433c342a20150a000000000814212e3b4754616e7a8794a7afb4aba39f9a9898989898989898989898989898989898989898999b9ea1a9aca79f9792857c6e675c51453a3025190d0100000003101c28343f4a54616c74818e949da4aca7a09d9992908f8f8f9192999a9e9f948f837a6d666f7c88949faaaea398928c88878886796c605346392d20130000000005121e2a36424d57606b717e8791979ea5acaba9a19e9b9a9a9b9d9fa4abaca69f98928b80736d62594f43392f23180c000000000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000000000000000000000000000020a11171c1f252a2d2e3134363839393938373634312e2d2a251f1b17110a02000000000000000000000000000000000000000009141f29323b4246474848484848484848484848484848484848484848484848484848484848484a5764707d8a97a39d9083766a5d5043372a1d100000000000000000000000000000000000000000000000020e1a27333f4a555f676a6c6c6c6c6c6b696764615e56534e463e362d23190b0200000000000000000000000000000000000000000008121b242b3136383939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393931302d28221a12080000000008121b242b3136383939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393931302d28221a1208000000000000000000000000030d151d23292c3939393939393939393836312b241b12080000000000000000000000000000000000000000060c161b1f252a2d2e31343738393939383735322f2e2b26201d19130c151d23282c2d32353839393838363432312e29231b13090000000000000000000000000000000000020507080b0e111112131312110f0c0908060300000000000000000406070b0f1213131211100e0c0b09060100000000000000000000000000000000000000050a0d0f101313100f0d0a050000000000000000000000000000000000000000000000000000000000000000060a0e1011121313131212100e0b0707050100000000000000000000000000000000000000000000000006121f2c3844505c666f7c87929fa4aba29892878079736f6a6a696869656c6e72777d848f949fa6a49f92867b6e61584e43382b1f130600000013202c3946535f6c7986929faca79a8d8074675a4d47525c646764605c5453514b4b4948474748495059626e7b8897a1ada298887c6f6255493c2f2216090004101c2834404b546976828f9ca9aea398887b6f6255483c2f3737373737373737373737373039404446514e4b4746413c3b37322a261f180f060000000814212e3b4754616e7a87959fa3aba399928d8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8c8c8f92979ea1a9a9a2979184796d60564c41362a1d110500000006121f2b3844505c66717e8b939ea6aea59d95908a86838282838486898d92979f959083786d73808d99a6b0a89f9286807c7a7b7d7063574a3d3024170a000000030e18212d3a46525e69707d879299a1a9ada79f9d97928f8d8d8e9093999fa2aaaaa39f928b7f726b60554b4034291c12070000000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000000000000000000000001070c141c23282b3036393b3e414344454646454443413e3b3936302b27221b140b07000000000000000000000000000000000000020e1925303b444d5254545454545454545454545454545454545454545454545454545454545454545764707d8a97a39d9083766a5d5043372a1d10000000000000000000000000000000000000000000000003101d2936434f5b6771777879797978787674716d68625f5850483e352b1d140a0000000000000000000000000000000000000000040f19242d353d4245464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646463e3c39332c241a10050000040f19242d353d4245464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646463e3c39332c241a100500000000000000000000010b151f272f343846464646464646464645423d352d24190f040000000000000000000000000000000000030a111720272b31363a3b3e4144444546464544423f3c3b37322c29241e191e272e34383a3e42454646454443413f3d3a342d251b1106000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191515120f0a0401000000070c101313181c1e1f201f1e1d1b181815120d0600000000000000000000000000000000030a11161a1c1d20201d1c1a16110a0300000000000000000000000000000000000000000000000000000000040b11161a1d1e1f2020201f1e1d1b181413110d080200000000000000000000000000000000000000000003101c28343f4a54606d78839099a3afa39992867d736d67625f585c5c535b6061656c707a828f949fa9a2988f82766a6054473b2e22150800000013202c3946535f6c7986929faca79a8d8074675a4d414a52585a5753504a4645403e3c3b3b3a3b3f47535f6a7885929eabaa968a7d7063574a3d3024170a0006131f2c3845515c667884919eabac9f9286796d6053464444444444444444444444444444444444444444444444444444443b3a36312a21180e0300000714202d3a4753606d79838c9299a29f9286807f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f8082858a91969fa7a9a0968c7f73685e5246392d2013080000000713202d3a4653606d7884919ea5afa69d938e837d797776757677797c80858c9298958e81747683909ca9aca0958a7e736f6e6e706b6155483c2f2316090000000915202c38444f59616e7b869299a3abada49c959089858281808183878c9298a0a8aea49f93877d6f675c5145392e23180c0000000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000000000000000000000030b12181e262e34383b4146474a4d4f515253535251504d4a4746413b37332d261d18120b030000000000000000000000000000000005111e2a36424d565e61616161616161616161616161616161616161616161616161616161616161616164707d8a97a39d9083766a5d5043372a1d10000000000000000000000000000000000000000000000004111e2a3744515d6a778385868686858483817e7a756e6a615a50473d2f261b1106000000000000000000000000000000000000000915202b353f474e52535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534a49453e362c22170c00000915202b353f474e52535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534a49453e362c22170c0000000000000000000007121d2731394045535353535353535353524e473f352b20150900000000000000000000000000000000030c151c232832373b4246484b4e505152535252504e4c4847433c39352f28222b30394045464b4f5152535251504e4b4a463f372d23180d010000000000000000000000040a0f141a1e212125282a2b2c2c2c2b2a282622211f1b15110d08030b12181c1f2025292b2c2c2c2b2a272524221d1811090100000000000000000000000000040d151c2226292a2d2d2a2926221c150d040000000000000000000000000000000000000000000000000000050e161c2227292a2c2c2d2c2c2b29282521201d19130f0a030000000000000000000000000000000000000006121f2c3844505c66727f8b95a0aba89f92877d706b605d55534e4f4f495053555a61686d79829097a1a49f94897c6f6256493c2f23160900000013202c3946535f6c7986929faca79a8d8074675a4d4141474c4e4a46443f3a38342e302f2e2d2d37434e586a7784909daaa4978b7e7164584b3e3125180b000713202d3a4653606d7986939facaa9d908477665c50505050505050505050505050505050505050505050505050505050504846423b332a1f140900000613202c3945515d676d787f879297a29992867e727272727272727272727272727272727272727375797e8490959fa9a89f92867a6d6154473a2f24190d0100000b1824313e4b5764717e8a96a0acac9f948e8179716d67696869676d70747a7f869095938a7e7885929fabaa9d9184776c6261616361594f44382c2014070000020f1a26313c4855616b75828f98a2abada39b928c837d7975747374767a7f869196a0a8afa4999184796d60544a4034281c100400000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000000000000000000050d151d242930383f44464c5254575a5c5e5f5f5f5f5e5d5a5754524c46443f382f28231c150c030000000000000000000000000000000714202d3a46525e696e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e707d8a97a39d9083766a5d5043372a1d10000000000000000000000000000000000000000000000006121f2c3945525f6c78859292999292918f8e8b87827c716c61594f41382d22170b000000000000000000000000000000000000000e1a26313d4751595e5f606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060575550483e33281c1104000e1a26313d4751595e5f606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060575550483e33281c11040000000000000000000c18232f39434b515f606060606060605f5e5951473d31261a0e010000000000000000000000000000030d151e262e343d43474d5354585b5d5e5f5f5f5e5d5b5955534e4745413a3129343c424b5153585c5e5f5f5f5e5d5a585651493f34291d120600000000000000000000060c161b1f252a2d2e31343738393939383735322f2e2b26201d19130c151d23282c2d32353839393838363432312e29231b1309000000000000000000000000030d161f272d32353639393635322d271f160d03000000000000000000000000000000000000000000000000040e1720272e3336373939393939383634312e2d2a251e1a150e060000000000000000000000000000000000000713202d3a4653606d7984919ea7ada1968d80736b6059514b474342423f44464850565d676d7a85929b9993908c8275685c4f4235291c0f02000013202c3946535f6c7986929faca79a8d8074675a4d41363c3f413e3a38342e2c2823232221212c3844505c667784919daaa5988b7f7265584b3f3225180c000815212e3b4854616e7b879aa4afa99c90837669545d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d55534d453b31261a0e020004101d2935404b555d666d727d859298a29892877f716b6565656565656565656565656565656566666d717a839097a1ada2988b7f7265564c4135291d11040005121e2a36424d576875818e9ba8afa49a8f82786d66605d555c555c6063676d727b838f9391857b8797a2ada79a8d8074675a545557554f473e33281c1004000006121f2b37434e5863707d8a939eaaafa59b918b8078706c66676768686d737b849196a0acaba0968c7f72665c5144382c1f120600000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000000000000000000050e161f272f353e424a5053565e616467696b6c6c6c6b6a696764615e56535049413d342e271e150c0300000000000000000000000000000814212e3b4754616e7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7f8b98a49d9083766a5d5043372a1d10000000000000000000000000000000000000000000000006121f2c3945525f6c7885929493939496999a99938e867e716b6053493f33271b0f03000000000000000000000000000000000000111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d21140800111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d211408000000000000000004101c2934404b555c6c6c6c6c6c6c6c6c6c6a63594e42362a1d110400000000000000000000000000010b151f2730383f444e54575e6164676a6b6c6c6c6b6a6865625f5854524c433f353c464e545c6065686b6c6c6b6b696765625b51463a2e2215090000000000000000030a111720272b31363a3b3e4144444546464544423f3c3b37322c29241e191e272e34383a3e42454646454443413f3d3a342d251b110600000000000000000000000a151f2831383e4243464643423e3831281f150a0000000000000000000000000000000000000000000000000b16202932393f434445464646454543413e3a3936302b2620180f090000000000000000000000000000000004101d2935404b5564717d8a96a1acaa9e9184796d60594f45403937312d3337393e444c555e68717e8b8e8a86837f7c6f6255483c2f22150900000013202c3946535f6c7986929faca79a8d8074675a4d4134303334312d2c28231f1c18161e2429363e4653606d7985929facab978a7e7164574b3e3124180b000916232f3c4956626f7c8995acb6a89c8f82756a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a615f574d42362a1e120500010d18242f39434b545c606b707d86929fa29992877d70675d5858585858585858585858585859545c60686d7a85919ea9aa9c908376685d5245392c201306000714202d3a46525e697885919eabac9f93877c6f665c54514b4f4b5153555d60696e79818f949083909da9b3a4988b7e7165584b484a48443e352c21160b0000000814212e3a47535f6a7683909ca5afa99e938b7f736c65605b545a565e61696e7a84919aa4afa89e9285796d6053463a2d22170b00000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000000000000000040d162028313940454f545c6064686e7174767778797978777674716e6863605b534e44403930271e150c0300000000000000000000000000111e2a3744515d6a7784878787878787878787878787878787878787878787878787878787878787878787878b919ba99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000006121f2c3945525f6c78858887868787898d92979f9892887d70655b5044372b1f1205000000000000000000000000000000000000121f2c3845525e6a7579797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979716c6155493c3023170a00121f2c3845525e6a7579797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979716c6155493c3023170a000000000000000006131f2c3845515c67767979797979797979756a5e5245382c1f12060000000000000000000000000007121d273139424a50586062696e71747777787979787775726f6a66605d56504540454e5860666d717578797978777674726d62564a3d3124180b00000000000000030c151c232832373b4246484b4e505152535252504e4c4847433c39352f28222b30394045464b4f5152535251504e4b4a463f372d23180d0100000000000000000005111c27313a434a4e505353504e4a433a31271c11050000000000000000000000000000000000000000000006111c27323b434a4f51525353535251504e4b4746413a37312a221b12090000000000000000000000000000000613202c3945515d6775828f9ba8aea3988b7e71675d51473d352f2b2622272b2d323a434c56606d7883817e7a76736f6a5f53473b2e21150800000013202c3946535f6c7986929faca79a8d8074675a4d413427262724201f1c1713141920282f353f48515b63707d8998a2aea399897c6f6356493c30231609000a1623303d495663707c8996a3afa89b8e8177777777777777777777777777777777777777777777777777777777777777776e695f53463a2d211407000007121d283139424a5059606b717e8b949fa39991857a6d60564c4c4c4c4c4c4c4c4c4c4c4c4c4a51565e68717e8b97a1a69f94877a6d6054473a2d211407000815212e3b4854616e7b8797a1adaa9d9083776a5f544b4540424045474b51575f676d78828f9590959fabb0a3968a7d7063574a3d3d3c38332c231a10050000000815222f3b4855626e7b88949fabada2978e81746d605b53504a4d4c52575e68707d87939facada1978a7d716453493f33271b0f03000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000000000000010c161f28323a434b515961666d71767a7e808284858686858483807d7a76706c656058514a423930271e150a00000000000000000000000000111e2a3744515d6a778490949494949494949494949494949494949494949494949494949494949494949494989ba3a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000916232f3c4956626f7c7b7a7a7a7b7d808590959f9a9184786c605346392d20130600000000000000000000000000000000000013202c3946535f6c79878686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867e7164574a3e3124170b0013202c3946535f6c79878686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867e7164574a3e3124170b00000000000000000714202d3a4753606d798686868686868687796c5f5346392c201306000000000000000000000000020c18242f39434b545c606a6f757b7e8183848586858583817f7c78726d68625a514b4d57606a6f797e82848586858483817f7265584b3f3225180c000000000000030d151e262e343d43474d5354585b5d5e5f5f5f5e5d5b5955534e4745413a3129343c424b5153585c5e5f5f5f5e5d5a585651493f34291d12060000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a000000000000000000000000000000000000000000000a16222e39434d555b5d5f5f605f5f5e5c5b5854524c47433c342d241b110800000000000000000000000000000714202d3a4753606d7a86929facac9f92867a6d60554b403529241d1a171b1f2028313a44515c666d7775716d6866625f584e43372b1f120600000013202c3946535f6c7986929faca79a8d8074675a4d4134271a1b171312100e171f252a323a4145515a626d76828f9caaac9f9286796d6053473a2d201407000a1724303d4a5763707d8a96a3b0ab9e928583838383838383838383838383838383838383838383838383838383838383837b6e6155483b2e2215080000010c161f2830383f444f59626c76828f9ca7a1978d8073685e52463f3f3f3f3f3f3f3f3f3f3f40444c56606d7985929a999896897c6f6356493c30231609000916222f3c4955626f7c8895a9b3a79a8d817467584e4239352f34383a40454d555c666d7a85919d9fa7b1afa396897c706356493d302f2c28211a110800000005121e2a36424d576774808d9aa6b0ac9f92857a6d615b5049443f4041464d56606b75828f9baab3a99b8e8175655b5044372b1f1205000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000000000000008131e28313a444c555d606b70787e82868a8d8f919292929291908d8a87827d786f6a605c544a423930261c1106000000000000000000000000111e2a3744515d6a7784909da1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a4a7aca99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000815222e3b4754606a6f6e6d6d6d6e70737a83909da096897c6f6356493c3023160900000000000000000000000000000000000013202c3946535f6c798692939393939393939393939393939393939393939393939393939393939393939393939393939393939393938a7e7164574a3e3124170b0013202c3946535f6c798692939393939393939393939393939393939393939393939393939393939393939393939393939393939393938a7e7164574a3e3124170b00000000000000000714202d3a4753606d7a8693939393939286796c5f5346392c2013060000000000000000000000000a141e2935404b555d666d747c82878b8e909192929291908e8c88847f7a716d605d55535f696f7c848b8f9192929291908d86796c605346392d20130000000000010b151f2730383f444e54575e6164676a6b6c6c6c6b6a6865625f5854524c433f353c464e545c6065686b6c6c6b6b696765625b51463a2e2215090000000000000000010d1a26323e4a545e66696c6c69665e544a3e32261a0d010000000000000000000000000000000000000000020e1a27333f4a555f676a6c6c6c6c6c6b696764615e56534e463e362d23190b02000000000000000000000000000a1723303d4a5663707d8998a3aea89b8e8275675d51433a2f23181d1d1d1d1d161f2834404a545c606a6864615e5655534e463c32261b0f0300000013202c3946535f6c7986929faca79a8d8074675a4d4134271a0e0b070b1218202930363e444c525b626c727f8b949faba89c8f8376675d5145392c1f1306000a1724313d4a5764707d8a97a3b0ada1979290909090909090909090909090909090909090909090909090909090909090887b6e6255483b2f221508000000040d161e262e343d47505a63707c8995a0a99f92867a6d6154473b3032323232323232322e343a45515c6674818e8e8c8b89887f7265584c3f3225190c000a1723303d4a5663707d8996a3b0a6998c7f7366594c402f2924292c2f353b434b545d68707d8a959fabb7afa396897c706356493d3023201c161008000000000714212d3a46535f697884919eabafa49a8c7f73685e52443f383330363b444f5963707d8a98a2aeab9f9285796c605346392d201306000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000000000000050e19242f3a434c565e676d747d848a8f93999a9c9e9f9f9f9e9d9c9a9a938f8a837c736d665c544a42382e23170b020000000000000000000000111e2a3744515d6a7784909d9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000006131f2b38434e586062616160606163686f7c8899a4988b7e7265584b3f3225180c00000000000000000000000000000000000013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b0013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b00000000000000000714202d3a4753606d7a86939f9f9f9f9286796c5f5346392c201306000000000000000000000006111c26303845515d676d7880898f93999a9d9e9f9f9f9e9d9b9896918c857e756d675d58626e7b8691969b9e9f9f9e9e9c9386796c605346392d2013000000000007121d273139424a50586062696e71747777787979787775726f6a66605d56504540454e5860666d717578797978777674726d62564a3d3124180b0000000000000000030f1c2935424e5a66707679797670665a4e4235291c0f03000000000000000000000000000000000000000003101d2936434f5b6771777879797978787674716d68625f5850483e352b1d140a000000000000000000000000000d1a2733404d5a6673808d99aab4aa978b7e7164554c4131282a2a2a2a2a2a2a2a2a232e39424a51535d5b5754524c4847433c342a20150a0000000013202c3946535f6c7986929faca79a8d8074675a4d4134271a0e030c151c2328323b41464f565d606d727e87929fa6ada1968b7e7165554b4035291d1004000a1724313d4a5764707d8a97a3b0b3a9a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d94887b6e6155483b2e22150800000000040c141c2328353f4854606b7783909daaa3988c7f7266574d42362a25252525252525232834404b5464717e8281807e7d7c796d6053473a2d201407000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f2e23181c1f24293139424c56616c7683909da9b3afa396897c706356493d302316100b0500000000000815222e3b4855616e7b8896a1aca69f93877b6e61564c41332d28252a323d4653606c7985929fabada297887b6e6155483b2e221508000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000000000020d17202935414c555e686d79818a91969c9fa4aba5aba49f9fa4aca5aca49f9c95908780786d665c544a3f34281d140a0000000000000000000000111e2a3744515d6a77839093939393939393939393939393939393939393939393939393939393939393939393939393939083766a5d5043372a1d10000000000000000000000000000000000000000000000000030f1b27323d464e5456555453545456606c7986939f998c807366594d4033261a0d00000000000000000000000000000000000013202c3946535f6c7986929facacacaea9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a4978a7d7164574a3e3124170b0013202c3946535f6c7986929facacacaea9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a4978a7d7164574a3e3124170b00000000000000000714202d3a4753606d7a8693a0acac9f9286796c5f5346392c20130600000000000000000000000b17232e3842505a606d79828d929b9fa4ababa39f9d9c9b9c9d9fa19e97928b82796d685f6a76828f98a1a8aaa39f9995949386796c605346392d201300000000020c18242f39434b545c606a6f757b7e8183848586858583817f7c78726d68625a514b4d57606a6f797e82848586858483817f7265584b3f3225180c000000000000000003101d2a3643505d69768286868276695d5043362a1d1003000000000000000000000000000000000000000004111e2a3744515d6a778385868686858483817e7a756e6a615a50473d2f261b1106000000000000000000000004101c2834404b546976828f9ca9aea398887b6f6255483c2f3737373737373737373737373039404446514e4b4746413c3b37322a261f180f0600000013202c3946535f6c7986929faca79a8d8074675a4d4134271a0e0c151e272e343e444d525961686d757f879299a3afa59e9184796d6053463a2f24180c00000a1723303d4a5663707d8996a3b0b8b0aba99f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa9aaaaaaaaaa94877a6e6154473b2e2114080000000000020a1117232c38444f596673808c99a6aa9d918477695e52463a2d2019191919191918232e394955616c7176747371706f6d675d5145392c201306000a1723303d4a5663707d8996abb5a6998d807366544a403428211e1a181f27303a44505a64707d8a97a2adafa396897c706356493d3023160a000000000000000b1825313e4b5864717e8b939a979a9c908376695e52443a30221b19202b3844505b6676838f9ca9b3a9978a7d7064574a3d3124170a000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000000000008141e29323b45515d676d7a838e939ea0a8a7a09d99959993939a96999ea0a8a7a099928c81786d665c50443d2f261c110600000000000000000000111e2a3744515d6a77838686868686868686868686868686868686868686868686868686868686868686868686868686868683766a5d5043372a1d10000000000000000000000000000000000000000000000000000a162027333f49535b606060606062666e7b8799a4988c7f7265594c3f3226190c00000000000000000000000000000000000013202c3946535f6c7986929facb9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a978a7d7164574a3e3124170b0013202c3946535f6c7986929facb9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a978a7d7164574a3e3124170b00000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000003101c28343f4a54616c74818e949da4aca7a09d9992908f8f8f9192999a9e9f948f837a6d666f7c88949faaaea398928c88878886796c605346392d2013000000000a141e2935404b555d666d747c82878b8e909192929291908e8c88847f7a716d605d55535f696f7c848b8f9192929291908d86796c605346392d2013000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000006121f2c3945525f6c78859292999292918f8e8b87827c716c61594f41382d22170b000000000000000000000006131f2c3845515c667884919eabac9f9286796d6053464444444444444444444444444444444444444444444444444444443b3a36312a21180e03000013202c3946535f6c7986929faca79a8d8074675a4d4134271a0b151e273039404450565e616b707a818b9299a3aba79e938b7e71665c5145382c1d12070000091623303c4956636f7c8996a2afb0a69f9c9393939393939393939393939393939393939393939393939c9ea6b0aea398877a6d6054473a2d2114070000000000000006101b27323d4956636f7c8996a9aca095877b6e6154483b2e21150c0c0c0c07121d2d3944505a6164696766656362605d554b4035291d1104000915222f3c4855626f7b8899a3afa89b8f8275665c51443a322d2b2627272628323e4653606d7985929fabafa396897c706356493d3023160a000000000000000c1925323f4c5865727f8486898b8d8f8c807366574d4232281e110f1c28333f4a546774808d9aa7b2a5988b7f7265584c3f3225190c000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000000010d1925303b44515b606d798390959ea5a9a19e95908c8987868687898c91969ea1a9a39f938f81786d60584e42382d22170b00000000000000000000101d2936424f5b677177797979797979797979797979797979797979797979797979797979797979797979797979797979797671665b4e4236291c100000000000000000000000000000000000000000000000000005121f2b3744505b656c6d6c6c6d6f7278818e9ba095897c6f6356493c3023160900000000000000000000000000000000000013202c3946535f6c7986929facb9a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8a7e7164574a3e3124170b0013202c3946535f6c7986929facb9a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8a7e7164574a3e3124170b00000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000006121f2b3844505c66717e8b939ea6aea59d95908a86838282838486898d92979f959083786d73808d99a6b0a89f9286807c7a7b7d7063574a3d3024170a00000006111c26303845515d676d7880898f93999a9d9e9f9f9f9e9d9b9896918c857e756d675d58626e7b8691969b9e9f9f9e9e9c9386796c605346392d2013000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000006121f2c3945525f6c7885929493939496999a99938e867e716b6053493f33271b0f03000000000000000000000713202d3a4653606d7986939facaa9d908477665c50505050505050505050505050505050505050505050505050505050504846423b332a1f1409000013202c3946535f6c7986929faca79a8d8074675a4d4134271a121d273039424a515a62686e757d848e939fa3aba8a0958f81756c61544b4034281c0b0100000815222f3b4855626e7b8895a9b3ab9f948f8686868686868686868686868686868686868686868686868f949eaaac9f928579675d5145392c20130600000000000000000b14212d3a4754606d7a8797a1ada7978b7e7164584b3e3125180b00000000101c28333e485055575c5b5958565553514b433a2f24180d01000714202d3a4753606d7a86929facab9e9285796d60564c443d3a373134333332323845515c6675828f9ca8afa396897c706356493d3023160a000000000000000b1824313e4a56626d72787a7c7e8082847d7063574a3d3024160c0b17222d404c5966737f8c99a6b2a6998d8073665a4d4033271a0d000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000000005111e2a36414c56626d75828f959fa7a8a097928a837f7c7a79797a7c7f848a9297a0a8a59e938d80736a60544a3f33281c0f030000000000000000000e1a27333f4a555f676a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a665f554a3e32261a0d000000000000000000000000000000000000000000000001080d13202d394653606c777979797a7b7e838e939e989083786c605346392d20130600000000000000000000000000000000000013202c3946535f6c7986929facb3a79a8d80808080808080808080808080808080808080808080808080808080808080808080808080807c6f6255483c2f2215090013202c3946535f6c7986929facb3a79a8d80808080808080808080808080808080808080808080808080808080808080808080808080807c6f6255483c2f22150900000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000713202d3a4653606d7884919ea5afa69d938e837d797776757677797c80858c9298958e81747683909ca9aca0958a7e736f6e6e706b6155483c2f2316090000000b17232e3842505a606d79828d929b9fa4ababa39f9d9c9b9c9d9fa19e97928b82796d685f6a76828f98a1a8aaa39f9995949386796c605346392d2013000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000006121f2c3945525f6c78858887868787898d92979f9892887d70655b5044372b1f1205000000000000000000000815212e3b4854616e7b879aa4afa99c90837669545d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d55534d453b31261a0e020013202c3946535f6c7986929faca79a8d8074675a4d4134271a18232e39434b545c606c717b818a91969ea5afa69f959083796d605a5042392e23180c0000000714212d3a4754606d7a8797a2ada99c8f82797979797979797979797979797979797979797979797979828f9ca9ab9e9184786b554b4135291d110400000000000000030613202c3945515d677885919eaba6998d8073665a4d4033271a0d0c0c0c0c0b17222c363e44494a4f4e4d4b4a484745403a31281d1307000006131f2c3945515d677783909dabada1978a7e71685e564f484742424140403f3f3f404b546673808c99a6afa396897c706356493d3023160a000000000000000916222e3a46515b6265676d6f71737578706b6155483c2f231604061925323f4c5865727f8b98a5b2a79a8d8074675a4d4134271a0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000000000714202d3946525e68727f8b949ea7a9a09591857e77726f6d686c6d6f72787e859196a0a9a59f93877c6f665b5044382b1f13080000000000000000000a16222e39434d555b5d606060606060606060606060606060606060606060606060606060606060606060606060606060605d5b554d43382d22160a00000000000000000000000000000000000000000003090e13191d202d394653606c7984868687888b90959a9590867c6f665b5044382b1f120802000000000000000000000000000000000013202c3946535f6c7986929facada0938679737373737373737373737373737373737373737373737373737373737373737373737373736f6a5f53473a2e2115080013202c3946535f6c7986929facada0938679737373737373737373737373737373737373737373737373737373737373737373737373736f6a5f53473a2e21150800000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000b1824313e4b5764717e8a96a0acac9f948e8179716d67696869676d70747a7f869095938a7e7885929fabaa9d9184776c6261616361594f44382c201407000003101c28343f4a54616c74818e949da4aca7a09d9992908f8f8f9192999a9e9f948f837a6d666f7c88949faaaea398928c88878886796c605346392d2013000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000916232f3c4956626f7c7b7a7a7a7b7d808590959f9a9184786c605346392d201306000000000000000000000916232f3c4956626f7c8995acb6a89c8f82756a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a615f574d42362a1e12050013202c3946535f6c7986929faca79a8d8074675a4d41342716202834404b555c666d747e858e939ea1a8aca49f9490837b6e675d51483e30271d12070000000613202c3945515d677885929eabaa9d9184776c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c667784919eaaa99c8f8376695c50432f24180d010000000000040a0f13151d2935414b556a7783909daaa89b8f8275685c4f4235291c191919191919191a242c33393c3e4341403e3d3c3a39352f281f160c01000004101d2935404b5566737f8c99a3aea99e91847a6d68615955534d4f4e4d4c4c4c4b4b4c5865727f8b98a5afa396897c706356493d3023160a0000000000000006121e29343f495156555d60626467696b6361594f44382c2014070b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000005111d2935414c56616e7a85929fa6ada19791837b716c6662605d606163656c717b849197a1ada4999184786c6053463a3025190d01000000000000000006111c27313b434a4f5153535353535353535353535353535353535353535353535353535353535353535353535353535353504e4a433a31271c110500000000000000000000000000000000000000030a0f151a1e24292c2e3844505b6673808c9993999292908d89837c6f6a5f544a3f33281c19130d080100000000000000000000000000000013202c3946535f6c7986929facada093867a6d676767676767676767676767676767676767676767676767676767676767676767676767625f584e43372b1f12060013202c3946535f6c7986929facada093867a6d676767676767676767676767676767676767676767676767676767676767676767676767625f584e43372b1f120600000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000005121e2a36424d576875818e9ba8afa49a8f82786d66605d555c555c6063676d727b838f9391857b8797a2ada79a8d8074675a545557554f473e33281c1004000006121f2b3844505c66717e8b939ea6aea59d95908a86838282838486898d92979f959083786d73808d99a6b0a89f9286807c7a7b7d7063574a3d3024170a000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000815222e3b4754606a6f6e6d6d6d6e70737a83909da096897c6f6356493c30231609000000000000000000000a1623303d495663707c8996a3afa89b8e8177777777777777777777777777777777777777777777777777777777777777776e695f53463a2d2114070013202c3946535f6c7986929faca79a8d8074675a4d4134271e28323a45515c676d78818b92979ea5ada8a19a938d827a6e695e554c41362d1e150b0000000004111d2935414c55697683909ca9ab9f928578695f606060606060606060606060606060606060606d7986929faca79a8d8174675a4e4134271b070000000000070f161b1f2223242f43505d697683909ca9a99c908376695d5043362a2525252525252525252520282d303136343332302f2d2c29241d160d04000000000c18242f3b4854616e7b86929fa8ada19690827a706b65615f575c5a5a5959585858585865717e8b98a4afa396897c706356493d3023160a00000000000000010d18232d373f464a4b515356585a5c5e57554f473e33281c10040b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000000713202d3946525e6874808d98a2aea69e92857b6e69615a5654525354535b60696e7b85929ea8aba0958a7d7063564c41362a1d11050000000000000000000b151f2931393f42444646464646464646464646464646464646464646464646464646464646464646464646464646464643423e3831281f150a00000000000000000000000000000000000000060b151a1f262b2f35393a40444a54616e7b87939f92878583817d786f6a5f584e4238342e29241e19130c04000000000000000000000000000013202c3946535f6c7986929facada093867a6d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a55534e463c31261b0f030013202c3946535f6c7986929facada093867a6d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a55534e463c31261b0f0300000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000714202d3a46525e697885919eabac9f93877c6f665c54514b4f4b5153555d60696e79818f949083909da9b3a4988b7e7165584b484a48443e352c21160b0000000713202d3a4653606d7884919ea5afa69d938e837d797776757677797c80858c9298958e81747683909ca9aca0958a7e736f6e6e706b6155483c2f231609000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000006131f2b38434e586062616160606163686f7c8899a4988b7e7265584b3f3225180c000000000000000000000a1724303d4a5763707d8a96a3b0ab9e928583838383838383838383838383838383838383838383838383838383838383837b6e6155483b2e2215080013202c3946535f6c7986929faca79a8d8074675a4d41342724303a44515b606d79828e939fa2a9ada59d96918880786d685e564d433a2f241b0c0300000000010d19242f414d5a6774808d9aabaea298887b6e61555353535353535353535353535353535355626f7c8899a3afa9988b7e7265584b3f3225180c0000000007101921272c2f303236434f5c6976828f9ca9aa9d9083776a5d50443732323232323232323232322d2c28232429282625232220201d18130c0400000000000714202d3a46525e6974808d96a1a9a89f9590847d77726e696a6867666665656565646465717e8b98a4afa396897c706356493d3023160a000000000000000006111b252d343a3a404547494b4d4f514a48443e352c21170b000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000000714212e3a4754616d7a86929faaab9f948a7d70695e575049474546474950565e69717e8b96a0aca79c8f8275685e5246392d201307000000000000000000040d171f272e333637393939393939393939393939393939393939393939393939393939393939393939393939393939393736322d271f160d030000000000000000000000000000000000020a111720262b31373a4145474a5153555e6976828f9b8f82787774706c655f58504a46443f38353029241e160d070000000000000000000000000013202c3946535f6c7986929facada093867a6d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4847433c342a20150a000013202c3946535f6c7986929facada093867a6d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4847433c342a20150a0000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000815212e3b4854616e7b8797a1adaa9d9083776a5f544b4540424045474b51575f676d78828f9590959fabb0a3968a7d7063574a3d3d3c38332c231a10050000000b1824313e4b5764717e8a96a0acac9f948e8179716d67696869676d70747a7f869095938a7e7885929fabaa9d9184776c6261616361594f44382c201407000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000030f1b27323d464e5456555453545456606c7986939f998c807366594d4033261a0d000000000000000000000a1724313d4a5764707d8a97a3b0ada1979290909090909090909090909090909090909090909090909090909090909090887b6e6255483b2f2215080013202c3946535f6c7986929faca79a8d8074675a4d4134272935414c56626d75818e949da5ada9a19e938e847d736d665d564d443b31281e1209000000000000081724313e4a5764717d8a99a3afaa988b7e7165574d42464646464646464646464646424d5765727f8c98abada297887b6f6255483c2f221509000000040f19222b32383b3c3f3f434f5c6976828f9ca9aa9d9184776a5e51443f3f3f3f3f3f3f3f3f3f3f3f3a38342e271e151a1817151413110d070100000000000005121e2a36424d57606d79849197a1a9a79f969189837f7b78767574737372727271717171717e8b98a4afa396897c706356493d3023160a00000000000000000009131b23292e2f35393a3c3e4042453d3c38332c231a1005000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000005121e2a36424d5765727f8c98a2aea99c8f82766c61574d453e3a39393a3f444d57616c7784919eaaa99f93867a6d6154473a2e21140700000000000000000000050d151c2227292a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2926221c150d040000000000000000000000000000000000060c141c232831373c42474c5154545c60626466717e8a9792877b6e6a69676462605b5453504a45413a352f281f18120b03000000000000000000000013202c3946535f6c7986929facada093867a6d6053474040404040404040404040404040404040404040404040404040404040404040403c3a37312a22180e04000013202c3946535f6c7986929facada093867a6d6053474040404040404040404040404040404040404040404040404040404040404040403c3a37312a22180e040000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000916222f3c4955626f7c8895a9b3a79a8d817467584e4239352f34383a40454d555c666d7a85919d9fa7b1afa396897c706356493d302f2c28211a110800000005121e2a36424d576875818e9ba8afa49a8f82786d66605d555c555c6063676d727b838f9391857b8797a2ada79a8d8074675a545557554f473e33281c1004000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000000a162027333f49535b606060606062666e7b8799a4988c7f7265594c3f3226190c000000000000000000000a1724313d4a5764707d8a97a3b0b3a9a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d94887b6e6155483b2e2215080013202c3946535f6c7986929faca79a8d8074675a4d4134272d3946525d68727e8b939ea6afa69f979189817a706b605c544c443b32291f160c000000000000000714212e3a4754616d7a86929faca89b8e8275695e53463d313939393939393939303946525e6976828f9ca9ab9e9285786c605346392d2013060000000a16212b343d4348494c4c4c4f5c6976828f9ca9aa9d9184776a5e514c4c4c4c4c4c4c4c4c4c4c4c4c4645403930271d12070a09070604010000000000000000020e1a25303b45515d676f7c8591979ea5a8a09e95908b8885838281807f7f7f7e7e7e7e7d7d808d9aa7afa396897c706356493d3023160a000000000000000000010911181e1d24292c2d2f31343638302f2c28211a110800000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000714202d3a46525e697783909daaada197897d7063594f453b332d2c2d2d333b45505a66737f8c999d9c9c998a7d7063574a3d3024170a0000000000000000000000040b11161a1d1e202020202020202020202020202020202020202020202020202020202020202020202020202020201d1c1a16110a030000000000000000000000000000000000070f181e262e343c43474d53555d6064666d6f717375798592998c8078777673716e6c6663605c54524c45413a3128231d150c040000000000000000000013202c3946535f6c7986929facada093867a6d6053473a34343434343434343434343434343434343434343434343434343434343434342f2e2b262018100600000013202c3946535f6c7986929facada093867a6d6053473a34343434343434343434343434343434343434343434343434343434343434342f2e2b2620181006000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000a1723303d4a5663707d8996a3b0a6998c7f7366594c402f2924292c2f353b434b545d68707d8a959fabb7afa396897c706356493d3023201c161008000000000714202d3a46525e697885919eabac9f93877c6f665c54514b4f4b5153555d60696e79818f949083909da9b3a4988b7e7165584b484a48443e352c21160b00000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000005121f2b3744505b656c6d6c6c6d6f7278818e9ba095897c6f6356493c30231609000000000000000000000a1723303d4a5663707d8996a3b0b8b0aba99f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa9aaaaaaaaaa94877a6e6154473b2e2114080013202c3946535f6c7986929faca79a8d8074675a4d4134272e3a4754616d7a85929fa5afa59e948f857d746d676059514a423a322920170d04000000000000000713202d3946525d6876828f9ca9ac9f92867b6e61584e433b322c292424292c3139424d57616e7b86929faca89b8e8174655b5044372b1f12050000030f1b27323d474f5456585858585c6976828f9ca9aa9d9184776a5e585858585858585858585858585853514b42392e23180c00000000000000000000000000000009141f2935414b555f6a6f7c858f939c9fa4a79f9d989892908f8d8d8c8c8b8b8b8b8a8a8a8d929da9afa396897c706356493d3023160a0000000000000000000000060d1213181d2020232527292b2423201c1710080000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000815212e3b4854616e7b87959fabab9e9184786c6053463e33292120202227333e4956626f7c899191908f8e8d8073665a4d4033271a0d00000000000000000000000000060a0e10111313131313131313131313131313131313131313131313131313131313131313131313131313131310100d0a05000000000000000000000000000000000000081019212a30383f444e53575f62676d7175797c7e80828390979c928c848382807e7b7974706d66605d56524c433d342e271e160e0500000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d2727272727272727272727272727272727272727272727272727272727272722211f1b150e060000000013202c3946535f6c7986929facada093867a6d6053473a2d2727272727272727272727272727272727272727272727272727272727272722211f1b150e0600000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f2e23181c1f24293139424c56616c7683909da9b3afa396897c706356493d302316100b0500000000000815212e3b4854616e7b8797a1adaa9d9083776a5f544b4540424045474b51575f676d78828f9590959fabb0a3968a7d7063574a3d3d3c38332c231a100500000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000000613202d394653606c777979797a7b7e838e939e989083786c605346392d20130600000000000000000000091623303c4956636f7c8996a2afb0a69f9c9393939393939393939393939393939393939393939393939c9ea6b0aea398877a6d6054473a2d2114070013202c3946535f6c7986929faca79a8d8074675a4d41342935404b5565727f8c97a2ada59e938e827a706b605d554f444039302820170e05000000000000000005111d2935414c5664717e8b96a1ada3998d80746a60564d443e39352f2f35383c434b545e6973808d99a3aca096897d706353493f33271b0f03000007131f2c38434f59606365656565656976828f9ca9aa9d9184776a656565656565656565656565656565605c544b4034281c10040000000000000000000000000000020d18242f3a434e585f6a6f7a82898f93999c9fa2aaa29f9d9b9a999998989898979797979a9da4aeafa396897c706356493d3023160a0000000000000000000000000101070d11131416181a1c1e171614100b05000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000b1824313e4b5764717e8a97a7b1a79a8d8174665b5044382c2017131317202d3a4753606d79868584838281807e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a222b333c424a50585f62696e747a7e8185888b8d8f9095a0a49c9691908f8d8a8885817d79736d68605d564f454039302820160e05000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1515120f0a04000000000013202c3946535f6c7986929facada093867a6d6053473a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1515120f0a040000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000a1723303d4a5663707d8996abb5a6998d807366544a403428211e1a181f27303a44505a64707d8a97a2adafa396897c706356493d3023160a000000000000000916222f3c4955626f7c8895a9b3a79a8d817467584e4239352f34383a40454d555c666d7a85919d9fa7b1afa396897c706356493d302f2c28211a11080000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000020a13202d394653606c7984868687888b90959a9590867c6f665b5044382b1f1206000000000000000000000815222f3b4855626e7b8895a9b3ab9f948f8686868686868686868686868686868686868686868686868f949eaaac9f928579675d5145392c2013060013202c3946535f6c7986929faca79a8d8074675a4d41342c3945515d677783909da9ac9e938e81786d686159514c433d342e271e160e05000000000000000000010d1924303a4653606d7984919ea7ab9f92877c6f685e564f47454141414045474e555c666e7b86929faba89e9184786c605346392d22170b0000000915222f3b4854606b6f72727272727276828f9ca9aa9d918477727272727272727272727272727272726d665c5145382c1f130600000000000000000000000000000007131d28313c464e585f686d757c82878b8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abacb5afa396897c706356493d3023160a00000000000000000000000000000001040607090b0d0f120a0a07040000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00010e1b2734414e5a6774818d9aa7b4aa978a7e7164544a3f33281a0e0606131f2c3845515c676d79787776757474716c6155493d3023170a0000000000000000000000000000000000000000000000000002050708080808080808060503000000000000000000000000000000000000000000000000000000000000000000000000000000000007111a232b343d454d545c606a6e757b81868a8e929897999c9da0a7aea8a19e9d9c9a9797928e8985807a736d686059514b423a322820170e050000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d090806030000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0908060300000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000915222f3c4855626f7b8899a3afa89b8f8275665c51443a322d2b2627272628323e4653606d7985929fabafa396897c706356493d3023160a000000000000000a1723303d4a5663707d8996a3b0a6998c7f7366594c402f2924292c2f353b434b545d68707d8a959fabb7afa396897c706356493d3023201c161008000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000001070c141c232b3844505b6673808c9993999292908d89837c6f6a5f544a3f33281c0f03000000000000000000000714212d3a4754606d7a8797a2ada99c8f82797979797979797979797979797979797979797979797979828f9ca9ab9e9184786b554b4135291d11040013202c3946535f6c7986929faca79a8d8074675a4d41342d3a4753606d7a86929faca49a8f81776d665e564f45413a3128231c150c04000000000000000000000008131f2c3845515c67727f8b95a0aba39991847a6e68615954514c4e4e4b5153575f676d78839098a2aca0968b7f72665b5044382b1b1106000000091623303c4956636f7d7f7f7f7f7f7f7f83919daaab9e91857f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f796d6053463a2d201307000000000000000000000000000000010c161f2a343c464e565e616b6f757b7f8285888a8c8d8f8f9090919191919292929292999ba3acafa396897c706356493d3023160a000000000000000000000000000000000000000000010305000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0004111d2935414c566a7683909da9aea298887b6e6155483b2d2217080004101c2934404b555c606c6b6a6969686764615a5045392d211408000000000000000000000000000000000000000000000003090e12141515151515151513120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000050f19232b353d464e575f666d727c81878e92999b9fa2aaa6a8aaa9a8a7a7a8a9aaa9a6a9a29e9a97928d85807a706b605c544c443a322920170c0300000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140701010101010101010101010101010101010101010101010101010101000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201407010101010101010101010101010101010101010101010101010101010000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000714202d3a4753606d7a86929facab9e9285796d60564c443d3a373134333332323845515c6675828f9ca8afa396897c706356493d3023160a000000000000000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f2e23181c1f24293139424c56616c7683909da9b3afa396897c706356493d302316100b0500000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000030b12181e262e34383f4a54616e7b87939f92878583817d786f6a5f584e42382d2218120b030000000000000000000613202c3945515d677885929eabaa9d9184776c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c667784919eaaa99c8f8376695c50432f24180d010013202c3946535f6c7986929faca79a8d8074675a4d41342f3c4855626f7b8899a3ac9f93877b6e655c544c443d352f281f18120b0300000000000000000000000004101c2834404b55606d78839099a3aba09690837a706b64605d555b5b555d60636a6e79818e959faaa49a9184796d60544a3f33281c0a000000000d1a2734404d5a6773808b8b8b8b8b8b8b9195a0acada197918b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b877a6d6054473a2d21140700000000000000000000000000000000040d18222a343c444c52596063696e7276797b7d7f81828383848484848585858585868b909ba7afa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000713202c3945525d687885929fabac9f9285796c605346392d20130600000c18232f39434b51535f5e5e5d5c5b5a575550483e33281d110500000000000000000000000000000000000000000000050d141a1e2121212121212121201f1b17110a020000000000000000000000000000000000000000000000000000000000000000000000030d17212b353d474f5860696e787f868e93999fa3ababaca8a9a29e9d9b9b9a9b9c9d9fa3aaa9aba9a19e98928c857d736d665d564c443a32291e150a00000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000006131f2c3945515d677783909dabada1978a7e71685e564f484742424140403f3f3f404b546673808c99a6afa396897c706356493d3023160a000000000000000a1723303d4a5663707d8996abb5a6998d807366544a403428211e1a181f27303a44505a64707d8a97a2adafa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000050d151d242930383f44464c535e6976828f9b8f82787774706c655f584e443f382f28231c150c03000000000000000004111d2935414c55697683909ca9ab9f928578695f606060606060606060606060606060606060606d7986929faca79a8d8174675a4e4134271b07000013202c3946535f6c7986929faca79a8d8074675a4d4134303c4956636f7c8996abaa9e918477695e534a423a3229241e160d070000000000000000000000000000000c18232e3944515c666f7c87929fa4a8a09590847d76716d6769676869676d70757b838e939ea7a59f93887d70665c5142382d22170b000000000d1a2734404d5a6773808d9898989898989da0a7b1b3a9a19e98989898989898989898989898989893877a6d6054473a2d21140700000000000000000000000000000000050e171e252a323a41464f54575e6165666d6f717374757676777777787878787879797e8b98a4afa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000714212d3a4754606d7a8797a2adaa9d918477655b5044372b1f1205000007121d273139404547525251504f4e4d4b49453e362c22170c00000000000000000000000000000000000000000000050f171f252a2d2e2e2e2e2e2e2e2d2b27221b140b02000000000000000000000000000000000000000000000000000000000000000000010b151f29333d474f59606a6f7b838c92999fa4abadaaa29f9b979792908f8e8e8e8f909298989d9fa7acaaa29f97918880786d685e564c443a30261c1106000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c07060401000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c070604010000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000004101d2935404b5566737f8c99a3aea99e91847a6d68615955534d4f4e4d4c4c4c4b4b4c5865727f8b98a5afa396897c706356493d3023160a000000000000000915222f3c4855626f7b8899a3afa89b8f8275665c51443a322d2b2627272628323e4653606d7985929fabafa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000050e161f272f353e424a5053565e6164717e8a9792877b6e696764615e56535049413d342e271e150c0300000000000000010d19242f414d5a6774808d9aabaea298887b6e61555353535353535353535353535353535355626f7c8899a3afa9988b7e7265584b3f3225180c000013202c3946535f6c7986929faca79a8d8074675a4d41342f3c4955626f7c8895a7ab9e9184786a5f544a423930281f160d040000000000000000000000000000000007121d2834404a54606a727f8c929ca4a7a096918a827d7a7775747475767a7d818790959ea5a59e938d80736b60544b402f261c1106000000000d1a2734404d5a6773808d9a9f9f9f9f9fa9aab0b8bab2acaa9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f93877a6d6054473a2d211407000000000000000000000000000000020c1720293036393a3e3f44484d5354545c606264666768696a6a6a6b6b6b6b6c6c6c717e8b98a4afa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000815222f3b4855626e7b8895a9b3a99c8f82766953493f33271b0f030000010b151f272f34383a464544434241413e3d39332c241a1006000000000000000000000000000000000000000000030c17212931363a3b3b3b3b3b3b3b3937332d261d140a00000000000000000000000000000000000000000000000000000000000000000007121d27313b454f59606b707c8590959fa3abaea9a19e98928e8a87858382818181828386888b90959b9fa4aca9a19a938d837a6d685e564c42382e23170d040000000013202c3946535f6c7986929facada093867a6d6053473a2d2019191919191919191919191919191919191919191919191919191413110d070100000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d2019191919191919191919191919191919191919191919191919191413110d0701000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000c18242f3b4854616e7b86929fa8ada19690827a706b65615f575c5a5a5959585858585865717e8b98a4afa396897c706356493d3023160a000000000000000714202d3a4753606d7a86929facab9e9285796d60564c443d3a373134333332323845515c6675828f9ca8afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000040d162028313940454f545c6064686e7174798592998c80777674716e6863605b534e44403930271e150c0300000000000000081724313e4a5764717d8a99a3afaa988b7e7165574d42464646464646464646464646424d5765727f8c98abada297887b6f6255483c2f221509000013202c3946535f6c7986929faca79a8d8074675a4d41342e3a4754616d7a8795a0aca196887c6f665c544b423a31281f160d03000000000000000000000000000000000c18232e39424e58626d73808c929ea1a8a19e948f8a8683828181828386898e93999fa7a39f938f81786d60594f42392e1d140a00000000000d1a2734404d5a6773808d9393939393939c9fa6b0b2a8a09393939393939393939393939393939393877a6d6054473a2d21140700000000000000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f65717e8b98a4afa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00091623303c4956636f7c8996a2afa89b8e8175685b4e422d22170b00000000030d151d23292c2d3938373636353431302d28221a1208000000000000000000000000000000000000000000000a151e29333b42464848484848484846443f382f261b110600000000000000000000000000000000000000000000000000000000000000000c18242f39434d57606b707d8692979fa7aeaba39f96918b86817e7b7876757474757677797c7f83888e939a9fa7aca49f9590837a6d685e544a3f34281f160c0100000013202c3946535f6c7986929facada093867a6d6053473a2d26262626262626262626262626262626262626262626262626262621201d18130c04000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d26262626262626262626262626262626262626262626262626262621201d18130c040000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000714202d3a46525e6974808d96a1a9a89f9590847d77726e696a6867666665656565646465717e8b98a4afa396897c706356493d3023160a0000000000000006131f2c3945515d677783909dabada1978a7e71685e564f484742424140403f3f3f404b546673808c99a6afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000010c161f28323a434b515961666d71767a7e80828f979c928c8483807d7a76706c656058514a423930271e150a000000000000000714212e3a4754616d7a86929faca89b8e8275695e53463d313939393939393939303946525e6976828f9ca9ab9e9285786c605346392d201306000013202c3946535f6c7986929faca79a8d8074675a4d41342d3946525e687784919da8a89c9082786d665c544b433a31281f150b0100000000000000000000000000000007121c27303d46515b646e73808a92979fa3a69f9c9992908f8e8e8f9092989b9fa4a69f99928c81786d665c50473d30271d0b0200000000000d1a2734404d5a677380868686868686868f949faaaca0968986868686868686868686868686868686867a6d6054473a2d2114070000000000000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525965727f8c98a5afa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000a1724303d4a5763707d8a96a3b0a79a8d8174675a4e4134271b060000000000030b12181c1f202c2b2b2a2928272423211d1710080000000000000000000000000000000000000000000006111c26303b454d535454545454545453504941382d22170b0000000000000000000000000000000000000000000000000000000000000004101d2935404b555e69707d879298a2a9b1a8a099928c847f7a75716e696a6868676869666d6f72767b818790959da4afa79f9590837a6d665c50443e31281d130700000013202c3946535f6c7986929facada093867a6d6053473a333333333333333333333333333333333333333333333333333333332d2c29241d160d040000000000000013202c3946535f6c7986929facada093867a6d6053473a333333333333333333333333333333333333333333333333333333332d2c29241d160d0400000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000005121e2a36424d57606d79849197a1a9a79f969189837f7b78767574737372727271717171717e8b98a4afa396897c706356493d3023160a0000000000000004101d2935404b5566737f8c99a3aea99e91847a6d68615955534d4f4e4d4c4c4c4b4b4c5865727f8b98a5afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000008131e28313a444c555d606b70787e82868a8d8f949fa49c9691908d8a87827d786f6a605c544a423930261c11060000000000000713202d3946525d6876828f9ca9ac9f92867b6e61584e433b322c292424292c3139424d57616e7b86929faca89b8e8174655b5044372b1f1205000013202c3946535f6c7986929faca79a8d8074675a4d41342935414c5666727f8c96a1ab9f948e81786d665d554c433a31271d1207000000000000000000000000000000000b151e2b343f49525c646e737e858e92999ea1a8a39f9d9c9a9b9c9d9fa3a9a29f9b948f877f776d665c544a3f352c1e150b0000000000000d1926333f4c58646e7379797979797979828f9ca9aa9d9184797979797979797979797979797979797976685d5245392c201307000000000000000000000000000005111d2a36414c565e6164656768696a6b68655d534840414243434444444545454d596673808c99a6afa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000a1724313d4a5764707d8a97a3b0a79a8d8074675a4d4134271a0e01000000000001070c1013141f1f1e1d1c1b1a181714110c0600000000000000000000000000000000000000000000000c17232e38424d575e61616161616161605b53493f33271b0f03000000000000000000000000000000000000000000000000000000000005101a232c3945515d676e7b859299a2aab1a79f9691878079726d6764615e575c5b5b5b545c6062656a6e747c838d929fa3aba7a0959082786d60594f433a2f24180d02000013202c3946535f6c7986929facada093867a6d6053473f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3a39352f281f160c0100000000000013202c3946535f6c7986929facada093867a6d6053473f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3a39352f281f160c01000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000020e1a25303b45515d676f7c8591979ea5a8a09e95908b8885838281807f7f7f7e7e7e7e7d7d808d9aa7afa396897c706356493d3023160a00000000000000000c18242f3b4854616e7b86929fa8ada19690827a706b65615f575c5a5a5959585858585865717e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000050e19242f3a434c565e676d747d848a8f93999a9c9fa6aca8a09e9c9a9a938f8a837c736d665c544a42382e23170b02000000000005111d2935414c5664717e8b96a1ada3998d80746a60564d443e39352f2f35383c434b545e6973808d99a3aca096897d706353493f33271b0f03000013202c3946535f6c7986929faca79a8d8074675a4d413425303a4754606d79849199a4a69e938e81786d675d564c43392f24180d03000000000000000000000000000000030c19222d37404a525c636c717a81868d9196989b9c9e9f9f9f9f9e9d9b9997928e89827c736c655c544b42382e231a0c030000000000000b17232f3b47525c64676c6c6c6c6c6c76828f9ca9aa9d9184776c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5d564c4135291d110400000000000000000000000000000713202d3946525e686d71727374767778756f65594d3d323536373737383835404b556774818e9aa7b2a995887b6e6255483b2f221508000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000b1724313e4a5764717d8a97a4b0a69a8d8073675a4d4034271a0d010000000000000000040607131211100f0e0e0b0a080500000000000000000000000000000000000000000000000003101c28343f4a545e696e6e6e6e6e6e6e6c655b5044372b1f120500000000000000000000000000000000000000000000000000000000000b16212b37434e58606d79839097a1abb1a79f9590847c736d67605d5554524d4f4e4e4e4a505355585f626a6f78808a9299a3aba79f948d80736b61554b4035291f1409000013202c3946535f6c7986929facada093867a6d60534c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4745413a31281d130700000000000013202c3946535f6c7986929facada093867a6d60534c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4745413a31281d1307000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000009141f2935414b555f6a6f7c858f939c9fa4a79f9d989892908f8d8d8c8c8b8b8b8b8a8a8a8d929da9afa396897c706356493d3023160a00000000000000000714202d3a46525e6974808d96a1a9a89f9590847d77726e696a6867666665656565646465717e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000020d17202935414c555e686d79818a91969c9fa4aba5aba49f9fa4aca5aca49f9c95908780786d665c544a3f34281d140a0000000000010d1924303a4653606d7984919ea7ab9f92877c6f685e564f47454141414045474e555c666e7b86929faba89e9184786c605346392d22170b00000013202c3946535f6c7986929faca79a8d8074675a4d4134272c3945515d67707d87939fa3a59e938f82796d685d554b4035291f150b0100000000000000000000000000000007101b252e38404a525a61686d747b8084888b8e90919292929291908e8c8985817c766f6a605b534b423930261c11080000000000000007131f2b36404a52585a60606060606976828f9ca9aa9d9184776a6060606060606060606060606060605f524c443a2f24190d0100000000000000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372e2c2823282c2f3945515d677783909daaada196877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000a1724313d4a5764707d8a97a3b0a79a8d8074675a4d4134271a0e010000000000000105090b0b121111100f0e0d0908060300000000000000000000000000000000000000000000000006121f2c3844505c66767b7b7b7b7b7b7b776c605346392d2013060000000000000000000000000000000000000000000000000000000004101c27333a47535f6a74808d95a0a9b2a89f9590837a6f6a605c55514b484642424141423f4446494e53585f666d737e879299a4afa69f93887d70675d51453b30251a0e020013202c3946535f6c7986929facada093867a6d605959595959595959595959595959595959595959595959595959595959595954514b433a2f24180d01000000000013202c3946535f6c7986929facada093867a6d605959595959595959595959595959595959595959595959595959595959595954514b433a2f24180d010000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000020d18242f3a434e585f6a6f7a82898f93999c9fa2aaa29f9d9b9a999998989898979797979a9da4aeafa396897c706356493d3023160a000000000000000005121e2a36424d57606d79849197a1a9a79f969189837f7b78767574737372727271717171717e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000008141e29323b45515d676d7a838e939ea0a8a7a09d99959993939a96999ea0a8a7a099928c81786d665c50443d2f261c1106000000000008131f2c3845515c67727f8b95a0aba39991847a6e68615954514c4e4e4b5153575f676d78839098a2aca0968b7f72665b5044382b1b110600000013202c3946535f6c7986929faca79a8d8074675a4d4134272935414b55606b727f8c919fa3a59e948f837a6d675d51453e31271d12070000000000000000000000000000000009131c262e38404850565e61696e73787c7e818384858686858583817f7c79746f6a625f585049413930271e150a0000000000000000020e19242e3840474c4d535353535c6976828f9ca9aa9d9184776a5e53535353535353535353535353535345413a32281e13080000000000000000000000000000000815212e3b4854616e7b878c8d8e8f909184786a6054473f3a38342e34383a404b55606d7a86929facab9e918578675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000a1724303d4a5763707d8a96a3b0a79a8d8074675a4d4134271a0e010000000000060c111517181f1e1d1c1b1a191615130f0a04000000000000000000000000000000000000000000000713202d3a4653606d7986878787878786796d6053473a2d201407000000000000000000000000000000000000000000000000000000000714202c38444f59626e7c87929fa7b1aaa1969083796d685f58514b45413b3a363035342e34383a3c43474e545c606c717e87939fa5afa49a9185796d60574d42362a1e11050013202c3946535f6c7986929facada093867a6d6666666666666666666666666666666666666666666666666666666666666666605d554b4135291d1104000000000013202c3946535f6c7986929facada093867a6d6666666666666666666666666666666666666666666666666666666666666666605d554b4135291d11040000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000007131d28313c464e585f686d757c82878b8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abacb5afa396897c706356493d3023160a0000000000000000020e1a25303b45515d676f7c8591979ea5a8a09e95908b8885838281807f7f7f7e7e7e7e7d7d808d9aa7afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000010d1925303b44515b606d798390959ea5a9a19e95908c8987868687898c91969ea1a9a39f938f81786d60584e42382d22170b000000000004101c2834404b55606d78839099a3aba09690837a706b64605d555b5b555d60636a6e79818e959faaa49a9184796d60544a3f33281c0a0000000013202c3946535f6c7986929faca79a8d8074675a4d413427242f3a434f59626d727f8b9299a2a69f959083796d605a5043392f24180c000000000000000000000000000000000915202b353f474e524c52575e61666a6f7274767878797978787675726f6d66626058534e4846423c332a1f140900000000000000000008121c262e363b3f404646464f5c6976828f9ca9aa9d9184776a5e51464646464646464646464646464639352f2820160c010000000000000000000000000000000714212d3a46535e697884919a9b9c9d96897c6f625a504a464440434044464b515c67717e8b98a3aeaa9b8f827568554b4135291d1104000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000a1623303d495663707c8996a3afa79a8e8174675b4e4134281b0700000000000911181d2124252c2b2a2928272622211f1b150e060000000000000000000000000000000000000000000713202d3a4653606d79869394949493867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000916232f3c4855616b76828f99a3afaea39891847a6d675e564e454039352f2d2a25282823282c2d31373c424a505a616c727f8b939ea8aca1978c8073695e52463a2d2014070013202c3946535f6c7986929facada09386797272727272727272727272727272727272727272727272727272727272727272726d675d5145392c201306000000000013202c3946535f6c7986929facada09386797272727272727272727272727272727272727272727272727272727272727272726d675d5145392c2013060000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000010c161f2a343c464e565e616b6f757b7f8285888a8c8d8f8f9090919191919292929292999ba3acafa396897c706356493d3023160a00000000000000000009141f2935414b555f6a6f7c858f939c9fa4a79f9d989892908f8d8d8c8c8b8b8b8b8a8a8a8d929da9afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000005111e2a36414c56626d75828f959fa7a8a097928a837f7c7a79797a7c7f848a9297a0a8a59e938d80736a60544a3f33281c0f0300000000000c18232e3944515c666f7c87929fa4a8a09590847d76716d6769676869676d70757b838e939ea7a59f93887d70665c5142382d22170b0000000013202c3946535f6c7986929faca79a8d8074675a4d4134271d28313d47515b636d727e879298a2a79f958e81756c61554b4035291d10040000000000000000000000000000010e1a26313d4751595e5f6060605e585f626568696b6c6c6c6c6b6a686663605c546060606055534d453c31261a0e020000000000000000010a141c242b2f33343939434f5c6976828f9ca9aa9d9184776a5e5144393939393939393939393939392c29241e160d040000000000000000000000000000000005121e2a36424d576774818e9aa6a9a89b8e81756c605c5453514a504a5153555d606d7983919daaaea2988b7e7165584b3e2f24180d01000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000815222f3b4855626e7b8895a9b3a89b8f8275685c4f422e23180c0000000009121b22292e3132393837363534332f2e2b262018100600000000000000000000000000000000000000000713202d3a4653606d798693a0a1a093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000005121e2a36424d5763707d89949fabb2a89f92867c6f685e554c443c342e2924201e1a1b1b171c1f20262b30383f44505a626d75818e96a0aca79f92867b6e6154473b2e2114080013202c3946535f6c7986929facb2a6998c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f796d6054473a2d211407000000000013202c3946535f6c7986929facb2a6998c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f796d6054473a2d2114070000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000040d18222a343c444c52596063696e7276797b7d7f81828383848484848585858585868b909ba7afa396897c706356493d3023160a000000000000000000020d18242f3a434e585f6a6f7a82898f93999c9fa2aaa29f9d9b9a999998989898979797979a9da4aeafa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000714202d3946525e68727f8b949ea7a9a09591857e77726f6d686c6d6f72787e859196a0a9a59f93877c6f665b5044382b1f1308000000000007121d2834404a54606a727f8c929ca4a7a096918a827d7a7775747475767a7d818790959ea5a59e938d80736b60544b402f261c11060000000013202c3946535f6c7986929faca79a8d8074675a4d413427161f2c353f49515b636c717d869299a3a79e938a7e71675d5145382c1f1307000000000000000000000000000004111d2a36424e59636a6c6c6c6c6b636059585b5d5e5f5f5f5f5e5d5b59575f626a6c6c6c6c6c5f574d42372b1e1205000000000000000000020a12191f2326272d36434f5c6976828f9ca9aa9d9184776a5e5144372d2d2d2d2d2d2d2d2d2d2d2d201d19130c040000000000000000000000000000000000020e1a25313c4855626f7c88949faaaa9e938a7e726d6662605c545d545c6062676d75808d95a0aca99f92867a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000714212e3a4754616d7a8797a2ada99c90837669544a4034281c1004000006111b242d343a3d3e454444434241403c3b37322a22180e04000000000000000000000000000000000000000713202d3a4653606d798693a0aca093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000714212d3a46535e6975828f9ca6b0aca0968c7f736a60564c433a3228231d1814120e09060c1012131a1e262e343e48515b606d7984919ea09d95908a807366594d4033261a0d0013202c3946535f6c7986929facb9a89c918c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c877b6e6154483b2e211508000000000013202c3946535f6c7986929facb9a89c918c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c877b6e6154483b2e2115080000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000050e171e252a323a41464f54575e6165666d6f717374757676777777787878787879797e8b98a4afa396897c706356493d3023160a0000000000000000000007131d28313c464e585f686d757c82878b8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abacb5afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000005111d2935414c56616e7a85929fa6ada19791837b716c6662605d606163656c717b849197a1ada4999184786c6053463a3025190d0100000000000c18232e39424e58626d73808c929ea1a8a19e948f8a8683828181828386898e93999fa7a39f938f81786d60594f42392e1d140a0000000000131f2c3946525f6c7985929faca79a8e8174675b4e4134281b1a232d373f49515a626b707d87929fa6a59e9184796d6053473a2f24180d010000000000000000000000000006121f2c3845525e6a757979797978706b605c544d5152535352524b515a61696e777979797976695f53463a2d2114070000000000000000000001080e1317191c2936434f5c6976828f9ca9aa9d9184776a5e5144372b202020202020202020201413110d0805030000000000000000000000000000000000000915212e3b47535f6a76828f98a2aea59f92877f78726f6d666a696a666d6f7379818d929da7aca2978d8074685d5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3aca396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000713202d3946525d687885929fabaa9e918477665c5144382c1f120600010c18222d363f454a4b5251504f4e4d4c4947433c342a20150a000000000000000000000000000000000000000713202d3a4653606d798693a0a7a093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87939facb2a89d9184796d60584e443a31292018120d0705020000000306090c151c2328363f45515d676f7d899395908a837e776c605346392d2013060013202c3946535f6c7986929facb9ada39c999999999999999999999999999999999999999999999999999999999999999994877b6e6154483b2e211508000000000013202c3946535f6c7986929facb9ada39c999999999999999999999999999999999999999999999999999999999999999994877b6e6154483b2e2115080000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000020c1720293036393a3e3f44484d5354545c606264666768696a6a6a6b6b6b6b6c6c6c717e8b98a4afa396897c706356493d3023160a00000000000000000000010c161f2a343c464e565e616b6f757b7f8285888a8c8d8f8f9090919191919292929292999ba3acafa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000713202d3946525e6874808d98a2aea69e92857b6e69615a5654525354535b60696e7b85929ea8aba0958a7d7063564c41362a1d1105000000000007121c27303d46515b646e73808a92979fa3a69f9c9992908f8e8e8f9092989b9fa4a69f99928c81786d665c50473d30271d0b020000000000121f2c3945525f6c7885929faba89b8e8275685b4f42302519111b252e373f485059606b717e8b949faba1968b7e7165554b4135291d1104000000000000000000000000000613202c3946535f6c7987868686847d736d665f5751464146454d555c606c717b83868686867b6e6155483b2e22150800000000000000000000000002070b101c2936434f5c6976828f9ca9aa9d9184776a5e5144372b1e13131313130b101316171e1a1613120f0b060300000000000000000000000000000006121f2b37434e58626f7c86929fa4aca399928b837f7b797777767777797c80858e939da4aea49a92857a6d61564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d89969f9f9f96897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0005111d2935414c566a7683909da9ac9f9286796d6053463a2d2013070005111d29343f485056585f5e5d5c5b5a5955534e463c32261b0f030000000000000000000000000000000000000713202d3a4653606d7986939a9a9a93867a6d6053473a2d201407000000000000000000000000000000000000000000000000000005121e2a36424d576673808d99a4afaca0968a7e71665c51463c32281f170e0700000000000000000000030a1117242935414b55606b75818e8a837d78706c655b5044372b1f12050013202c3946535f6c7986929facb9b5ada8a6a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a194877b6e6154483b2e211508000000000013202c3946535f6c7986929facb9b5ada8a6a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a194877b6e6154483b2e2115080000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f65717e8b98a4afa396897c706356493d3023160a0000000000000000000000040d18222a343c444c52596063696e7276797b7d7f81828383848484848585858585868b909ba7afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000714212e3a4754616d7a86929faaab9f948a7d70695e575049474546474950565e69717e8b96a0aca79c8f8275685e5246392d2013070000000000000b151e2b343f49525c646e737e858e92999ea1a8a39f9d9c9a9b9c9d9fa3a9a29f9b948f877f776d665c544a3f352c1e150b000000000000121e2b3845515e6b7884919eaba99c8f827669564c41362a1e11131c252e363e474f59626d76828f9caaa99c908376675d5145392c20130600000000000000000000000000000b1825323e4b5865717e8b9296918780786e69625b524c4550575f676d747e869095948d8074695f53463a2d211407000000000000000000000000000003101c2936434f5c6976828f9ca9aa9d9184776a5e5144372b1e110600080f161c2022232b2723201f1b17120f0b0600000000000000000000000000030f1b26323c47535f6a717e8b939aa2aaa39f95918c8886848483838485898c92979ea5aaa39f93887d70685e52443a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d899393939393897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00010d192430414e5b6774818e9aa7afa399887b6f6255483c2e23180c060615212e3a45505a62656c6b6a69686766625f584e43372b1f13060000000000000000040607080808080808080813202d3a4653606d79868d8d8d8d8d86796d6053473a2d20140808080808080808070604000000000000000000000000000000000714212d3a46535f697784919eabb5ab9d9184786c60544b40342b20160d0500000000000000000000000000061218242f3a434f59616e7b837e78716c65605b53493f33271b0f030013202c3946535f6c7986929facb9afa7a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f94877b6e6154483b2e211508000000000013202c3946535f6c7986929facb9afa7a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f94877b6e6154483b2e2115080000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525965727f8c98a5afa396897c706356493d3023160a0000000000000000000000050e171e252a323a41464f54575e6165666d6f717374757676777777787878787879797e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000005121e2a36424d5765727f8c98a2aea99c8f82766c61574d453e3a39393a3f444d57616c7784919eaaa99f93867a6d6154473a2e211407000000000000030c19222d37404a525c636c717a81868d9196989b9c9e9f9f9f9f9e9d9b9997928e89827c736c655c544b42382e231a0c03000000000000101d2a3643505d697683909ca9ab9e918478685e5246392d20140a131c242d353d47505a63707d8998a3ac9f92867a6d6054473a2d21140700000000000000000000000000000b1724313d4a56626d73808c9399938d837b726d615e56515a61696e79818a9298958f82786d60574d42372b1e1205000000000000000000000000000003101c2936434f5c6976828f9ca9aa9d9184776a5e5144372b1e070008111921272c2f3038342f2d2b27221f1c17110a020000000000000000000000000a15202b37434e58616c727f8892989fa3a7a09d99999291909090919298999ea2a9a69f98928b7f726c61564c4132281e13080000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d868686868686867d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000081825313e4b5864717e8b97a7b1ab988b7e7165554b4034281d1413131624313d4a56626c71787777767574736f6a5f53473b2e211508000000000001070c101314151515151515151515202d394653606c7880808080808080786d6053463a2d201515151515151515151413100c0701000000000000000000000000000815222e3b4855616e7b8896a0acafa3998c7f72665b5042392e22190e0500000000000000000000000000000007131d28313d46535f696e77716c65605b53504941382d22170b000013202c3946535f6c7986929facb9a79d95939393939393939393939393939393939393939393939393939393939393939393877b6e6154483b2e211508000000000013202c3946535f6c7986929facb9a79d95939393939393939393939393939393939393939393939393939393939393939393877b6e6154483b2e2115080000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000005111d2a36414c565e6164656768696a6b68655d534840414243434444444545454d596673808c99a6afa295897c6f6256493c2f23160900000000000000000000020c1720293036393a3e3f44484d5354545c606264666768696a6a6a6b6b6b6b6c6c6c717e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000714202d3a46525e697783909daaada197897d7063594f453b332d2c2d2d333b45505a66737f8c999d9c9c998a7d7063574a3d3024170a0000000000000007101b252e38404a525a61686d747b8084888b8e90919292929291908e8c8985817c766f6a605b534b423930261c1108000000000000000f1b2835424e5b6875818e9ba8ada196877a6e6154473b30251b1413121b232b353f4653606d7986929faca399897c6f6256493c2f23160900000000000000000000000000000915212e3a45505a636e74818e939f9590867e756d68605c606c717b838e939f969083796d665c50453c31261a0e02000000000000000000000000000003101c2936434f5c6976828f9ca9aa9d9184776a5e51442f24180d050f19232b33383c3d45403c3937332d2b28221c140b050000000000000000000000040f1a26313c46505a636d727e868e92999da0a8aba39f9e9d9c9d9e9fa2aaaaa29f9b948f867e726d62594f443a3020160c020000000000000000000000000000000000000000000000000000000000000000000000010b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000916232f3c4855616b7079797979797979706b6155483c2f23160900091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000815212e3b4854616e7b87959faba89b8e8175675c5145392e2521201f202935404b5565717e8584838281807f7c6f6255493c2f22160900000000030b12181d1f20212121212121212121212b3844505b666c747474747474746d665c5044382c21212121212121212121201f1d18120b030000000000000000000000000c1825323f4b5865727e8b98a8b2ac9f92867a6e61544a3f30271d100700000000000000000000000000000000010c161f2a36424d575f616a64605b535049443f382f261b1106000013202c3946535f6c7986929facb9a2958b868686868686868686868686868686868686868686868686868686868686868686867b6e6154483b2e211508000000000013202c3946535f6c7986929facb9a2958b868686868686868686868686868686868686868686868686868686868686868686867b6e6154483b2e2115080000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000713202d3946525e686d71727374767778756f65594d3d323536373737383835404b556774818e9aa7b2a995887b6e6255483b2f2215080000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f65717e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000815212e3b4854616e7b87959fabab9e9184786c6053463e33292120202227333e4956626f7c899191908f8e8d8073665a4d4033271a0d000000000000000009131c262e38404850565e61696e73787c7e818384858686858583817f7c79746f6a625f585049413930271e150a00000000000000000c1926323f4c5965727f8c98a9b2a8978a7d7064564d42362b2621201f1f20232c3845515c667784919eaaab978a7d7164574a3e3124170b000000000000000000000000000005111d29343f48525b606d78818f959f98928b827a706b676d747e8690959d9891847b6e675d544a3f332a1f1409000000000000000000000000000000020f1c2935424f5c6875828f9ba8ab9e9184786b554b4035291d110b16212b353d44484a514d4946443f3938332d261d170e0500000000000000000000000a15202a343e48515b636c717b81878c919597999c9d9e9e9f9f9f9e9d9b9998928e89827b716c625b51473e32281e0e04000000000000000000000000000000000000000000000000000000000000000105090b0b0d0d1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000714202c38444f5961636c6c6c6c6c6c6c6361594f44382c20140700091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000714202d3a46525e697783909daaab9f9285796d60544b4036312d2c2c2d323a45515d6775818e91908f8e8d897c6f6356493c30231609000000030d151d24292c2d2e2e2e2e2e2e2e2e2e2e2e333f4a545b6067676767676767605c544a3f342e2e2e2e2e2e2e2e2e2e2e2d2c29241d150d030000000000000000000004101d2935404b556875828f9ba8b5a99c908376685e5242382d1e150b000000000000000000000000000000000000040d1a26313b454d53555d57535049443f38332d261d140a00000013202c3946535f6c7986929facada093867979797979797979797979797979797979797979797979797979797979797979797976695e52463a2d201407000000000013202c3946535f6c7986929facada093867979797979797979797979797979797979797979797979797979797979797979797976695e52463a2d2014070000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372e2c2823282c2f3945515d677783909daaada196877a6d6054473a2d211407000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525965727f8c98a5afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1824313e4b5764717e8a97a7b1a79a8d8174665b5044382c2017131317202d3a4753606d79868584838281807e7164574b3e3124180b0000000000000000010a141c262e363e444c52575e61666a6f7274767878797978787675726f6d66626058534e443f382f271e150c030000000000000000091623303c4956636f7c8997a2ada89b8f8275695e52463f37312e2d2c2c2d2e343b45515d677885919eaba4978b7e7164584b3e3125180b0000000000000000000000000000010c18222d364044505c666d79829095a09f938f857d746f79818a9298a09992867c6f695e554b42382e21180e03000000000000000000000000000000020f1b2835424e5b6875818e9ba8ab9f928578675d5145392c2017161c27333d474f54565e5a5653504946443f382f2920170d0200000000000000000000030e18222d363f49515a61696e747b8084888b8d8f90919292929291908e8c8985817c766e69615a51493f352c20160c00000000000000000000000000000000000000000000000000000000000000060c111517181a1a1a25313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e0004101c27333d474f55566060606060606056554f473d33271c100400091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000005121e2a36424d5765727f8c98a2aea2988b7e71665c5146423b3a39383a3d444d57606d7a85929e9d9c9b9285796d6053463a2d2013070000010b151f272f35383a3b3b3b3b3b3b3b3b3b3b3b3b3b424a50535a5a5a5a5a5a5a53504a423b3b3b3b3b3b3b3b3b3b3b3b3b3a39352f271f150b0100000000000000000006131f2c3845515d677884919eabb6ac998c7f7266564c412f261c0c030000000000000000000000000000000000000009141f29333b424648504a46443f38332d27221b140b0200000013202c3946535f6c7986929facada093867a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e574d42362a1e1205000000000013202c3946535f6c7986929facada093867a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e574d42362a1e12050000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000815212e3b4854616e7b878c8d8e8f909184786a6054473f3a38342e34383a404b55606d7a86929facab9e918578675d5145392c20130600000000000000000005111d2a36414c565e6164656768696a6b68655d534840414243434444444545454d596673808c99a6afa295897c6f6256493c2f231609000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000010e1b2734414e5a6774818d9aa7b4aa978a7e7164544a3f33281a0e0606131f2c3845515c676d79787776757474716c6155493d3023170a000000000000000000020a131c242c323a41464d5254585f626568696b6c6c6c6c6b6a686663605c54544e47433c332d261d150c030000000000000000000713202d3a4653606d7985929fabac9f92877b6e615a5147433c3b3a38383a3b40444d56606d7a86939facaa978a7d7164574a3e3124170b00000000000000000000000000000006111b2428343f4a545d676d7a839196a19e979188807b838e929fa29f93877d706a5f574d433a30261c0f0600000000000000000000000000000000010d1a2734404d5a6773808d9aa6ac9f93867a6d6053473a2e262323262c38444f5960636b6762605b5353504a423b33291f1409000000000000000000000006101b242e373f4850575e61696e73777b7e80828484858686858583827f7d79756f6b625f5750483f372d231a0e040000000000000000000000000000000000000000000000000000000000000911181d21242527272727313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e00000b16212c353d44484a535353535353534a48443d352c21160b0000091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000020e1a25303b4754616d7a86929fa9aa9e9184796d605b534d4847454546484f565e69727f8c98a2aaa69b8e8275665c5044382c1f1206000007121d27313940454748484848484848484848484848484848484d4d4d4d4d4d4d48484848484848484848484848484848484745403931271d12070000000000000000000714202d3a4753606d7a86939facafa49a897c6f6356493c3023140a0000000000000000000000000000000000000000030d17212931363a3b443e3937332d27221b17110a020000000013202c3946535f6c7986929facada093867a6d60606060606060606060606060606060606060606060606060606060606060605f524d453b30251a0e02000000000013202c3946535f6c7986929facada093867a6d60606060606060606060606060606060606060606060606060606060606060605f524d453b30251a0e020000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000714212d3a46535e697884919a9b9c9d96897c6f625a504a464440434044464b515c67717e8b98a3aeaa9b8f827568554b4135291d11040000000000000000000713202d3946525e686d71727374767778756f65594d3d323536373737383835404b556774818e9aa7b2a995887b6e6255483b2f221508000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000004111d2935414c566a7683909da9aea298887b6e6155483b2d2217080004101c2934404b555c606c6b6a6969686764615a5045392d21140800000000000000000000010a121a202830363b4246484e5361696b6c6c6c68605c545d5b595653514a47433d373127221b140b030000000000000000000006121f2c3844505c6674818e9ba6afa3998e81756c625b534e494746444446484a51575e68727e8b99a4aea398897c6f6256493c2f23160900000000000000000000000000000000091217232e38424b555d686e7b849197a2a19a938d8890959da59d928b7f726b61584e453b31281e140a0000000000000000000000000000000000000c1825323f4b5865727e8b98aaafa49a897c7063544b403631303031363f4854606b7078736f6c6563605b544d453b30251a0e02000000000000000000000009121c252e363e454d52575f62666a6e71737577787879797978777573706d67636059534d453e362d251b110800000000000000000000000000000000000000000000000000000000000009121b22292e313234343434343e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000005101a232c33383c3d464646464646463d3c38332c231a10050000091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000000914202d3946525d6874808d97a2aca0968d80746d615e575554515153555960686e7b86929faaab9f94897c6f63544a3f34281c100300000c18242f39434b5153545454545454545454545454545454545454545454545454545454545454545454545454545454545453514b43392f24180c0000000000000000000915222f3c4855626f7b889aa4afac9f93867a6d6054473a2d211407000000000000000000000000000000000000000000060f171f262a2d2e37312d2b27221b17110b0600000000000013202c3946535f6c7986929facada093867a6d60535353535353535353535353535353535353535353535353535353535353534846423b33291f140900000000000013202c3946535f6c7986929facada093867a6d60535353535353535353535353535353535353535353535353535353535353534846423b33291f1409000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000005121e2a36424d576774818e9aa6a9a89b8e81756c605c5453514a504a5153555d606d7983919daaaea2988b7e7165584b3e2f24180d010000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372e2c2823282c2f3945515d677783909daaada196877a6d6054473a2d211407000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000713202c3945525d687885929fabac9f9285796c605346392d20130600000c18232f39434b51535f5e5e5d5c5b5a575550483e33281d1105000000000000000000000000080e161e252a30363a3c505d697378797979746d665e564e4c494644403937322b262017110a02000000000000000000000003101c28343f4a54626f7c89949fabab9e938b7e726d625f5856545351505355545c60696e7a85929eabac9f92867a6d6053473a2d201407000000000000000000000000000000000006111c263039434c565e696f7c859299a3a49f9a959da0a79e948d80746d62594f463c33291f160c02000000000000000000000000000000000000091623303c4956636f7c8998a2aeac998c8073665c5146423e3d3c3d4246515b63707d84807c78746f6c665e574d42362a1e11050000000000000000000000000a131c242c333b42464d5355575f626466696a6b6b6c6c6c6b6a686663605d55544f4c4841382f241b130900000000000000000000000000000000000000000000000000000000000006111b242d343a3d3e4040404040404b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000008131e28313a414547494949494949494745413a31281e13080000091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000005111d2935414c56616d7a85929fa5a89d928c7f756e696461605d5c6062656b6f7a839198a2aea3999083766b605442382e23170c000004101d2935404b555d606161616161616161616161616161616161616161616161616161616161616161616161616161616161605d554b4035291d100400000000000000000b1724313e4a5764717d8a97acb6aa9e918477675d5145392c20130600000000000000000000000000000000000000000000060d141a1e21222a24201f1b17110b06000000000000000013202c3946535f6c7986929facada093867a6d60534746464646464646464646464646464646464646464646464646464646463b3a36302921170d0200000000000013202c3946535f6c7986929facada093867a6d60534746464646464646464646464646464646464646464646464646464646463b3a36302921170d02000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000020e1a25313c4855626f7c88949faaaa9e938a7e726d6662605c545d545c6062676d75808d95a0aca99f92867a6d6154473a2e211407000000000000000000000815212e3b4854616e7b878c8d8e8f909184786a6054473f3a38342e34383a404b55606d7a86929facab9e918578675d5145392c201306000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000714212d3a4754606d7a8797a2adaa9d918477655b5044372b1f1205000007121d273139404547525251504f4e4d4b49453e362c22170c0000000000000000000000000000050c13191f252a3845525f6b788586868681786d685f584f473f38342e2b27201b150b0600000000000000000000000000000c17232e384754606a76828f99a3aea59f92877f756f6a666261605c5c606164666d727b839097a1ada59c8f8275675d5145392c1f13060000000000000000000000000000000000000a141e27313a444d575f6a707d879299a49f9f9f9fa9a0958f82786d605b51473e342a21170d04000000000000000000000000000000000000000714202d3a4753606d7985929facab9e9185796d605a534d4b4a494a4d535b626d76828f8d8984807c786e695e52463a2d201407000000000000000000000000020e1925303b444c525f6060606060605d5c5d5e5f5f5f5f5e5d5b6060606060605a58534a41362b2014080000000000000000000000000000000000000000000000000000000000010c18222d363f454a4b4d4d4d4d4d4d4d5864717e8b97a4b1a79a8e8174675b4e4134281b0e00010d19242f3a434c52545656565656565654524c433a2f24190d0100091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000000010d1924303a46525e68727e8b939ea7a49c918c827b75716e6d67666d6f71767d849195a0aaa69f92877c6f63594f4330261c1106000006131f2c3845515d676d6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6d675d5145392c1f130600000000000000000c1926323f4c5965727f8c98a5b2a99c8f837669554b4135291d1104000000000000000000000000000000000000000000000003090e1214151d1713120f0b060000000000000000000013202c3946535f6c7986929facada093867a6d6053473a393939393939393939393939393939393939393939393939393939392e2d2a251f170f050000000000000013202c3946535f6c7986929facada093867a6d6053473a393939393939393939393939393939393939393939393939393939392e2d2a251f170f0500000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000915212e3b47535f6a76828f98a2aea59f92877f78726f6d666a696a666d6f7379818d929da7aca2978d8074685d5246392d201307000000000000000000000714212d3a46535e697884919a9b9c9d96897c6f625a504a464440434044464b515c67717e8b98a3aeaa9b8f827568554b4135291d1104000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000815222f3b4855626e7b8895a9b3a99c8f82766953493f33271b0f030000010b151f272f34383a464544434241413e3d39332c241a100600000000000000000000000000000002080d141a26323f4c5965727f8c93938e827a6f6a615951444039302820180f0a0300000000000000000000000000000006111c2b38434e58626f7c87929fa5afa399928b817c76726f6e6d66666d6e7074797f859095a0a9a89e93897d7063554b4035291d1004000000000000000000000000000000000000020c151f28323b454e58606b717e8793939393939393969083796d665c50493f352c22190f05000000000000000000000000000000000000000006131f2c3845515c6775828f9ba7ada1978c80736c615f5757565657575f616d727f8b949a96918d89857b6e6154473b2e21140800000000000000000000000005111e2a36414c565e6c6c6c6c6c6c6c6a675f555253534f5960636c6c6c6c6c6c67645c53483c3024180b000000000000000000000000000000000000000000000000000000000005111d29343f485056585a5a5a5a5a5a5a5a64717e8b97a4b1a79a8e8174675b4e4134281b0e0004111d2935414c565d6062626262626262605d564c4135291d110400091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000000008131e2a36414c56626d75818e959fa6a49c948f86827e7b7a7979797b7e83899196a0a7a59e948c7f736b6054473d321e150a0000000714202d3a4753606d797b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b796d6053473a2d20140700000000000000000d192633404c5966737f8c99a6b2a89b8e8175685b4e422f24180d010000000000000000000000000000000000000000000000000002050708110b06050300000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d21201e1a140d05000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d21201e1a140d050000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000006121f2b37434e58626f7c86929fa4aca399928b837f7b797777767777797c80858e939da4aea49a92857a6d61564c4135291d11050000000000000000000005121e2a36424d576774818e9aa6a9a89b8e81756c605c5453514a504a5153555d606d7983919daaaea2988b7e7165584b3e2f24180d01000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000091623303c4956636f7c8996a2afa89b8e8175685b4e422d22170b00000000030d151d23292c2d3938373636353431302d28221a120800000000000000000000000000000000000003091825313e4a56626d75818f969490847c706b625b514a423a322a21191106000000000000000000000000000000000f1b27323d47535f6a727f8c939da5aba39f938e87827f7c7a797879797b7d81858b9297a0a7a8a0968f82756b605443392f24180c0000000000000000000000000000000000000000030d162029333c464f59616c727f8686868686868686847b6e675d544a3f372d231a100700000000000000000000000000000000000000000004101c2934404b5563707d8a95a0aca99f93887e746e69666463636366696e757f87939fa6a19e9a908377695e52463a2d2014070000000000000000000000000714202d3946525e68767979797979797771675b4f464854606b70797979797979746e64584c4033271a0d01000000000000000000000000000000000000000000000000000000000915212e3a45505a6265676767676767676767717e8b97a4b1a79a8e8174675b4e4134281b0e000613202c3945525d686d6f6f6f6f6f6f6f6d685d5245392c20130600091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000000020d1925303a44515b606d798390949da5a69e98928f8b8887858586888b90949ea1a8a39f938e82786d60594f43352b210c030000000a1723303d4a5663707d87878787878787878787878787878787878787878787878787878787878787878787878787878787877e7164574a3e3124170b00000000000000000d1a2734404d5a6773808d9aa6b3a79a8d8074675a4d4134271a07000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d2020202020202020202020202020202020202020202020202020201514120e090200000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d2020202020202020202020202020202020202020202020202020201514120e0902000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000030f1b26323c47535f6a717e8b939aa2aaa39f95918c8886848483838485898c92979ea5aaa39f93887d70685e52443a3024190d0100000000000000000000020e1a25313c4855626f7c88949faaaa9e938a7e726d6662605c545d545c6062676d75808d95a0aca99f92867a6d6154473a2e21140700000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1724303d4a5763707d8a96a3b0a79a8d8174675a4e4134271b060000000000030b12181c1f202c2b2b2a2928272423211d17100800000000000000000000000000000000000000000916222e3a46515b606d7a8491989691867d726d605c544c443c332b2317110a0200000000000000000000000000000a16202b37434e58606c77818e939fa2aaa59e9a938f8c898786858586888a8d92979ea1a9a59e9691847a6d61594f4431271d1207000000000000000000000000000000000000000000040e17212a343d47505a626d727979797979797979786e695e554b42382e251b110800000000000000000000000000000000000000000000000c18232f394653606c7883909aa4afa49a938b817b767371706f7072767b818b9399a4afa99f948a7e7164574d42362a1e11050000000000000000000000000814212e3b4754616e7a86868686868683776a5d5144495663707d8686868686868074675a4e4134271b0e01000000000000000000000000000000000000000000000000000000000b1724313d4a56626d71737373737373737373737e8b97a4b1a79a8e8174675b4e4134281b0e000714212d3a4754606d7a7c7c7c7c7c7c7c7a6d6054473a2d21140700091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000000000008131e28323f45515d676d7a828e939da0a7a39f9b97949892929895989c9fa6a7a099928d81786d665c50463d3223190f000000000a1723303d4a5663707d899494949494949494949494949494949494949494949494949494949494949494949494949494948a7d7164574a3e3124170b00000000000000000e1b2734414e5a6774818d9aa7b3a69a8d8073675a4d4034271a0d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20141313131313131313131313131313131313131313131313131308070502000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201413131313131313131313131313131313131313131313131313080705020000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000a15202b37434e58616c727f8892989fa3a7a09d99999291909090919298999ea2a9a69f98928b7f726c61564c4132281e13080000000000000000000000000915212e3b47535f6a76828f98a2aea59f92877f78726f6d666a696a666d6f7379818d929da7aca2978d8074685d5246392d20130700000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1724313d4a5764707d8a97a3b0a79a8d8074675a4d4134271a0e01000000000001070c1013141f1f1e1d1c1b1a181714110c0600000000000000000000000000000000000000000006121e29353f45525d686f7c86929f9892877f746d665d564d453d3528231c140c0300000000000000000000000000040f1b26323c44505b656d78818b92989fa4aca49f9c9995949892929894979a9ea1a9a7a09d938f847b6e685d52473d331f150b0100000000000000000000000000000000000000000000050f18222b353e48515b62656c6c6c6c6c6c6c6c6b615e574d433a30261c130900000000000000000000000000000000000000000000000007121f2b3844505b66707d88939fa5aca49f938e8783807e7d7c7d7f82878e939fa4aba9a1978f82766c6155453b30251a0e020000000000000000000000000814212e3b4754616e7a87939393939084776a5d5144495663707c89939393938d8174675a4e4134271b0e01000000000000000000000000000000000000000000000000000000000b1825323e4b5865717f80808080808080808080828f9ca9b4a79a8e8174675b4e4134281b0e000a1723303d4a5663707d898989898989897d7063564a3d3023170a00091623303c4956636f7c8996a2aca4978a7d7164574a3e3124170b0000000000020c16202935404b555d686d78818991959c9fa3aba4aaa29f9fa2aaa4aba49f9c95908780786d665c544a3f342b211007000000000a1723303d4a5663707d8996a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1978a7d7164574a3e3124170b00000000000000000e1b2835414e5b6874818e9ba7b3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0b0a080500000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0b0a0805000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000040f1a26313c46505a636d727e868e92999da0a8aba39f9e9d9c9d9e9fa2aaaaa29f9b948f867e726d62594f443a3020160c0200000000000000000000000006121f2b37434e58626f7c86929fa4aca399928b837f7b797777767777797c80858e939da4aea49a92857a6d61564c4135291d110500000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1724313e4a5764717d8a97a4b0a69a8d8073675a4d4034271a0d010000000000000000040607131211100f0e0e0b0a08050000000000000000000000000000000000000000000000010d18232935414c565f6a727e8b939e99938c81786d685f574f473f342e261e150c03000000000000000000000000000a152027333f49535c666d747f868e939a9ea1a8a7a5a2aaa29f9fa2aaa3a7aaa29f9b959089827a6e695e564c41352b210d03000000000000000000000000000000000000000000000000061019232c363f4951565860606060606060605e54524d453b31281e140a01000000000000000000000000000000000000000000000000030f1c28333f4a54606b73808d939da4aca59d99938f8c8a89898a8c8f93999ea5aea79f9791857b6e615a504533291f1409000000000000000000000000000814212e3b4754616e7a87949f9f9d9084776a5d5144495663707c89969f9f9a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000003101d293643505c6976828d8d8d8d8d8d8d8d8d8d8f949eaab4a79a8e8174675b4e4134281b0e000a1723303d4a5663707d899595959595897d7063564a3d3023170a00091623303c4956636f7c89969f9f9f978a7d7164574a3e3124170b000000000000050e18242f3a434c565d666d747d848a8f92999a9c9e9e9f9f9e9d9c9a99938f8a837c736c665c544a42382e22190f00000000000a1723303d4a5663707d89969f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b00000000000000000e1b2835414e5b6874818e9ba7b3a6998d8073665a4d4033271a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a171714110c050000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a171714110c0500000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000a15202a343e48515b636c717b81878c919597999c9d9e9e9f9f9f9e9d9b9998928e89827b716c625b51473e32281e0e0400000000000000000000000000030f1b26323c47535f6a717e8b939aa2aaa39f95918c8886848483838485898c92979ea5aaa39f93887d70685e52443a3024190d0100000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1724313d4a5764707d8a97a3b0a79a8d8074675a4d4134271a0e010000000000000105090b0b121111100f0e0d09080603000000000000000000000000000000000000000000000000070d19242f3a434e58626d75818e95a09f928e827a6e69605951443f3830271e150b00000000000000000000000000040b17222d38414a545c606d727b81878d9196989a9c9d9e9f9f9f9e9d9d9b9898928e8a837d756d685e574d443a3023190f000000000000000000000000000000000000000000000000000007111a242d373f464a4c5353535353535353524846423b33291f160c0200000000000000000000000000000000000000000000000000000b17222d38424f59606c78818d929ea0a8aba49f9c9997969696999c9fa4abaaa29f9590857c6f695e53483e3420170d02000000000000000000000000000814212e3b4754616e7a8794a1aa9d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000003101d293643505c6976838f9a9a9a9a9a9a9a9a9a9c9ea6b0b4a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a2a2a296897d7063564a3d3023170a00091623303c4956636f7c8993939393938a7d7164574a3e3124170b0000000000000007131d28313a444c545c606b70787e82868a8d8f9192929291918f8d8a86827d786f6a605b544a423930261c100700000000000a1723303d4a5663707d899393939393939393939393939393939393939393939393939393939393939393939393939393938a7d7164574a3e3124170b00000000000000000e1b2734414e5a6774818d9aa7b3a69a8d8073675a4d4034271a0d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d27272727272727272727272727272727272727272727272727272727272423211c17100800000000000013202c3946535f6c7986929facada093867a6d6053473a2d27272727272727272727272727272727272727272727272727272727272423211c171008000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000030e18222d363f49515a61696e747b8084888b8d8f90919292929291908e8c8985817c766e69615a51493f352c20160c0000000000000000000000000000000a15202b37434e58616c727f8892989fa3a7a09d99999291909090919298999ea2a9a69f98928b7f726c61564c4132281e13080000000000000000000000000000000203101d2a3643505d69768390908376695d5043362a1d100302000000000000000a1724303d4a5763707d8a96a3b0a79a8d8074675a4d4134271a0e010000000000060c111517181f1e1d1c1b1a191615130f0a04000000000000000000000000000000000000000000000008131e28313c46515b606d79839198a29d948f847b706b625b504a423930271d12070000000000000000000000000006111b262f38424a505b62696e757b8084888b8d8f90929292929191908e8b8985817d78706b605d564d453b32281e110700000000000000000000000000000000000000000000000000000008121b252d343a3e3f4646464646464646453b3a36302921170d0400000000000000000000000000000000000000000000000000000006111c262f3d44505b666d78808a91969d9fa7a7a9a6a4a3a2a3a5a9a7a8a09e98928c837b6f6a5f574d42362c220e0500000000000000000000000000000814212e3b4754616e7a8794a1a99d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca6a6a6a6a6a6a6a6a9aab0acaca79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3aca396897d7063564a3d3023170a00091623303c4956636f7d868686868686867e7164574a3e3124170b00000000000000010c161f28323a424b515960666c71767a7d808284858686858483807d7a75706c666058504a423930271e140a0000000000000a1723303d4a5663707d86868686868686868686868686868686868686868686868686868686868686868686868686868686867e7164574a3e3124170b00000000000000000d1a2734404d5a6773808d9aa6b3a79a8d8174675a4e4134271b09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a34343434343434343434343434343434343434343434343434343434343431302d28221a1208000000000013202c3946535f6c7986929facada093867a6d6053473a34343434343434343434343434343434343434343434343434343434343431302d28221a12080000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000006101b242e373f4850575e61696e73777b7e80828484858686858583827f7d79756f6b625f5750483f372d231a0e04000000000000000000000000000000040f1a26313c46505a636d727e868e92999da0a8aba39f9e9d9c9d9e9fa2aaaaa29f9b948f867e726d62594f443a3020160c0200000000000000000000000000050a0f12101d2a3643505d69768390908376695d5043362a1d10120f0a0500000000000a1623303d495663707c8996a3afa79a8e8174675b4e4134281b0700000000000911181d2124252c2b2a2928272622211f1b150e0600000000000000000000000000000000000000000000010c161f2a343f45515d676e7c86929fa59f9691857d726d605c544b42392e23180c00000000000000000000000000000a141d2630383f4451575f61696e73787b7e80828485858685858483817f7c7a75706d666059524c443b332920160c000000000000000000000000000000000000000000000000000000000009131b23292e31323939393939393939382e2d2a251f170f0500000000000000000000000000000000000000000000000000000000000a141d28333f4a545c666d747d848b9095979a9c9e9f9f9f9f9e9d9a9896918c857f786e695f584e453b31241a100000000000000000000000000000000814212e3b4754616e7a87949c9c9c9084776a5d5144495663707c89969c9c9a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000003101d293643505c6976838f9c9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8e8174675b4e4134281b0e000a1723303d4a5663707d89969f9f9f96897d7063564a3d3023170a000915222f3b4854606b6f79797979797979716c6155493c3023170a0000000000000000040d162028303940454f545b6064686e7174767778797978777673716e6863605b544e443f382f271e150c020000000000000916232f3c4855616b707979797979797979797979797979797979797979797979797979797979797979797979797979797979716c6155493c3023170a00000000000000000d192633404c5966737f8c99a6b2a89b8f8275685c4f4230251a0e020000000000000000000000000000000000000000000000000000010203000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d605347404040404040404040404040404040404040404040404040404040404040403e3c39332c241a10050000000013202c3946535f6c7986929facada093867a6d605347404040404040404040404040404040404040404040404040404040404040403e3c39332c241a100500000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000009121c252e363e454d52575f62666a6e71737577787879797978777573706d67636059534d453e362d251b110800000000000000000000000000000000000a15202a343e48515b636c717b81878c919597999c9d9e9e9f9f9f9e9d9b9998928e89827b716c625b51473e32281e0e04000000000000000000000000010910161b1e20202a3643505d69768390908376695d5043362a20201e1b161009010000000815222f3b4855626e7b8895a9b3a89b8f8275685c4f422e23180c0000000009121b22292e3132393837363534332f2e2b262018100600000000000000000000000000000000000000000000040d18222935404b555f6a717e8a939da7a09792877f746d665c544b4034281c100400000000000000000000000000020b151e262e343f454d53575f6266696e71747677787979797877767472706d6763605c544f45413a322921170e040000000000000000000000000000000000000000000000000000000000010911181e2224252d2d2d2d2d2d2d2d2b21201e1a140d05000000000000000000000000000000000000000000000000000000000000020b17222d38424a545c606b70797e83878b8d8f919292929291908e8b88847f7a736d665f574e463c33291f12090000000000000000000000000000000814212e3b4754616e7a878f8f8f8f8f84776a5d5144495663707c898f8f8f8f8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000003101d293643505c6976838f939393939393939393939393939393938e8174675b4e4134281b0e000a1723303d4a5663707d899393939393897d7063564a3d3023170a0007131f2c38434f5960636c6c6c6c6c6c6c64615a5045392d211408000000000000000000040d161e272e343d424a5053565e616467696b6b6c6c6b6a696764615e5653504a423c332d261d150c03000000000000000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d21140800000000000000000b1825313e4b5864717e8b97a4b1a99d9083766a574d42362a1e1105000000000000000000000000000000000000000000000003080c0e0e0f0b0707040100000000000000000000000013202c3946535f6c7986929facada093867a6d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4a49453e362c22170c0000000013202c3946535f6c7986929facada093867a6d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4a49453e362c22170c00000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000a131c242c333b42464d5355575f626466696a6b6b6c6c6c6b6a686663605d55544f47423c332d241b1309000000000000000000000000000000000000030e18222d363f49515a61696e747b8084888b8d8f90919292929291908e8c8985817c766e69615a51493f352c20160c000000000000000000000000010a131b21272b2d2d2d3643505d69768390908376695d5043362d2d2d2b27211b130a0100000714212e3a4754616d7a8797a2ada99c90837669544a4034281c1004000006111b242d343a3d3e454444434241403c3b37322a22180e0400000000000000000000000000000000000000000000071018242f39434e58616c74818e95a0a9a299928b80786d665c5145382c1f13060000000000000000000000000000030c151c2328333c42464d5355575f626567696a6b6c6c6c6b6a6a686563605d5553504a423d35302820170f050000000000000000000000000000000000000000000000000000000000000000060d1216181920202020202020201f1514120e0902000000000000000000000000000000000000000000000000000000000000000006111c262f38424a505961666d71767b7e818384858686858483817f7b77736d68605c544d453c342a21170d000000000000000000000000000000000714212d3a4754606d7a8283838383838174675b4e414855626f7c8283838383827f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000003101d293643505c6976828686868686868686868686868686868686868174675b4e4134281b0e000a1723303d4a5663707d868686868686867d7063564a3d3023170a00030f1b27323d474f545660606060606060575550483e33281c110400000000000000000000040c151d23282f383f44464c5254575a5c5e5f5f5f5e5e5c5a5754524c46443f382f28221c140b03000000000000000004101c27333d474f55566060606060606060606060606060606060606060606060606060606060606060606060606060606060575550483e33281c110400000000000000000a1723303d4a5663707d8996aab4ab9f928578695e52463a2d20140700000000000000000000000000000000000000000001090f14181a1b1c181413110d08050100000000000000000013202c3946535f6c7986929facada093867a6d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a575550483e33281c110500000013202c3946535f6c7986929facada093867a6d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a575550483e33281c1105000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000010a121a212930363c4247484e5355596063676a6b6c6b6a666260585653514b48433d37312a211b1209010000000000000000000000000000000000000006101b242e373f4850575e61696e73777b7e80828484858686858583827f7d79756f6b625f5750483f372d231a0e0400000000000000000000000009131c252c33373939393943505d69768390908376695d50433939393937332c251c130900000713202d3946525d687885929fabaa9e918477665c5144382c1f120600010c18222d363f454a4b5251504f4e4d4c4947433c342a20150a000000000000000000000000000000000000000000000007121d28313c46505a606d7983909893939393928d82796d6053463a2d201307000000000000000000000000000000030a1117212a31373c4247484d5355585a5c5d5f5f5f5f5e5e5d5b585653514b46443f383029241e160e05000000000000000000000000000000000000000000000000000000000000000000000106090b0c1313131313131313120807050200000000000000000000000000000000000000000000000000000000000000000000000a141d2630383f444f545c6064696e7174767778797978787674726f6a66605d56514a423c332a22180f05000000000000000000000000000000000713202c3945525d686d767676767676746f64584c4047535f6a6f767676767676726d62564a3e3125180b00000000000000000000000000000000000000000000000000000000020f1c2835414e5a667076797979797979797979797979797979797979746f64594c4033271a0d000916232f3c4855616b7079797979797979706b6155483c2f23160900000a16212b353d434849535353535353534a49453e362c22170c000000000000000000000000030b12181d262d33383b4146474a4d4f515253535251504d4a4746413b38332d261d17110a02000000000000000000000b16212c353d44484a53535353535353535353535353535353535353535353535353535353535353535353535353535353534a49453e362c22170c0000000000000000000815222e3b4855616e7b8898a2aeada297877b6e6154473b2e21140a0000000000000000000000000000000000000000030b131a20242728292521201d1913110d08020000000000000013202c3946535f6c7986929facada093867a6d6767676767676767676767676767676767676767676767676767676767676767676764615a5045392d21140800000013202c3946535f6c7986929facada093867a6d6767676767676767676767676767676767676767676767676767676767676767676764615a5045392d211408000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000080f171f252a31373e4850585f626b6f737778797877736f6a615f574f473d38322b2620180f090000000000000000000000000000000000000000000009121c252e363e454d52575f62666a6e71737577787879797978777573706d67636059534d453e362d251b110800000000000000000000000005101b252e373e434646464646505d69768390908376695d504646464646433e372e251b10050005111d2935414c566a7683909da9ac9f9286796d6053463a2d2013070005111d29343f485056585f5e5d5c5b5a5955534e463c32261b0f0300000000000000000000000000000000000000000000010c161f2a343e45515c676e7b8586868686868686867a6e6154473b2e2114080000000000000000000000000000000000060f181f262b31373a3c4247484b4d4f51525253525251504e4c494745403a38342e261e19130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141e262e343e424a5153575e616467696b6c6c6c6c6b6a6765625f5854524c444039302a21181006000000000000000000000000000000000004111d2935414c565d6069696969696967645c53483c434e585f6269696969696965625b51463a2e22160900000000000000000000000000000000000000000000000000000000000d1926323e49545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645d53483c3024180b000714202c38444f5961636c6c6c6c6c6c6c6361594f44382c2014070000040f19232b32383b3c464646464646463e3c39332c241a10050000000000000000000000000000070b141c22282b3036393b3e414344454646454443403e3b3936302b28221c140b0600000000000000000000000005101a232c33383c3d46464646464646464646464646463f44464f4f4f4f4f4f4f46444046464646464646464646464646463e3c39332c241a10050000000000000000000613202d394653606c7985929facb3a9968a7d7063574a3d31261b0f01000000000000000000000000000000000000000b151d252b30343536312d2c2924201d19130c0701000000000013202c3946535f6c7986929facada09386797373737373737373737373737373737373737373737373737373737373737373737373716c6155493c3023170a00000013202c3946535f6c7986929facada09386797373737373737373737373737373737373737373737373737373737373737373737373716c6155493c3023170a000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000050d15202a333e47505a616a6f767c808385868583807c756e6960594f473d32291f150e060000000000000000000000000000000000000000000000000a131c242c333b42464d5355575f626466696a6b6b6c6c6c6b6a686663605d55544f47423c332d241b1309000000000000000000000000000a16212c3740494f5353535353535d69768390908376695d5353535353534f4940372c21160a00010d192430414e5b6774818e9aa7afa399887b6f6255483c2e23180c060615212e3a45505a62656c6b6a69686766625f584e43372b1f13060000000000000000000000000000000000000000000000040d18222934404b555f696e78797979797979797976685e5246392d201407000000000000000000000000000000000000060e141a1f262b2e31373a3b3e41434445464646454443413f3d3a39352f2b28231c140c0802000000000000000000000000000000000000000000000000030608090f1112131313110f0c0707050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c141c232830394044464d5254585a5c5e5f5f5f5f5e5d5b5855534e4745413a342e271e180f06000000000000000000000000000000000000010d1924303a444c52545c5c5c5c5c5c5b58534a41363c464e53555c5c5c5c5c5c585651493f34291e120600000000000000000000000000000000000000000000000000000000000915212d38424c545a5c6060606060606060606060606060606060605b59534a41362b2014080004101c27333d474f55566060606060606056554f473d33271c100400000007101921272c2f303939393939393931302d28221a120800000000000000000000000000000000020a11171c1f252a2d2e3134363838393938373634312e2d2a251f1c17110a02000000000000000000000000000008111a21272c2f3039393939393939393939392d38424a50535c5c5c5c5c5c5c53514a42392e393939393939393939393931302d28221a12080000000000000000000006121f2b3844505b667683909ca9b3a79a8d807467584e43372b1e1308000000000000000000000000000000000000060f1d272f373c4041423e3a39352f2d29251e18120b030000000013202c3946535f6c7986929facb3a79a8d8080808080808080808080808080808080808080808080808080808080808080808080807e7164574a3e3124170b00000013202c3946535f6c7986929facb3a79a8d8080808080808080808080808080808080808080808080808080808080808080808080807e7164574a3e3124170b000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000020e1a26313c454f59616c707c82898d90929291908d88827b706b60594f443b3025190e02000000000000000000000000000000000000000000000000010a121a212930363c4247484e5355585a5c5d5e5f5a61646c6c6c6c66635c5248433d37312a211b120901000000000000000000000000000f1b27333e49525a5f60606060606069768390908376696060606060605f5a52493e33271b0f0000081825313e4b5864717e8b97a7b1ab988b7e7165554b4034281d1413131624313d4a56626c71787777767574736f6a5f53473b2e211508000000000000000000000000000000000000000000000000060f18232f39434d575f616c6c6c6c6c6c6c6c6c6c5e564c41362a1e11050000000000000000000000000000000000000003090e151a1e21262b2e2f32343637383939393837373532302d2c29241f1c17110a02000000000000000000000000000000000000000000000000030a0f1215151c1e1f1f201f1e1c181413110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171e272e34383b4246484b4e50515253535251504e4c4847433c39353028231c150c06000000000000000000000000000000000000000008131e28323a4145475050505050504e4c4841382f343c4347485050505050504c4a463f372d23180d01000000000000000000000000000000000000000000000000000000000005101b26303a42494e505353535353535353535353535353535353534e4c4841382f251a0f0300000b16212c353d44484a535353535353534a48443d352c21160b0000000000070f161b1f22232d2d2d2d2d2d2d2423211c17100800000000000000000000000000000000000000060b0f14191e20212427292b2c2c2c2b2b29272421201e19140f0b0600000000000000000000000000000000000810161c2023232d2d2d2d2d2d2d2d2d2d28333f4a545b6068686868686868605c544a4034282d2d2d2d2d2d2d2d2d2d2423211c1710080000000000000000000000030f1c28333f4a546774808d9aaab4aa9d9184776a5f53473a2f24190b0200000000000000000000000000000000030e18212f3941484d4e4f4b4745413a39353029241d150d0300000013202c3946535f6c7986929facb9a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8174675b4e4134281b0e01000013202c3946535f6c7986929facb9a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8174675b4e4134281b0e010000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000006121e2b37424d57616c707e868f949a9c9998999c99938f857d706b60564d42362a1f14080000000000000000000000000000000000000000000000000000080f171f252a31373a3c4247484b4d4f4a505b636c7079797979736e63574b3f322b2620180f09000000000000000000000000000000121e2b37434f5a646c6c6c6c6c6c6c6c7683909083766c6c6c6c6c6c6c6c645a4f43372b1e1200000815212e3b4854616e7b87959faba89b8e8175675c5145392e2521201f202935404b5565717e8584838281807f7c6f6255493c2f2216090000000000000000000000000000000000000000000000000007121d27313c454d53555f60606060606060605f524c443b3025190e0200000000000000000000000000000000000000000003090e12151a1e21222527292a2c2c2c2c2b2b2a282523201f1d1812100b0600000000000000000000000000000000000000000000000000060e151b1f2122282a2b2c2c2c2b292521201d19130d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c151c23282c30363a3b3e414344454646454543413f3c3a37312c29241e18120b03000000000000000000000000000000000000000000020c1620283035393a43434343434341403c362f262a32373b3c4343434343433f3e3a342d251b1107000000000000000000000000000000000000000000000000000000000000000a141e2830383e414346464646464646464646464646464646464641403c362f261d130800000005101a232c33383c3d464646464646463d3c38332c231a1005000000000000040a0f13151620202020202020171714110c050000000000000000000000000000000000000000000003080d111414171a1c1e1f20201f1e1d1a171414110e08030000000000000000000000000000000000000000050b101416172020202020202020201f2b3844505b666c757575757575756d665c5144382c1f202020202020202020171714110c05000000000000000000000000000b17222d3d4a5763707d8a98a2aeaca095887c6f62564c4135291d140a000000000000000000000000000000000915202a33414b53595b5c5854524c4746413a352f271f150b01000013202c3946535f6c7986929facb9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a8e8174675b4e4134281b0e01000013202c3946535f6c7986929facb9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a8e8174675b4e4134281b0e010000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000814212e3a47535f69707e87929899938f8c8b8c90949e9792877d6f695e52463b3025190e020000000000000000000000000000000000000000000000000000050d141a1f262b2e31373a3b3e444c545c606d727e868686868073665a4d4033271a150e060000000000000000000000000000000013202d3946535f6c767979797979797979839090837979797979797979766c5f5346392d201300000714202d3a46525e697783909daaab9f9285796d60544b4036312d2c2c2d323a45515d6775818e91908f8e8d897c6f6356493c3023160900000000000000000000000000000000000000000000000000010b151f2a333c4246485253535353535353535346413b32291e14080000000000000000000000000000000000000000000000000206090e121415181a1c1e1f1f201f1f1e1d1b19161413100c0703000000000000000000000000000000000000000000000000000006101820262b2e2f3537383939393835322e2d2a251e19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f252a2d2e3134363839393939383734322f2e2b26201d19130c07000000000000000000000000000000000000000000000000040e161e24292c2d3636363636363433302b251d20262b2e2f36363636363632312e29231b13090000000000000000000000000000000000000000000000000000000000000000030c161e262d3235363939393939393939393939393939393939393433302b251d140b010000000008111a21272c2f3039393939393939302f2c27211a110800000000000000000003070909131313131313130b0a08040000000000000000000000000000000000000000000000000000010507080b0e10111213131211100d0b080705020000000000000000000000000000000000000000000000000407090a131313131313131313202d394653606c7881828282828281796d6053463a2d201313131313131313130b0a08040000000000000000000000000000000614202d3a4753606d7985929facb1a79a8d8073685d52453b2f261b1106000000000000000000000000000006101a26313c45535d64686964605d5654524c45403931271d1207000013202c3946535f6c7986929facacacaea9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69a8e8174675b4e4134281b0e01000013202c3946535f6c7986929facacacaea9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69a8e8174675b4e4134281b0e010000000000000000020714202d3a4753606d7a8693a0acac9f9286796c5f5346392c2013070502000000000000000000000000000000000006121f2b37434e58626e7b869299959187827f7f80838991969992857b6e61564d41362a1e110500000000000000000000000000000000000000000000000000000002090e151a1e21262b343d454d565d666d747f87929892857b6e6154473b2e21140903000000000000000000000000000000000013202d394653606c798686868686868686909494908686868686868686796c605346392d2013000005121e2a36424d5765727f8c98a2aea2988b7e71665c5146423b3a39383a3d444d57606d7a85929e9d9c9b9285796d6053463a2d2013070000000000000000000000000000000000000000000000000000030d18212a31373a3b4546464646464646463b3936302920170d02000000000000000000000000000000000000000000000000000000020608080b0e1011121313131211100e0c0a07060400000000000000000000000000000000000000000000000000000000030e18222a31373a3c42444546464644423f3a39363029241e160e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c10141a1e20212527292b2c2c2c2c2b2a282522211f1b15110d08020000000000000000000000000000000000000000000000000000040c13191d2021292929292929282724201a13151b1f21222929292929292525221e18110901000000000000000000000000000000000000000000000000000000000000000000040c141b212628292d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282724201a130b020000000000000810161c2023232d2d2d2d2d2d2d2323201c161008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060606060606060713202d3a4653606d79868f8f8f8f8f867a6d6053473a2d201407060606060606060000000000000000000000000000000000000006131f2c3845515c6775828f9ba8b2ab9f92857a6d60574d41382d2217110a020000000000000000000001081018222b37424e57646f7475716d6865615e56514b43392f24180c000013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8e8174675b4e4134281b0e01000013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8e8174675b4e4134281b0e0100000000000003090e1214202d3a4753606d7a86939f9f9f9f9286796c5f5346392c201514120e09030000000000000000000000000000000815212e3a47535f6a75828f989691837c76737273767d849197978e8174685e5246392d2014070000000000000000000000000000000000000000000000000000000000050c151d2328363e464f575f686d78818c939993877d70695e52463a2d20140700000000000000000000000000000000000013202d394653606c7986939393939393939c9f9f9c9393939393939386796c605346392d20130000020e1a25303b4754616d7a86929fa9aa9e9184796d605b534d4847454546484f565e69727f8c98a2aaa69b8e8275665c5044382c1f1206000000000000000000000000000000000000000000000000000000060f181f262b2d2e3939393939393939392e2d2a251e170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c4347484f5152525352514f4b4746413a35302820191108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090e121415181b1d1e1f20201f1e1d1b191515120f0a0401000000000000000000000000000000000000000000000000000000000002080d1113141d1d1d1d1d1d1b1a18140f080a0f1215151d1d1d1d1d1d191816120d07000000000000000000000000000000000000000000000000000000000000000000000000030a1015191c1d2020202020202020202020202020202020201b1a18140f08010000000000000000050b1014161720202020202020171614100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050a0d0f101313100f0d0a0500000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939b9b9b93867a6d6053473a2d201407000000000000000000000000000000000000000000000000000004101c2934404b5563707d8a96a1acaea2988c7f73695e53493f3327221b140b090603000001000205080d1319222a343c47535f6a7481827e7a76716d68605d554b4035291d10040013202c3946535f6c79869293939393939393939393939393939393939393939393939393939393939393939393939393939393938e8174675b4e4134281b0e01000013202c3946535f6c79869293939393939393939393939393939393939393939393939393939393939393939393939393939393938e8174675b4e4134281b0e010000000000050d141a1e21212d3a4753606d7a8693939393939286796c5f5346392d2d21211e1a140d0500000000000000000000000000000915222f3c4855626f7b88949e91847a6f6a6665666b6f7b85929e93877b6e6154473b2e21140800000000000000000000000000000000000000000000000000000000060e161e272e344048505960696e7a828e939f948c7f736b60574d42362a1e110500000000000000000000000000000000000013202d394653606c7986939f9f9f9f9f9fa9ababa99f9f9f9f9f9f9386796c605346392d20130000000914202d3946525d6874808d97a2aca0968d80746d615e575554515153555960686e7b86929faaab9f94897c6f63544a3f34281c100300000000000000000000000000000000000000000000000000000000060e141a1e21222c2d2d2d2d2d2d2d2d21201e19140d05000000000000000000000000000000000000000000000000000000000000000000000406070a0d0f11121313131212100e0c090606030000000000000000000000000000000000000000000000030f1b26313c464e53555b5d5e5f5f5f5e5c5854524c46413a322b231a1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e10111213131212100e0c0908060300000000000000000000000000000000000000000000000000000000000000000000010407071010101010100e0d0b08030000030608091010101010100c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000005090d0f101313131313131313131313131313131313130e0d0b08030000000000000000000000000407090a131313131313130a090704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11161a1c1d20201d1c1a16110a030000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0a8a093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000c18232f394653606c7884919ea8b2aa9f92867b6e655b50443e332d261d1a1312100b060e090e1214191e2429343c46505a626e7b878f8b86827e7a766d675d5145392c1f13060013202c3946535f6c7987868686868686868686868686868686868686868686868686868686868686868686868686868686868686868174675b4e4134281b0e01000013202c3946535f6c7987868686868686868686868686868686868686868686868686868686868686868686868686868686868686868174675b4e4134281b0e0100000000050f171f252a2d2e393a4753606d798686868686868687796c5f53463939392e2d2a251f170f05000000000000000000000000000d192633404c5966737f8c99968a7d70685f5858596069717e8b98998b7e7165584b3e3225180b000000000000000000000000000000000000000000000000000000070f18202830394045525a616b6f7b838f949d968f82776c60594f453b30251a0e0200000000000000000000000000000000000013202d394653606c7986939facacacacacb6b7b7b6acacacacac9f9386796c605346392d201300000005111d2935414c56616d7a85929fa5a89d928c7f756e696461605d5c6062656b6f7a839198a2aea3999083766b605442382e23170c00000000000000000000000000000000000000000000000000000000000003090e1214151f20202020202020201414110e0802000000000000000000000000000000000000000000000000000000000000000001070c10131416191c1d1f1f20201f1e1d1b191613120f0b0600000000000000000000000000000000000000000006121f2b37434e585f62686a6b6c6c6c6b6865615e56524c443d352c241a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d151c2226292a2d2d2a2926221c150d0400000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0aca093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000007121f2b3844505b66727f8b96a1acaea2988f82776c605a50443f382f2b26201f1c171b1a1b1a1e2124292f353e464e58626c75828f9999928f8b8682796d6053473a2d20140700121f2c3845525e6a757979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746f64594c4033271a0d010000121f2c3845525e6a757979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746f64594c4033271a0d01000000030d17212931363a3b464645515c67767979797979797979756a5e52464646463b3a36312921170d030000000000000000000000020f1c2935424f5c6875828f9b9184786b61564e4c4f57606d7a86929a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000071019212a323a434b515b636c717d8591959f9991847a6d655b50473d33291f14090000000000000000000000000000000000000013202d394653606c7986939facb9b9b9b9c3c4c4c3b9b9b9b9ac9f9386796c605346392d2013000000010d1924303a46525e68727e8b939ea7a49c918c827b75716e6d67666d6f71767d849195a0aaa69f92877c6f63594f4330261c1106000000000000000000000000000000000000000000000000000000000000000002050708121313131313131313080705020000000000000000000000000000000000000000000000000000000000000000040a0f12181c1f202326282a2b2c2c2c2c2b2a282523201f1c17110f0a030000000000000000000000000000000000000815212e3a47535f6a6f7577787979797775726d68615d564f473e362c231a1006000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111112131312110f0c0908060300000000000000000406070b0f1213131211100e0c0b09060100000000000000000000000000000000000000000000000000020507080b0d0f1112131313131211100e0b08080602000000000000000000000000000000000000000000000000000000000000000000050a0d0f101313100f0d0a0500000000000000000000000000000000000000000000000000000000050a0d0f101313100f0d0a050000000000000000000000000000000000000000000000000000000000050a0d0f101313100f0d0a0500000000000000000000000000000000000000000000000000030d161f272d32353639393635322d271f160d03000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939f9f9f93867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000030f1c28333f4a54606d7984919ea6b0aa9e948c7f726c615a5049413c37312d2b2823272728252a2d2f353a41454f585f6a717e8b939ea39f9c998f8275675d5145392c1f130600111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645d53483c3024180b000000111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645d53483c3024180b0000000009141f29333b4246485353534b555c6c6c6c6c6c6c6c6c6c6a635953535353534846423b33291f1409000000000000000000000004101d2a3743505d6a7683909c8f827669594f443f45515d677784919c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000040f19222b333c444c555c606d737e869297a09f92877c6f685d53493f352b20170d020000000000000000000000000000000000000013202d394653606c7986939facb9c6c6c6cfd0d0cfc6c6c6b9ac9f9386796c605346392d20130000000008131e2a36414c56626d75818e959fa6a49c948f86827e7b7a7979797b7e83899196a0a7a59e948c7f736b6054473d321e150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161b1d23292c2d303335373839393939383635322f2d2b28221c1b150e0903000000000000000000000000000000000915222f3c4855626f7c81848585868584827e7a746d68605950483e352c22180d0300000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191515120f0a0401000000070c101313181c1e1f201f1e1d1b181815120d060000000000000000000000000000000000000000000205090e121415181a1c1e1f1f20201f1f1e1c1a181514120e09060300000000000000000000000000000000000000000000000000000000030a11161a1c1d20201d1c1a16110a03000000000000000000000000000000000000000000000000030a11161a1c1d20201d1c1a16110a0300000000000000000000000000000000000000000000000000030a11161a1c1d20201d1c1a16110a0300000000000000000000000000000000000000000000000a151f2831383e4243464643423e3831281f150a000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79869393939393867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000b17222d3845515c67717e8b949ea9b0a69f92877e716c605b534d47423c3a38342e34343531363a3b41454c5159616a6f7c86929fa5aea99f93877c6f62554b4035291d1004000e1a26313d4751595e5f606060606060606060606060606060606060606060606060606060606060606060606060606060606060605b59534a41362b2014080000000e1a26313d4751595e5f606060606060606060606060606060606060606060606060606060606060606060606060606060606060605b59534a41362b201408000000020e1a25313b454d535f6060606060605d606060606060605f5e5c6060606060605f534d453b31251a0e020000000000000000000004101d2a3743505d6a7683909c8f827669594f454045515d677784909c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000a16212b343d454d565e676d757f8a9298a19e938b7f726a60564c41382d23190e05000000000000000000000000000000000000000013202d394653606c7986939facb9c6d2d2dcdddddcd2d2c6b9ac9f9386796c605346392d201300000000020d1925303a44515b606d798390949da5a69e98928f8b8887858586888b90949ea1a8a39f938e82786d60594f43352b210c0300000000000000000000000000000000000000000000000000010406070a0d0f11121313131212100f0d0a070704010000000000000000000000000000000000000000000000000000000000000000060b151b21272c2f34383a3d40424445464646454543413f3c3938332d2b26201a150b060000000000000000000000000000000a1724313d4a5764707d8a9091929292918f8b86807a706b615a50473e342a1f150b01000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e212125282a2b2c2c2c2b2a282622211f1b15110d08030b12181c1f2025292b2c2c2c2b2a272524221d18110901000000000000000000000000000000000003090e12141a1e21212527292a2b2c2c2c2c2c2a29272522211e1a15120f0a0400000000000000000000000000000000000000000000000000040d151c2226292a2d2d2a2926221c150d0400000000000000000000000000000000000000000000040d151c2226292a2d2d2a2926221c150d040000000000000000000000000000000000000000000000040d151c2226292a2d2d2a2926221c150d0400000000000000000000000000000000000000000005111c27313a434a4e505353504e4a433a31271c11050000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7886868686868686796d6053473a2d2014070000000000000000000000000000000000000000000000000000000006111c2834404b55616c75828f97a2abafa39992877e726c655f57534d4946443f41414141424246484c52555d606b707c859298a2aeada2978f82756a5f5343392f24180c00000915202b353f474e52535353535353535353535353535353535353534d545b60666c6c6c6c6c6a5c544a53535353535353535353534e4c4841382f251a0f030000000915202b353f474e52535353535353534d575e6c6c6c6c6c6c6c6a665f55535353545e66696c6c6c6c6c6c6c5e574d5353535353534e4c4841382f251a0f0300000005121e2a36424d575e6c6c6c6c6c6c6c6a665f55535353545e66696c6c6c6c6c6c6c5e574d42362a1e120500000000000000000000020f1c2935424f5c6875828f9b9184786b61574f4d5058606d7a86929a8e8174675b4e4134281b0e010000000000000000000000000000000000000000000000030f1b27323d464e575f686d79818c929fa3a0958e81756d62584e443a2f261b110800000000000000000000000000000000000000000013202d394653606c7986939facb9c6d2dfe9eaeae9dfd2c6b9ac9f9386796c605346392d2013000000000008131e28323f45515d676d7a828e939da0a7a39f9b97949892929895989c9fa6a7a099928d81786d665c50463d3223190f00000000000000000000000000000000000000000000000004080d111314171a1c1d1f1f20201f1f1d1c1a171413110d080400000000000000000000000000000000000000000000000000000000020a111720262b323839404547494c4f50525253535251504e4c4946443f3837312b262017110a02000000000000000000000000000a1724313d4a5764707d8a979e9f9f9f9e9b98928d847d716c61594f463c31271d12070000000000000000000000000000000000000000000000000000000000000000060c161b1f252a2d2e31343738393939383735322f2e2b26201d19130c151d23282c2d32353839393838363432312e29231b130900000000000000000000000000000003090e141a1e21252a2d2e31343637383939393938373634322f2e2b26211f1b150f0a0400000000000000000000000000000000000000000000030d161f272d32353639393635322d271f160d030000000000000000000000000000000000000000030d161f272d32353639393635322d271f160d03000000000000000000000000000000000000000000030d161f272d32353639393635322d271f160d0300000000000000000000000000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a00000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66767979797979797976675c5145382c1f130600000000000000000000000000000000000000000000000000000000000c18232e3943505a616e7b859299a3afaba39992877f776e69615f575553504a4e4e4d4e4f4d5354565d60676d747d859297a1aaaea49e92857b6e61584e4331271d12070000040f19242d353d424546464646464646464646464646464646424651575f666c72797979797975665c50444646464646464646464641403c362f261d130800000000040f19242d353d424546464646464646535e69767979797979797771665b4f464e5a66707679797979797976695e5346464646464641403c362f261d1308000000000714212d3a46535e69767979797979797771665b4f464e5a66707679797979797976695e53463a2d21140700000000000000000000000d192633404c5966737f8c99968a7d706960595a5a616a727e8b98998b7e7265584b3f3225180c00000000000000000000000000000000000000000000000007131f2c38434e5860696e7a828e939ca4a2989183796d605b51463d32281d140a0000000000000000000000000000000000000000000013202d394653606c7986939facb9c6d2dfecf6f6ecdfd2c6b9ac9f9386796c605346392d20130000000000020c16202935404b555d686d78818991959c9fa3aba4aaa29f9fa2aaa4aba49f9c95908780786d665c544a3f342b21100700000000000000000000000000000000000000000000070c1013191d20212426292a2b2c2c2c2c2b2a28262421201d1913100c0701000000000000000000000000000000000000000000000000040b141c222832373d43484b515356595b5d5e5f5f5f5f5e5d5b585653504a47433c373127221b140b030000000000000000000000000a1724313d4a5764707d8a979e9ea2a9a9aaa39f9691877e716b61584e43392f23180c030000000000000000000000000000000000000000000000000000000000030a111720272b31363a3b3e4144444546464544423f3c3b37322c29241e191e272e34383a3e42454646454443413f3d3a342d251b110600000000000000000000000000060b151a1f262a2d31363a3b3e4042444546464646454443413e3b3a37312e2b26201b150c070000000000000000000000000000000000000000000a151f2831383e4243464643423e3831281f150a00000000000000000000000000000000000000000a151f2831383e4243464643423e3831281f150a0000000000000000000000000000000000000000000a151f2831383e4243464643423e3831281f150a00000000000000000000000000000000000000010d1a26323e4a545e66696c6c69665e544a3e32261a0d01000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c5c554b4034291c1004000000000000000000000000000000000000000000000000000000000007121d27303e46525e69707d87929fa4acaba399938c827b746e696562605c545b5a5a5b5c575e6164686d737a808a9297a1a9afa59d928a7e70695e52463c321f150b0100000008121b242b31363839393939393939393939393930353e444d525b62696e787f8686868687796d6053463a3939393939393939393433302b251d140b01000000000008121b242b31363839393939393b4854616e7b86868686868683776a5d50444f5c6976828686868686867b6e6154483b393939393433302b251d140b01000000000815212e3b4854616e7b86868686868683776a5d50444f5c6976828686868686867b6e6154483b2e21150800000000000000000000000916222f3c4955626f7c88949e91847b706b6766676c717c85929f93877b6e6154473b2e2114080000000000000000000000000000000000000000000000000915222e3b4854606a6f7b8490949ea5a49f92867c6e675d51493f342b20160b020000000000000000000000000000000000000000000013202d394653606c7986939facb9c6d2dfececececdfd2c6b9ac9f9386796c605346392d2013000000000000050e18242f3a434c565d666d747d848a8f92999a9c9e9e9f9f9e9d9c9a99938f8a837c736c665c544a42382e22190f000000000000000000000000000000000000000000060b12181c1f24292c2d31333537383939393938373533302d2c29241f1c18120c0700000000000000000000000000000000000000000000040d161d262d333c43474f54555c606366686a6b6c6c6c6c6b69686562605b54534e47423c332d261d150d0300000000000000000000000a1724313d4a5764707d8a92919297979c9fa6a9a19992877d706a5f554b4034291f140900000000000000000000000000000000000000000000000000000000030c151c232832373b4246484b4e505152535252504e4c4847433c39352f28222b30394045464b4f5152535251504e4b4a463f372d23180d0100000000000000000000020a11171f262b31363a3b4246484b4d4f51525253535252514f4d4b4847423c3a37312b262018120b0300000000000000000000000000000000000005111c27313a434a4e505353504e4a433a31271c110500000000000000000000000000000000000005111c27313a434a4e505353504e4a433a31271c11050000000000000000000000000000000000000005111c27313a434a4e505353504e4a433a31271c1105000000000000000000000000000000000000030f1c2935424e5a66707679797670665a4e4235291c0f030000000000000000000000000000000000000000000000000000000000000000000000000c17232e38424a505f606060606060605f514b43392f23180c000000000000000000000000000000000000000000000000000000000000000b151e2a36424d56606b717f8b939aa3ababa49f948f86817b76726f6d6668686767686869696e71757a7f858d929ea2a9afa59e938d80746c61574d42342a200d03000000000009121920262a2c2c2d2d2d2d2d2d2d2d2429323a414650565e616d727b828c929992877e71665c5044382b2d2d2d2d2d2d2d2d282724201a130b020000000000000009121920262a2c2c2d2d2d2e3b4854616e7b87939393939083776a5d50444f5c6976828f93939393877b6e6154483b2e2d2d2d282724201a130b0200000000000815212e3b4854616e7b87939393939083776a5d50444f5c6976828f93939393877b6e6154483b2e21150800000000000000000000000815212e3b47535f6a76828f989691847d77747374777e859297978e8174695e52463a2d2014070000000000000000000000000000000000000000000000000916232f3c4956626f7c85919693939393928a7e716a5f554b40372d22190e04000000000000000000000000000000000000000000000013202d394653606c7986939facb9c6d2dfdfdfdfdfdfd2c6b9ac9f9386796c605346392d20130000000000000007131d28313a444c545c606b70787e82868a8d8f9192929291918f8d8a86827d786f6a605b544a423930261c100700000000000000000000000000000000000000020a11171c23282c2f35393a3d4042444546464645454342403d3a39352f2c29231d18120b0300000000000000000000000000000000000000030c161f282f383f444e54596063676d707375777879797978787674726f6c66625f58534d443f382f271f150d03000000000000000000000a1724313d4a5764707d87858585868a8f949fa2aaa39992867c6f675c51453b31261a0e030000000000000000000000000000000000000000000000000000030d151e262e343d43474d5354585b5d5e5f5f5f5e5d5b5955534e4745413a3129343c424b5153585c5e5f5f5f5e5d5a585651493f34291d1206000000000000000000040c141c232831373b4246484d5354585a5c5d5e5f5f5f5f5f5d5c5a5855534d4847433c373228231d150c0500000000000000000000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a0000000000000000000000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a000000000000000000000000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a00000000000000000000000000000000000003101d2a3643505d69768286868276695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f4453535353535353535345403931271d120700000000000000000000000000000000000000000000000000000000000000030c1925303b444f59626d727f889299a1a8afa69f99928e88837f7c797775747474747576787b7e82868c92979da4adaba39f938e81786d605a50453b3022180e00000000000000080f151a1d1f202020202020191f282f353e444c525a61696e767f8690949a93877e716c61544a3f34281c202020202020201b1a18140f0801000000000000000000080f151a1d1f202020212e3b4854616e7b87949f9f9d9083776a5d50444f5c6976828f9c9f9f94877b6e6154483b2e2120201b1a18140f08010000000000000815212e3b4854616e7b87949f9f9d9083776a5d50444f5c6976828f9c9f9f94877b6e6154483b2e211508000000000000000000000006131f2b37434e58626f7c86929a96918984818081848a92979892857a6e61564d42362a1e11050000000000000000000000000000000000000000000000000d1a2633404d59667380868686868686868680746c61574e43392f251b100700000000000000000000000000000000000000000000000013202d394653606c7986939facb9c6d2d2d2d2d2d2d2d2c6b9ac9f9386796c605346392d201300000000000000010c161f28323a424b515960666c71767a7d808284858686858483807d7a75706c666058504a423930271e140a00000000000000000000000000000000000000050b141c22282e34383a4145474a4d4f50525253535252504f4d4a4745413a38342f28231d150c070000000000000000000000000000000000000b151e283139424a50585f626b6f75797d7f828385858686858483817f7c79746f6a625f575049413931271f150b010000000000000000000714202d3a4753606d79797878787a7d828a9298a1a9a2989083796d60574d42362a20150a00000000000000000000000000000000000000000000000000010b151f2730383f444e54575e6164676a6b6c6c6c6b6a6865625f5854524c433f353c464e545c6065686b6c6c6b6b696765625b51463a2e2215090000000000000000050e161e262e343c42474d5355575e616467696a6b6c6c6c6c6b6a696765625f5755534e47433c342e271e170e05000000000000000000000000000000010d1a26323e4a545e66696c6c69665e544a3e32261a0d0100000000000000000000000000000000010d1a26323e4a545e66696c6c69665e544a3e32261a0d010000000000000000000000000000000000010d1a26323e4a545e66696c6c69665e544a3e32261a0d01000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000000000000000000000000000000000000a151e262e343846464646464646464638342f271f150b01000000000000000000000000000000000000000000000000000000000000000009141f29323d47505a626d727e8791969ea5acaba39f9a95908c8885848281818081828385878b8f92989fa2a9ada8a099928d81786d665c50483e33291f1006000000000000000004090e1112131313130f19222b313a41454f565e616c717b828b92989a93887e716c615a5042382e23170b1313131313130e0d0b080300000000000000000000000004090e1112131315212e3b4854616e7b8794a1aa9d9083776a5d50444f5c6976828f9ca9a194877b6e6154483b2e2115130e0d0b080300000000000000000815212e3b4854616e7b8794a1aa9d9083776a5d50444f5c6976828f9ca9a194877b6e6154483b2e2115080000000000000000000000030f1b26323c47535f6a717e8892989e95908d8d8e91969e9792867d6f685e52443b3025190e020000000000000000000000000000000000000000000000000c1925323f4b57636d737979797979797979746e645a50453c31281d12090000000000000000000000000000000000000000000000000013202d394653606c7986939facb9c6c6c6c6c6c6c6c6c6c6b9ac9f9386796c605346392d20130000000000000000040d162028303940454f545b6064686e7174767778797978777673716e6863605b544e443f382f271e150c02000000000000000000000000000000000000070f171d262d33394044464c525457595c5d5e5f5f5f5f5e5d5b595754524c47454039342e271e1810090000000000000000000000000000000007121d273039434b545b606a6f767c8185898c8e90919292929291908e8b8985817c756e69605b534b433931271d120700000000000000000006131f2c3845515c676d6d676b676d70767e869297a1aaa0958c8073695f53463c31261a0f0300000000000000000000000000000000000000000000000007121d273139424a50586062696e71747777787979787775726f6a66605d56504540454e5860666d717578797978777674726d62564a3d3124180b00000000000000050e17202830383f444d53575f6166696e71737577787979797978777674716e6967625f58544e454039302920170e050000000000000000000000000000030f1c2935424e5a66707679797670665a4e4235291c0f0300000000000000000000000000000000030f1c2935424e5a66707679797670665a4e4235291c0f030000000000000000000000000000000000030f1c2935424e5a66707679797670665a4e4235291c0f03000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000000000000030c151c23282c3939393939393939392c29231d150d03000000000000000000000000000000000000000000000000000000000000000000020d17202b353f48515b626c717d848e939da0a7abaca79f9d989892908f8e8d8d8e8f909298979c9fa3aaada9a29f96918780786c665c544a3f362c21170d00000000000000000000000104060606000a16212b343d434b515961686d757e858f949f9f93887f716c625a50483e30261c110600060606060601010000000000000000000000000000000000010406060815212e3b4854616e7b8794a1a99d9083776a5d50444f5c6976828f9ca9a194877b6e6154483b2e211508010100000000000000000000000815212e3b4854616e7b8794a1a99d9083776a5d50444f5c6976828f9ca9a194877b6e6154483b2e2115080000000000000000000000000a15202b37434e58616c717e868f949a9d9a999a9d99938f857d706b60564d4132291f1409000000000000000000000000000000000000000000000000000a16232f3b47525b63666c6c6c6c6c6c6c6c67645c52483e332a1f160c000000000000000000000000000000000000000000000000000013202d394653606c7986939facb9b9b9b9b9b9b9b9b9b9b9b9ac9f9386796c605346392d2013000000000000000000040d161e272e343d424a5053565e616467696b6b6c6c6b6a696764615e5653504a423c332d261d150c0300000000000000000000000000000000000007101921292f383f444a5153565d606466686a6b6c6c6c6c6b6a686663605d5653514b454039302a221a12090000000000000000000000000000040d18232e39434b555d666c737c83898e9298999b9d9e9f9f9f9f9e9c9b9897918d88827b736c655d554b43392f24180e05000000000000000004101c2934404b555c60605c555d60646c717c859298a3a79f92867b6e61584e43372b1f14090000000000000000000000000000000000000000000000020c18242f39434b545c606a6f757b7e8183848586858583817f7c78726d68625a514b4d57606a6f797e82848586858483817f7265584b3f3225180c000000000000030c172029323a424a50575f62696e73777b7e8082848585868685858482807e7b78736f6a625f58514b423a322920170c030000000000000000000000000003101d2a3643505d69768286868276695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768286868276695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768286868276695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000000000000000000000000000000000030a11171c1f2d2d2d2d2d2d2d2d2d1f1c18120b030000000000000000000000000000000000000000000000000000000000000000000000050e19232d363f49515a626b6f7a818990959c9fa6a9aca9aaa29f9d9b9b9a9a9b9b9c9fa2aaa8acaaa9a19e97928c847c736c665b544a42382e241a0f0500000000000000000000000000000000030f1b27323d464e555d606b707a818a92979f9b918b7f726d625a50483e362c1e140a0000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87949c9c9c9083776a5d50444f5c6976828f9c9c9c94877b6e6154483b2e211508000000000000000000000000000815212e3b4854616e7b87949c9c9c9083776a5d50444f5c6976828f9c9c9c94877b6e6154483b2e211508000000000000000000000000040f1b26313c46505a616c717c82898d90929291908d88827b706b60594f443b3020170d020000000000000000000000000000000000000000000000000007131e2a35404952575960606060606060605a58524a40362c21180d04000000000000000000000000000000000000000000000000000013202d394653606c7986939facacacacacacacacacacacacacac9f9386796c605346392d201300000000000000000000040c151d23282f383f44464c5254575a5c5e5f5f5f5e5e5c5a5754524c46443f382f28221c140b03000000000000000000000000000000000000071119222b333b424a50545c6064686d70737577787979797878767573706d6864605c55514b423c342c241b1209000000000000000000000000010c161f2834404b555d676d78808790949b9fa2a9a29e9c9b9a9a9b9d9fa3a9a19e9a948f877f776d675d554b40352920170d0200000000000000000c18232f39434b515353514b51535a616a6f7c86929fa7a3988e81756a5f53473b30251a0e01000000000000000000000000000000000000000000000a141e2935404b555d666d747c82878b8e909192929291908e8c88847f7a716d605d55535f696f7c848b8f9192929291908d86796c605346392d20130000000000000b151e29323a444c545c60696e757b8084878b8d8f90919292929292908f8d8b8884807c766f6a605c544c443b32291e150b0000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000000000000000000060c101220202020202020202013100c07010000000000000000000000000000000000000000000000000000000000000000000000000008111b242d373f48505960686d757d83898f94989c9fa3aba7a8aaa8a7a7a7a7a8a9a9a7a5a8a09e9a97918c8580796f6b605b544a423830261c1108000000000000000000000000000000000007131f2c38434e5860676d747d858e939fa29b918b7f726d625a50483f362d241a0c020000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b878f8f8f8f8f83776a5d50444f5c6976828f8f8f8f8f877b6e6154483b2e211508000000000000000000000000000815212e3b4854616e7b878f8f8f8f8f83776a5d50444f5c6976828f8f8f8f8f877b6e6154483b2e211508000000000000000000000000000a15202a343e48505a616a6f767c808385868583807c756e6960594f473d32291f0e050000000000000000000000000000000000000000000000000000020d19242e3740474b4d53535353535353534d4c4740382f241a0f0600000000000000000000000000000000000000000000000000000013202d394653606c7986939f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9386796c605346392d20130000000000000000000000030b12181d262d33383b4146474a4d4f515253535251504d4a4746413b38332d261d17110a02000000000000000000000000000000000000060f19232b343d454d545b60666d71767a7d8082838585868685858382807d7a76716d67605c544e463e362d241b1108000000000000000000000008131e28313a45515c676d79828d92999fa6a39f9a97928f8e8d8e8e9092989b9fa3a69e99928c82796d675d51453f32291e1408000000000000000007121d27313940454747454045475058606a727f8c959faa9f93877c6f62574d42362a1d120700000000000000000000000000000000000000000006111c26303845515d676d7880898f93999a9d9e9f9f9f9e9d9b9896918c857e756d675d58626e7b8691969b9e9f9f9e9e9c9386796c605346392d2013000000000007121d27303a444c565d666d737b81878c9196979a9c9d9e9f9f9f9f9e9d9c9a9896918d88827c746d665e564c443b30271d120700000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000000000000000000000003061313131313131313130604000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b252d363f474f565e616b70787d82878b909299989a9c9d9e9f9f9f9e9e9d9c9b999696918d89857f7a736d676059504a42382f261e140a0000000000000000000000000000000000000915222e3b4854606a6f79818a91979ea39c918c7f726d625b51483f362d241b1208000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8283838383828074675a4e414d5a6673808283838383827a6e6154473b2e211408000000000000000000000000000814212e3b4754616e7a8283838383828074675a4e414d5a6673808283838383827a6e6154473b2e21140800000000000000000000000000030e18222c363e4850585f626b6f737778797876736f6a615e574f473d342b20170d0000000000000000000000000000000000000000000000000000000007121c252e353b3f404646464646464646413f3c362f261d12080000000000000000000000000000000000000000000000000000000013202d394653606c798693939393939393939393939393939393939386796c605346392d201300000000000000000000000000070b141c22282b3036393b3e414344454646454443403e3b3936302b28221c140b0600000000000000000000000000000000000000030c18212b353d464f575e666c71797e82868a8c8f90919292929291908e8c8a86837e79726d665f5850483f362d231a0e05000000000000000000010d19242f3a43505a606d79828f949fa3a7a099928e898583818181828386898e92999fa7a39f948f82796d605b51443b3025190e0200000000000000010b151f272f34383a3a3835393e464e58606c7883909da6a49a8e8175695e5246392f23180c0000000000000000000000000000000000000000000b17232e3842505a606d79828d929b9fa4ababa39f9d9c9b9c9d9fa19e97928b82796d685f6a76828f98a1a8aaa39f9995949386796c605346392d201300000000000c18232e39434c565e686d7880868e93999da0a8aba39f9d9d9c9c9c9d9fa2aaa8a19e9a948f8780786d685e564c42392e23180c03000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b242d353d444c525960656c70767b7f8386898b8d8f9091929292929190908e8c8a8784807c79726d67605d554f443f382f261d140c020000000000000000000000000000000000000916232f3c4956626f7c848e9393939393918c7f726d625b51493f362d241b120900000000000000000000000000000000000000000000000000000000000000000714202d3946525e686e767676767676746e64584c404b58636e737676767676766e685e5246392d201407000000000000000000000000000714202d3946525e686e767676767676746e64584c404b58636e737676767676766e685e5246392d201407000000000000000000000000000006101a242c363e464e53596063676a6b6c6b6a66625f58534d453d352b22190e0500000000000000000000000000000000000000000000000000000000000a131c242a2f323339393939393939393433302b241d140b000000000000000000000000000000000000000000000000000000000013202d394653606c798686868686868686868686868686868686868686796c605346392d20130000000000000000000000000000020a11171c1f252a2d2e3134363838393938373634312e2d2a251f1c17110a0200000000000000000000000000000000000000000a151e2a333d474f5960696e787e848a8f9299999b9d9e9f9f9f9f9e9d9b9999928f8b857f796f6a615a50483f352b20170d02000000000000000004111d2935414c56616c74818e949ea6a69f959087817c79767474747577797d818790959ea5a69e948e81756d62564c41362a1e14080000000000000000030d151d23292c2d2d2c292c343d44505b666f7c89949eac9f92877b6e61554b4034291c10040000000000000000000000000000000000000003101c28343f4a54616c74818e949da4aca7a09d9992908f8f8f9192999a9e9f948f837a6d666f7c88949faaaea398928c88878886796c605346392d20130000000004101c2834404b555e686d7a828c92999fa4a9a19e99999291908f8f90909298989da0a8a69e99928d837a6e685e544b40342820150a000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000010406070a0d10111213131211100d0a070604000000000305050606060606060000000000000000000000000000000000000000000000000000000000000000000000000000000000000109121b232b323a41464f535b6063696e7276797c7f8182848585868685848483817f7d7b7773706d66605d55514b433d332d261d140b02000000000000000000000000000000000000010e1b2734414e5a67748186868686868686867f736d635b51493f372d241b120900000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e6169696969696967645c52473c47525c6366696969696969615e564c41362a1e11050000000000000000000000000005111e2a36414c565e6169696969696967645c52473c47525c6366696969696969615e564c41362a1e110500000000000000000000000000000008121a242c343c43474f54565a5d5f5f5e5d5a55534e46423b332b23191007000000000000000000000000000000000000000000000000000000000000010a12191e2325262d2d2d2d2d2d2d2d2726241f19130b02000000000000000000000000000000000000000000000000000000000013202d3946535f6c767979797979797979797979797979797979797979766c5f5346392d201300000000000000000000000000000000060b0f14191e20212427292b2c2c2c2b2b29272421201e19140f0b0600000000000000000000000000000000000000000006111c26303c454f59606b6f7b828b91969c9fa3a9a19e9c9b9a9b9c9d9fa2aaa39f9c97928c847c716c625a50473d32291e130800000000000000000613202c3945525d68717e8a939da6a89f948f837c746f6c6668676768666d70757c838f939ea7a69e938b7f72685e52463b3025190d010000000000000000030b12181c1f20201f1d2228333f4a54606b75828f9ca8a3998d8073675c5145382c1f14090000000000000000000000000000000000000006121f2b3844505c66717e8b939ea6aea59d95908a86838282838486898d92979f959083786d73808d99a6b0a89f9286807c7a7b7d7063574a3d3024170a000000020d17202c3845515c676d7a838f949fa3aaa29f97918c898684838282838485888b91969ea1a9a39f9590837a6e665c51453c31261a0f020000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000001080d111314171a1d1e1f1f201f1e1c1a171413100c07010c0f11121313131313130909070300000000000000000000000000000000000000000000000000000000000000000000000000000000091019202830363d41495053575e6165676d6f7274757778787979787877767472706e696763605c54514c45403a3128221c140b0200000000000000000000000000000000000000010d1a2733404c58646e747979797979797979736d635b51493f372d251b120900000000000000000000000000000000000000000000000000000000000000000000010d1925303b444c52545c5c5c5c5c5c5a58524a4136404a52585a5c5c5c5c5c5c54524c443b3025190d0100000000000000000000000000010d1925303b444c52545c5c5c5c5c5c5a58524a4136404a52585a5c5c5c5c5c5c54524c443b3025190d010000000000000000000000000000000008121a222a31373d4348494d50525352504d4947433c36312921191107000000000000000000000000000000000000000000000000000000000000000000070d1316191a20202020202020201a1a17130e0801000000000000000000000000000000000000000000000000000000000000121e2b37434f5a646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e1200000000000000000000000000000000000003080d111414171a1c1e1f20201f1e1d1a171414110e080300000000000000000000000000000000000000000000000c17232e38424d57606b707d8590949ea1a8a29e9997918f8e8e8e8f909298999ea2a9a19e9691867e716c62594f443a3025190d0400000000000004111d2935414c55606d7a85929ea5aca0968f82796e6a62605b545a5b545c60636a6e78818f959faba59f92857a6e61564c41362a1e110500000000000000000001070c10131414131017222d38424f5963707d8995a0ab9e9285796d6053473b31261a0e000000000000000000000000000000000000000713202d3a4653606d7884919ea5afa69d938e837d797776757677797c80858c9298958e81747683909ca9aca0958a7e736f6e6e706b6155483c2f23160900000009141f2b37434e58606d798390959fa6a8a098928b85807c79777675757677797c7f848a92979fa7a79f959083786d60584e43372b1e13080000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000003090e13191d20212427292b2b2c2c2c2b292724201f1c18120e181c1e1f2020202020201615130f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000070e161e252a2f383f44464d5354555c60636567696a6b6c6c6c6b6b6a69686663615e575653504a45413a352f281f17110a020000000000000000000000000000000000000000000b1824303c48535c64676c6c6c6c6c6c6c6c66635b51493f372d251b130900000000000000000000000000000000000000000000000000000000000000000000000008141e29323b4146475050505050504e4c4741382f3840474b4d5050505050504746413b32291e140800000000000000000000000000000008141e29323b4146475050505050504e4c4741382f3840474b4d5050505050504746413b32291e140800000000000000000000000000000000000008101820262b32383b3c404445464543403c3b37322a251f170f07000000000000000000000000000000000000000000000000000000000000000000000002070a0c0d13131313131313130e0d0b070300000000000000000000000000000000000000000000000000000000000000000f1b27333e49525a5f60606060606060606060606060606060606060605f5a52493e33271b0f0000000000000000000000000000000000000000010507080b0e10111213131211100d0b0807050200000000000000000000000000000000000000000000000003101c28343f4a545f69707d8692979fa6a49d97928c888583828181828385898c92979fa3a8a09892887e716b60564c41362a20150a0000000000000613202c3945515d6773808d97a1ada69e91847a6d675f5853504a4e4e4b5153585f666d79839099a3ada2978d8174685e5246392d201409000000000000000000000000040607070606111c262f3d4854606b7784919daba2978a7e7164574d42362a1b11060000000000000000000000000000000000000b1824313e4b5764717e8a96a0acac9f948e8179716d67696869676d70747a7f869095938a7e7885929fabaa9d9184776c6261616361594f44382c2014070000020e1925303a47535f6a73808d959fa7aaa09691867f79736f6d676a696969666d6f72787d8590959fa9a79f958d80736a5f53473a3025190d0100000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000060e141a1e24292c2d3033363738393939383634302d2c29231d1a24282b2c2d2d2d2d2d2d23221f1b160f07000000000000000000000000000000000000000000000000000000000000000000000000000000050c13191d262d33373b4246484b515356585a5c5d5e5f5f5f5f5e5d5d5b595754534d4946443f38352f29241d160d0600000000000000000000000000000000000000000000000814202b36414a53585a60606060606060605957514940372e251b130900000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393b43434343434341403c362f262e353b3f404343434343433b3936302920170d02000000000000000000000000000000020d1720293036393b43434343434341403c362f262e353b3f404343434343433b3936302920170d0200000000000000000000000000000000000000060e151b21272c2f30343738393837332f2e2b26201a140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16212c3740494f535353535353535353535353535353535353535353534f4940372c21160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c666e7b859298a2a9a49f928d857f7c78767574747576797c80858c9299a2aaa39a92877d70685e52463c32261b0f0200000000000714212d3a4754606d7a85929fa9aa9e94897d70685d554e46443f41414045464e545c676f7c87929faca99f92867a6e6154473c31261a0e0200000000000000000000000000000000000a141d2c38444f5965727f8c99a3a99c8f8276695f5346382d22170b000000000000000000000000000000000005121e2a36424d576875818e9ba8afa49a8f82786d66605d555c555c6063676d727b838f9391857b8797a2ada79a8d8074675a545557554f473e33281c1004000005111e2a36424d56626f7c87929fa7aea29891847c726d6763605c555c5c545c6062656c707a839097a1ada79f92877c6f62564c41362a1e110500000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000070f181f262a2f35393a3d404344454646454443403d3a38342f2a252f3437383939393939392f2e2c272119100700000000000000000000000000000000000000000000000000000000000000000000000000000002080b141b22272b31363a3b404547494c4e4f5152525353525151504e4c4a4846423d3a38342e29241e18130c04000000000000000000000000000000000000000000000000030f1a252f3841484c4e53535353535353534c4b4640372e251c1309010000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a2d2e3636363636363433302b241d242a2f32333636363636362e2d2a251e170e050000000000000000000000000000000000050e171e252a2d2e3636363636363433302b241d242a2f32333636363636362e2d2a251e170e05000000000000000000000000000000000000000000040a0f161b1f2223272a2c2c2b2a2722211f1b150e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005080a0b13131313131313090806030000000000000005101b252e373e4346464646464646464646464646464646464646464646433e372e251b10050000000000000000000000030613131313131313130d0c0a07020000000000000000000000000003060809131313131313130b0b090501000000000000000004111d2935414c56606d78839097a2aaa49a938b807a736f6a6968676869666d6f737a80879298a2aba39992857a6d61584e43372b1e14080000000005111e2a36424d5765727f8b98a2aea99c8f82756b60564c433c38332d2e34383c424b555f6a74818e9ba8aea3988c7f7266574d42372b1e12050000000000000000000000000000000000020b1c27333d4754616d7a86929fac9f93877b6e6153493f33271b0f03000000000000000000000000000000000714202d3a46525e697885919eabac9f93877c6f665c54514b4f4b5153555d60696e79818f949083909da9b3a4988b7e7165584b484a48443e352c21160b0000000714202d3a46525e6975828e99a3afa89f92867c6f6a605c5553514b4f4f4a5053535b60686e7a85919ea7afa3998e8175685e5246392d20130700000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000030b1218212a31363a4145474a4d505152525352514f4d4a4745403936313a4044454646464646463c3b38322b22190f0400000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f252a2d2f34383a3c3f4142444545464645454443413f3d3b3a36312d2c28231c19130d0701000000000000000000000000000000000000000000000000000008131d262f363c40414646464646464646403e3b352e251c130a0100000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191e20212929292929292726241f1a13191f23262729292929292921201e19140d0500000000000000000000000000000000000000050d14191e20212929292929292726241f1a13191f23262729292929292921201e19140d05000000000000000000000000000000000000000000000000040a0f1315161a1d1f201f1d1a1615130f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c11151718202020202020201615130f0a0400000000000009131c252c33373939393939393939393939393939393939393939393937332c251c130900000000000000000000060c101220202020202020201a1917130e0800000000000000000000040a0f13151620202020202020181715110c06000000000000000713202c3945525d68727f8c95a0a9a69f93887f746d68625f585b5b5b545c6063676d737d869299a4aba2978e81756a5f54473b3025190d010000000714202d3a46525e697683909daaada196897d7063594f433a312b282223282c3039434e58626f7c8895a0acaa9d908477695f53463a2d2114070000000000000000000000000000000000000b13202d3a4653606d7985929eaba49a8c8073655b5044372b1f1207000000000000000000000000000000000815212e3b4854616e7b8797a1adaa9d9083776a5f544b4540424045474b51575f676d78828f9590959fabb0a3968a7d7063574a3d3d3c38332c231a10050000000814212e3b4754616e7b87939fabaca0958a7e716a5f58514b47454042423f44464950565e68707d8a95a0acab9f92867a6d6154473a2e21140700000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000030c151c2328333b42464c5254575a5c5e5e5f5f5f5e5c5a5753514b46423b454c50525353535353534948433d342b21160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f141a1e2123292c2d303234363738393939383837363533302e2d2a25201f1c17110d080100000000000000000000000000000000000000000000000000000000010b141d252b303334393939393939393933322f2a231c130a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1114141d1d1d1d1d1d1b1a17140e080e1317191a1d1d1d1d1d1d1414110d080200000000000000000000000000000000000000000002080d1114141d1d1d1d1d1d1b1a17140e080e1317191a1d1d1d1d1d1d1414110d0802000000000000000000000000000000000000000000000000000000030709090d11121312100d090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000911171d2124252d2d2d2d2d2d2d22211f1b150e060000000000010a131b21272b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a010000000000000000030a11171c1f2d2d2d2d2d2d2d2d2726231f19120a0200000000000000070f161b1f22232d2d2d2d2d2d2d2524211d1811090000000000000714212d3a4754606d7a85929fa7ab9f948c7f726d605d56534e4f4e4e4a5053555d606b707d87939faaa99e93887c6f62564c41362a1e11050000000814212e3b4754616e7b87959fabab9e9184786c6053463d31281f1c17181c1f27313c47535f6a7784919daaaca095887b6e6155483b2e221506000000000000000000000000000000000005111d2a36414c5664707d8a97a1adac9e9184786c605346392f24180c000000000000000000000000000000000916222f3c4955626f7c8895a9b3a79a8d817467584e4239352f34383a40454d555c666d7a85919d9fa7b1afa396897c706356493d302f2c28211a1108000000000c1925323f4c5865727f8b99a4afaa9d9184786c60574e45403a38342f2e34383a3f444d56616b7783909daaafa3998b7e7265584b3f2f24180d01000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000b151e272e343f454d53565d606366696a6b6c6c6c6b696763605c55534d444f575c5f60606060606056544e463d32271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214181c1f20232527292a2b2c2c2c2c2b2a2a28262421211e1a1312100c060000000000000000000000000000000000000000000000000000000000000000020b131a202427272d2d2d2d2d2d2d2d2625231e19120a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507081010101010100e0d0b08030002070a0c0d1010101010100807050100000000000000000000000000000000000000000000000000010507081010101010100e0d0b08030002070a0c0d101010101010080705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b22292d3031393939393939392f2e2b26201810060000000000010910161b1e202020202020202020202020202020202020202020201e1b161009010000000000000000030c151c23282c393939393939393933322f2a241c140a00000000000007101920272b2e2f3939393939393932312e29221b12090000000006131f2b37434e5866727f8c97a2ada79c9083786c605b524c47434241413f44464c5159616b73808d98a2aea59b8f8275685e5246392d2014070000000b1824313e4b5764717e8a97a7b1a79a8e8174665b5044382b1f160f0b0c10151f2b37434e586773808d9aa6b1a7988b7e7165584b3e2d22170b00000000000000000000000000000000000713202d3946525e6875828f9ba9b3aca196897c6f63554b4035291d10040000000000000000000000000000000a1723303d4a5663707d8996a3b0a6998c7f7366594c402f2924292c2f353b434b545d68707d8a959fabb7afa396897c706356493d3023201c1610080000000004111d2935414c556975828f9cabb2a9988b7e72655b50453c342e2c292323282b2d333b444f5965727e8b98a9b3ab9b8f827568554b4035291d1004000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000007121c273039404451575f61686d7073767778797978777673706d67615e57505761686b6c6c6c6c6c6c6260584e43382c1f13070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205070c10131416191b1c1e1f1f20201f1e1e1d1b19171514120e090603000000000000000000000000000000000000000000000000000000000000000000000001080f14181a1b2020202020202020191916120d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090f1112131313110f0c070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b242d34393d3e464646464646463c3b37322a22180e04000000000000050a0f1213131313131313131313131313131313131313131313120f0a05000000000000000000000a151e262e34384646464646464646403f3b362e261c120800000000040f19222b32383b3c464646464646463e3d3a342d241b11060000000815222e3b4754606a7784919ea9aca095897d70655b5045413a3732342e34383a41454f59606d7a85929fabac9f92867a6e6154473b2e23180c0000010e1b2834414e5b6774818e9aa7b4aa978a7e7164544a3f3328190d040000040d1b26323d4a5764707d8a97aab4a79b8e81746853493f33271b0f03000000000000000000000000000000000714212e3a4754616d7a86929facb9b2a89a8e8174675d5145382c1f14080000000000000000000000000000000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f2e23181c1f24293139424c56616c7683909da9b3afa396897c706356493d302316100b0500000000000613202c3945515d677885929eabada196887b6e6153493f3328231f1c18171c1f2227323e4855626e7b8897a2adab9e918578675d5145392c201306000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000c18232e39424a515b63696e747a7d808384858586858482807d79746e69605b536873787979797979796f6a6054483b2e22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090c0e0f1112121313121211100e0c0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000003080b0d0e13131313131313130d0c0a0602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708121313131313130a090704000000000000000000000000000000000000000000000000000000060b0e1011131313131313131313131313131313130b0a080400000000000000000000000000030a0f1215151c1e1f1f201f1e1c181413110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17222d363e45494b535353535353534947433c342a20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f4453535353535353534d4b4740382e24190e020000000a16202b343d434749535353535353534b4a453f362d22180c0100000916222f3c4955626f7c8896a0acaa9d9084776b6053493f35302b262823282c2f353e45525d6874818d9aaaafa3998b7f7265544b4034281c10040005111e2a36414c566a7683909da9aea298887b6e6155483b2d221708000000000a15212e3b4854616e7b8798a2aeaa9d908377655b5044372b1f120500000000000000000000000000000006131f2b37434e5865727f8c99a3aeb7b8ab9f9285796d6053473b3025190e0200000000000000000000000000000a1723303d4a5663707d8996abb5a6998d807366544a403428211e1a181f27303a44505a64707d8a97a2adafa396897c706356493d3023160a000000000000000714212d3a4754606d7a8797a1adab9e918578695f5341382d211813100c0b101217202d394653606c7985929fabada196867a6d6053473a2d201407000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000004101c2834404a545c606d727b81868a8d8f9191929292918f8d8a85807b726c655c6b78858686868686867c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214151f202020202020171614100b050000000000000000000000000000000000000000000000040b12171b1d1e20202020202020202020202020202020171714110c0500000000000000000000060e151b1f2122282a2b2c2c2c2b292521201d19130d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d29343e485056586060606060606055534e463c32261b0f0300000000000000000000000000000000000307090a0e111213131211100e0b090706030000000000000000000c17232e38424a505f606060606060605a58524a40362a1f13070000030f1b27323d464e545660606060606060585650483f34291d110500000d192633404c5966737f8c99a8b2ab998c807366594f41382d241e1b1b171c1f242935414c5663707c8998a2aeab9c8f8276665c5145382c1f1306000713202d3946525e687885929fabac9f9285796c605346392d201306000000000714212d3a46535e697985929facac9f9285796c605346392d2013060000000000000000000000000000000815222e3b4754606a7783909dabacababaea2988a7e7164564c41362a1e110500000000000000000000000000000915222f3c4855626f7b8899a3afa89b8f8275665c51443a322d2b2627272628323e4653606d7985929fabafa396897c706356493d3023160a000000000000000915222f3c4855626f7b8895a9b3a99c8f827669574d422f261b0f070400000306121f2b3744505b657683909da9b2a995887b6e6255483b2f221508000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000030e18212c3844515c666d757f878d9298999c9d9e9f9f9f9e9c9a98928d867f776d666679869293939393887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000003080c0e0e131313131313130f0e0c09040000000000000000000000000000000000000000000000000000000000000003070b0d0e131313131313130e0e0c08030000000000000000000000000000030608090f1112131313110f0c0707050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a131313131313120807050200000000000000000000060d141a1e21222c2d2d2d2d2d2c2423201c161008000000000000000000000000000000000000000000050e161d23272a2b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211c171008000000000000000006101820262b2e2f3537383939393835322e2d2a251e19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212d3945505a62646c6c6c6c6c6c6c625f584e43372b1f1306000000000000000000000000000000040b101316161a1d1f201f1e1e1d1a18151312100b0600000000000003101c28343f4a545c6c6c6c6c6c6c6c6c66635c52473b2f23170a000006131f2b38434e5860626c6c6c6c6c6c6c65625a50453a2e2115090005111d2935414c566976828f9ca9afa399897c6f6356493d2f261b130f0a0c101319242f3a4653606d7985929facac9f9285796d6053463a2d201307000714212e3a4754616d7a8798a2aeaa9d918477665b5044382b1f12060000000005121e2a36424d576a7784919daaaea298877a6e6154473b2e211408000000000000000000000000000004101c2834404b55626f7c8895a0a8a19e9fa2aa9c8f8275685e5246392d20150a00000000000000000000000000000714202d3a4753606d7a86929facab9e9285796d60564c443d3a373134333332323845515c6675828f9ca8afa396897c706356493d3023160a000000000000000916232f3c4956626f7c8995a2afa89b8e8275685b4f423128140a0000000000030f1b27333f49536976828f9ca9afa295897c6f6256493c2f231609000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000915202c38434f59606d78818c92999fa2aaa9a8aaa29f9e9e9e9fa29f98928c81786d6d798699a39f9f94877a6e6154473b2e2114080000000000000000000000000000000000000000000000000001090f14181a1b202020202020201c1b191510090200000000000000000000000000000000000000000000000000000001080e1317191a202020202020201b1a18140f090100000000000000000000030a0f1215151c1e1f1f201f1e1c181413110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416172020202020201f1514120e090300000000000000060f181f262a2d2e38393939393939302f2c28211a110800000000000000000000000000000000000000040e1720282e3336373939393939393939393939393939393931302d28221a1208000000000000030e18222a31373a3c42444546464644423f3a39363029241e160e070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4956626c7179797979797979766a5f53473b2e2115080000000000000000000000000002090e161b202223272a2c2c2c2b2a29272522201f1c17110a020000000006121f2c3844505c667679797979797979736e63584b3f3226190c00000815222e3b4754606a6f79797979797979716c62564a3d3124170b000713202d3946525e687885929eabac9f92867a6d6053473a2d20140a0200000308131f2c3844505c667683909ca9aea298887c6f6255493c2f221609000915222f3c4855626f7b8895aab4a99c8f837669544a3f33281c0f0300000000020e1a2531434f5c6976828f9ca9b4aa95887b6f6255483c2f221509000000000000000000000000000006131f2c3845515c6774808d9aa7a196919298a29f92867a6e6154473c31261b0f000000000000000000000000000006131f2c3945515d677783909dabada1978a7e71685e564f484742424140403f3f3f404b546673808c99a6afa396897c706356493d3023160a00000000000000091623303c4956636f7c8996a2afa79a8d8174675a4e4134271b080000000000000b17222d424e5b6875818e9ba8afa296897c6f6356493c30231609000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000020e1a26313b4854606b74808d939fa3ababa49f9b979892919192939a989d9f938f82786d7a8794abb4a094877a6d6154473a2e211407000000000000000000000000000000000000000000000000030b131a202427282d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000000000000000020b12191f2326272d2d2d2d2d2d2d282724201a130b030000000000000000060e151b1f2122282a2b2c2c2c2b292521201d19130d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810161c2023242c2d2d2d2d2d2c22211e1a140d060000000000030d18212931363a3b454646464646463d3c38332c231a10070000000000000000000000000000000000000b16202932393f4344464646464646464646464646464646463e3c39332c241a100500000000000a15202a343c4347484f5152525352514f4b4746413a3530282019110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e868686868686867c6f6255493c2f221609000000000000000000000000050d141a21272c2f30343738393938373634312f2d2b28231c140c020000000713202d3a4653606d78868686868686868073665a4d4033271a0d00000916232f3c4956626f7c868686868686867e7165584b3e3225180b000714212e3a4754616d7a8797a1adaa9e918477675d5145382c1f13020000000003101c28343f4a546774818e9aa7b4aa978b7e7164584b3e3125180b000a1723303d4a5663707d8996a3b0a89b8e8275685b4f422d22170b000000000000091c2835424f5b6875828e9ba8b0a396897d7063564a3d3023170a00000000000000000000000000000713202d3a4653606d7985929fab9e918485929fa3998c7f7265584e43372b1c11060000000000000000000000000004101d2935404b5566737f8c99a3aea99e91847a6d68615955534d4f4e4d4c4c4c4b4b4c5865727f8b98a5afa396897c706356493d3023160a000000000000000815222f3b4855626e7b8895aab4a79a8e8174675b4e412f24190d010000000000061b2835424e5b6875818e9ba8b4aa95887b6f6255483c2f221509000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000006121e2b37424e57636f7c87939fa5afa9a199938f8a878584848586888c90959e948d80747b8794a1ada093877a6d6054473a2d2114070000000000000000000000000000000000000000000000010b151d252b303435393939393939393534312c261e150c000000000000000000000000000000000000000000000000000b141d242b303334393939393939393534302b251d150b0100000000000006101820262b2e2f3537383939393835322e2d2a251e19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a21282c2f30393939393939382e2d2a261f180f060000000009141f29333b424648525353535353534a48443e352c22190f060000000000000000000000000000000006121d28323b444b4f51535353535353535353535353535353534a49453e362c22170c00000000030f1b26313c464e53555b5d5e5f5f5f5e5c5854524c46413a322b231a1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b9393939393887c6f6255493c2f2216090000000000000000000000060f171f252a32383b3d4144454646454443413e3c3a38342e261e140a0000000713202d3a4653606d798693939393938d8073665a4d4033271a0d00000916232f3c4956626f7c8993939393938b7e7165584b3e3225180b000915222f3c4855626f7c8895a9b3a99c8f837669554b4035291d100400000000000c17232e3f4c5966727f8c99a5b2a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b060000000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a0000000000000000000000000005111e2a36424d5764717e8a97a2a99a8d80818e9baa9d9083776a5f5347382e23170b00000000000000000000000000000c18242f3b4854616e7b86929fa8ada19690827a706b65615f575c5a5a5959585858585865717e8b98a4afa396897c706356493d3023160a000000000000000814212e3b4754616e7a8798a2aea89b8f827568564c4135291d11070400010407101d2935404b556976828f9ca9aea398877a6e6154473b2e211408000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000814212e3a47535f6a76828f9aa4afaba1979287827d7a79787778797b7f838a9196928a7e7b8895a1ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000009131d272f373c40414646464646464642413d3730271e0e050000000000000000000000000000000000000000000000030d1d262e363c3f414646464646464641403c372f271d13090000000000030e18222a31373a3c42444546464644423f3a39363029241e160e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101a232c33383c3d464646464646453b3a36312921180d030000020e1a26313b454d53555f60606060605f57554f473e342b21180d040000000000000000000000000000000b17232e39444d565b5e60606060606060606060606060606060575550483e33281c110400000006121f2b37434e585f62686a6b6c6c6c6b6865615e56524c443d352c241a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b979f9f9f95887c6f6255493c2f22160900000000000000000000060f18212930363d4448494d505253525151504d4b4846443f3830261c110600000713202d3a4653606d7986939f9f9f998d8073665a4d4033271a0d00000916232f3c4956626f7c89959f9f9f988b7e7165584b3e3225180b000a1723303d4a5663707d8996a3b0a89b8e8275685b4f422f24180c000000000000061825323e4b5865717e8b98a4b1a79a8e8174675b4e4134281b0e000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b0a4978a7d7164574a3e3124170b000000000000000000000000000714202d3a46525e6976828f9ca9a297897d7d8a98a2a095887c6f62544a3f34281c1003000000000000000000000000000714202d3a46525e6974808d96a1a9a89f9590847d77726e696a6867666665656565646465717e8b98a4afa396897c706356493d3023160a000000000000000613202d394653606c7985929faba99d908376685d5245392c221813100c0d101318202c3945515d677783909daaac9f9286796d6053463a2d201307000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000815222f3b4855626e7b88949facaea39992857d75716e686b6b666d6e72767d84909492857d8996a3aca09386796d6053463a2d20130700000000000000000000000000000000000000000000030f1a252f3941484d4e535353535353534f4d4942393020170d02000000000000000000000000000000000000000000010b151f2e3840474c4d535353535353534e4d4841392f251a0f03000000000a15202a343c4347484f5152525352514f4b4746413a3530282019110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f19222c353e44484a535353535353524846423b33291f1409000005121e2a36424d575f616b6c6c6c6c6c6c6361594f463d332a1f160b0200000000000000000000000000000e1b27333f4b565f676a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d2114080000000815212e3a47535f6a6f7577787979797775726d68615d564f473e362c231a100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4aca295887c6f6255493c2f221609000000000000000000020c18212a333b42464f54565a5d5f5f5f5e5d5c5a585553504a42382e23170b00000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2aca4988b7e7165584b3e3225180b000b1724313e4a5764717d8a97a4b0a79a8e8174675b4e4134281b070000000000000b1724313e4a5764717d8a97a4b0a89c8f8275695c4f4236291c0f000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e0100000000010e1a2734414d5a6774808d9aa7b1a4978b7e7164584b3e3125180b000000000000000000000000000814212e3b4754616e7b87939fab9e9285797985929fa79a8d8073665c5044382b1f13070000000000000000000000000005121e2a36424d57606d79849197a1a9a79f969189837f7b78767574737372727271717171717e8b98a4afa396897c706356493d3023160a0000000000000006121f2b3844505b6676828f9cabac9f92867a6d6054473e3429241f1c18181d202328323b4753606d7a86929faca99c908376665c5144382c1f1206000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000d192633404c5966737f8c99a6b0ac9f92877c6f6b64615e56545c6062656c707a8290949083909daaaca09386796d6053463a2d201307000000000000000000000000000000000000000000000814202b37414b53595b606060606060605c59544b4232291f140900000000000000000000000000000000000000000007121d2731404a52585a606060606060605b59534b41372b201408000000030f1b26313c464e53555b5d5e5f5f5f5e5c5854524c46413a322b231a12080000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212b343e474f55575f60606060605f55534d453b31261a0e02000714212d3a46535f696e78797979797979706b61584e453b31281d140a0000000000000000000000000000101d2a36434f5b67717779797979797979797979797979797979716c6155493c3023170a0000000915222f3c4855626f7c81848585868584827e7a746d68605950483e352c22180d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4afa295887c6f6255493c2f2216090000000000000000000a141e2a333b454d52596063676a6b6c6c6b6a69676462605c544a3f34281c1003000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000b1824313e4b5764717e8a97a4b1a79a8d8074675a4d4134271a0e0100000000000a1724313d4a5764707d8a97a3b0a99c8f8376695c504336291d10000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b00000000000000000000000007131f2c38434f5966727f8c99a4aa9b8e817475818e9baa9e9184796d6053463a2f24180d01000000000000000000000000020e1a25303b45515d676f7c8591979ea5a8a09e95908b8885838281807f7f7f7e7e7e7e7d7d808d9aa7afa396897c706356493d3023160a00000000000000030f1c28333f4a5466727f8c99a3aea3998a7d71645a50463d352f2c292324292c2e343b444f5963707d8a99a3aea6998d807366544a4034281c1004000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000005111e2a36424d576976838f9ca9b1a79a8d80736a605954524c4a5053555a61676d798290959095a0abaca09386796d6053463a2d201307000000000000000000000000000000000000000000000c1824303c48535d64686c6c6c6c6c6c6c68655d54443b3025190e0000000000000000000000000000000000000000000c18232f3943525c64676c6c6c6c6c6c6c68645d53483c3024180c00000006121f2b37434e585f62686a6b6c6c6c6b6865615e56524c443d352c241a1108000000000000000000000000000000000000000000000000000000000000000000000000000000020b16202a333d474f5961636c6c6c6c6c6c6b615f574d42362a1e1205000815222e3b4855616e7b858686868686867d706a60574d433a2f261b110600000000000000000000000000111e2b3744515e6a7784868686868686868686868686868686867e7164574a3e3124170b0000000a1724313d4a5764707d8a9091929292918f8b86807a706b615a50473e342a1f150b010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4afa295887c6f6255493c2f221609000000000000000006111c26303b454d575e616b70747778797978777674716f6d665c5044382b1f1206000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000b1824313e4b5764717e8a97a4b1a79a8d8074675a4d4134271a0e0100000000000a1724313d4a5764707d8a97a3b0a99d9083766a5d5043372a1d10000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b0e0100000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a0000000000000000000000000915222f3b4854606b7784919eaba2988a7d70707d8a98a2a197897d7063554b4135291d11040000000000000000000000000009141f2935414b555f6a6f7c858f939c9fa4a79f9d989892908f8d8d8c8c8b8b8b8b8a8a8a8d929da9afa396897c706356493d3023160a00000000000000000b17222d3b4754616e7b86929faaab9d9083766c61584e45403a38342f2f35393a40454d56606b75828f9babab9f94887b6f6255483c2e23180c00000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000714202d3a46525e697885929fabaca095877b6e61584f4746413f44464850555d676e7b85929da0a7b1aca09386796d6053463a2d201307000000000000000000000000000000000000000000000e1a2734404d59646f7479797979797979756f65564d42362a1c11060000000000000000000000000000000000000004101c2934404b55646e7479797979797979746f64594d4034271a0e0000000815212e3a47535f6a6f7577787979797775726d68615d564f473e362c231a100600000000000000000000000000000000000000000000000000000000000000000000000000000a141d28323c454f59616b70797979797979786e695f53463a2d211407000714212d3a46535f696f7c86929a939992867d6f695f554c41382d22170d04000000000000000000000000111e2b3744515e6a77849193939393939393939393939393938a7e7164574a3e3124170b0000000a1724313d4a5764707d8a979e9f9f9f9e9b98928d847d716c61594f463c31271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4afa295887c6f6255493c2f22160900000000000000000b17232e38424d575f696e767c8083858685848483807e7c786d6053463a2d201307000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b070000000000000b1724313e4a5764717d8a97a4b0a99d9083766a5d5043372a1d10000a1723303d4a5663707d8996a3b0a89b8e8175685b4e4235281b090000000000020f1b2835424e5b6875818e9ba8b0a3968a7d7063574a3d3024170a000000000000000000000004101d2935404b55636f7c8996a0ab9f9285796d6d7985929fa99b8e8175675d5145392c20140900000000000000000000000000020d18242f3a434e585f6a6f7a82898f93999c9fa2aaa29f9d9b9a999998989898979797979a9da4aeafa396897c706356493d3023160a00000000000000000614202d3946525e6874818e98a2ab9f958a7e716a6058514b47454042434045474b51575f696f7c89939eaaa4998f82766a5f53473a2e1c120700000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000814212e3b4754616e7b8798a2aeaa9d908377695e53463d393634383a3e434c555e69717e8b97a1adb9aca09386796d6053463a2d201307000000000000000000000000000000000000000000000e1b2835414e5b687481868686868686868175695e5246382d22170b0000000000000000000000000000000000000006131f2c3845515c677480868686868686868174685b4e4135281b0e0000000915222f3c4855626f7c81848585868584827e7a746d68605950483e352c22180d0300000000000000000000000000000000000000000000000000000000000000000000000006111c262f3a444d57606b707d868686868686857b6e6155483b2e2215080005121e2a36424d57606a707e88939fa29892857b6e675d53493f33271f160c010000000000000000000000111e2b3744515e6a7784919d9f9f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b0000000a1724313d4a5764707d8a979e9ea2a9a9aaa39f9691877e716b61584e43392f23180c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000204050606060504020b1825313e4b5864717e8b97a4afa295887c6f6255493c2f2216090000000000000003101c28343f4a545f696e7b82898d9092929291908f8d8b887e7164584b3e3125180b000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e422e23180c0000000000000b1825313e4b5864717e8b97a4b1a99c8f8376695c504336291d10000916222f3c4955626f7c8895aab4a99c8f8276695c4f4330251a0e0200000000030f1c2936424f5c6975828f9ca8b5ab95897c6f6256493c2f23160900000000000000000000000613202c3945515d6774818e9aa8aa9b8e8175676775818e9baa9f92867a6d6054473b31251a0e020000000000000000000000000007131d28313c464e585f686d757c82878b8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abacb5afa396897c706356493d3023160a000000000000000005111e2a36414d56616e7b85929fa4a79f92867c6f6a605d5553514b4f4f4b5153545c60696e7b84919ea6a69f93877c6f63584e43372b1f0b0000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000091623303c4956636f7c8996aab4a79a8e817467574d42342d2a282b2d313a434d57606d7985929eabb8aca09386796d6053463a2d201307000000000000000000000000000000000000000000000916232f3c4956626f7c89959393939392867b6e61544a3f33281c0f030000000000000000000000000000000000000714202d3a4753606d7985929393939395897c6f6356493c302316090000000a1724313d4a5764707d8a9091929292918f8b86807a706b615a50473e342a1f150b0100000000000000000000000000000000000000000000000000000000000000000000040d17222d38424c565f696f7d869299939a92867c6f695f53463a2d21140700020e1a26313b454e58616c73808c949ea1979183796d655b50443d31281d13070000000000000000000000111e2b3744515e6a7784919daab0a69e9b98989898989898978a7d7164574a3e3124170b0000000a1724313d4a5764707d8a92919297979c9fa6a9a19992877d706a5f554b4034291f1409000000000000000000000000000000000000000000000000000000000000000000000000000000020608080c0f111213131312110f0c1825313e4b5864717e8b97a4afa295887c6f6255493c2f2216090000000000000006121f2b3844505c666e7b848f949a9d9e9f9f9e9d9c9a978b7e7164584b3e3125180b000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000916222f3c4955626f7c8895a9b3a99c8f827669544a4034281c100400000000000c1926333f4c5966727f8c99a5b2a89c8f8275695c4f4236291c0f000814212e3b4754616e7b8798a3aeaa9d9084776a574d42362a1e12050000000005111d2935414c566a7783909daaafa399877b6e6154483b2e21150800000000000000000000000714202d3a4753606d7a85929faca3988a7d716464707d8a98a2a2988b7e7165574d42362a1e120500000000000000000000000000010c161f2a343c464e565e616b6f757b7f8285888a8c8d8f8f9090919191919292929292999ba3acafa396897c706356493d3023160a0000000000000000020e1925303b46535e69717e8b929da4a29891847c726d6763605c555c5c555d6063666d727b839096a1a69f948d80736b6054463c31261a0f0000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f31261e1c1f2028313b45515c6673808d99aab4aca09386796d6053463a2d201307000000000000000000000000000000000000000000000915222e3b4854606a7783909daa9fa3998c7f73665b5044382b1f1409000000000000000000000000000000000006121f2b37434e5864717e8a97a29f9f9d9083776b6054483b2f2215090000000a1724313d4a5764707d8a979e9f9f9f9e9b98928d847d716c61594f463c31271d1207000000000000000000000000000000000000000000000000000000000000000000010c161f28333f4a545d686e7b859298a29f93887e706a60574d42362a1e1205000009141f29333d46505a606c77828f96a1a0958f82776c60594f433a2f24180c0300000000000000000000111e2b3744515e6a7784919daaaa9e938f8b8b8b8b8b8b8b8b8a7d7164574a3e3124170b0000000a1724313d4a5764707d87858585868a8f949fa2aaa39992867c6f675c51453b31261a0e0300000000000000000000000000000000000000000000000000000000000000000000000003090e121415191b1d1f1f201f1f1d1b191825313e4b5864717e8b97a4afa295887c6f6255493c2f221609000000000000000713202d3a4653606d788390969fa6aaababa5a1a0a0a1978b7e7164584b3e3125180b000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000814212e3b4754616e7a8797a2adaa9d918477665c5144382c1f120600000000000e1b2734414e5a6774818d9aa7b4a89b8e8175685b4e4235281b0f000713202d3a4653606d7986929facab9f928578695e52463a2d201407000000000713202d3946525d687885929eabac9f9286796d6053463a2d2013070000000000000000000005121e2a36424d5764717e8b98a2ac9f92867a6d60606d7985929faa9c8f8376695e53463a2d21160a0000000000000000000000000000040d18222a343c444c52596063696e7276797b7d7f81828383848484848585858585868b909ba7afa396897c706356493d3023160a00000000000000000008141f2a36424d57626c74808d929fa2a19691877f79736f6d676969696a676d6f73797f869095a0a49f949082796d60594f43342a20150a0000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1824313e4b5764717e8a97a4b0a4978a7d7164574a3e3124171012161f2834404b54626f7c8998a3aeaca09386796d6053463a2d2013070000000000000000000000000000000000000000000007131f2c38434e5865727e8b98a2aeab9e9184786c6053463b30251a0e00000000000000000000000000000000000814212e3a47535f6a7683909ca9aea2988b7f7265594f43382c1f13070000000a1724313d4a5764707d8a979e9ea2a9a9aaa39f9691877e716b61584e43392f23180c03000000000000000000000000000000000000000000000000000000000000000008131e28313a44505b666d7a849197a29e948c80736c61584e453b31261a0e020000030d18212b343e44505b656d7a849199a49e948c7f726b60554b4135291e150b00000000000000000000111e2b3744515e6a7784919daaa89b8f817f7f7f7f7f7f7f7f7f7b6e6155483b2e2215080000000714202d3a4753606d79797878787a7d828a9298a1a9a2989083796d60574d42362a20150a00000000000000000000000000000000000000000000000000000000000000000000060b0f151a1e212225282a2c2c2d2c2b2a28262225313e4b5864717e8b97a4afa295887c6f6255493c2f22160900000000000004101c2834404b5564717e8a959fa8b0a9a19e9894939394968b7e7164584b3e3125180b000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000714202d3946525e687885929fabac9f9286796d6053463a2d20130a0400000006121f2b37434e586976828f9ca9b4a79a8e8174675b4e4134281b0e0006121f2b3844505c667784909daaaea298877b6e6154483b2e21150a000000000714212e3a4754616d7a8797a1adaa9e918477665c5145382c1f1306000000000000000000000714212d3a46535f6976838f9caaaa9b8f8275675d5d6775828e9baa9f93877b6e6154483d32271b0f0000000000000000000000000000050e171e252a323a41464f54575e6165666d6f717374757676777777787878787879797e8b98a4afa396897c706356493d3023160a000000000000000000020e1a25313b45505a646e74808b92989fa199928c85807c797776757676777a7c80858b9298a09f9a938d82796d675d51473d3222180e030000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825313e4b5864717e8b97a4b0a396897d7063564a3d3023170a060d18232e3a4653606d7986929facaca09386796d6053463a2d20130700000000000000000000000000000000000000000000030f1b27323d4754606d7a85929facaca1968a7d7063574d42362a1c110600000000000000000000000000000004101c2934404b55626e7b88949fabac9f92867a6d6054473d32271b0f030000000a1724313d4a5764707d8a92919297979c9fa6a9a19992877d706a5f554b4034291f140900000000000000000000000000000000000000000000000000000000000000030d19242f3a434f59606c78828f96a0a1968f82776c605a50463d33291f140900000000060f192227333f49535e68707d87939fa69f92877d6f675d51453d30271d1207000000000000000000111e2b3744515e6a7784919daaa5998c7f7272727272727272726e695f53463a2d21140700000006131f2c3845515c676d6d676b676d70767e869297a1aaa0958c8073695f53463c31261a0f0300000000000000000000000000000000000000000000000000000000000000020a11171b1f262b2e2f32353738393939383735322f2e313e4b5864717e8b97a4afa295887c6f6255493c2f22160900000000000006131f2c3845515c6776828f9ca7b1aaa197928b88868687898b7e7164584b3e3125180b000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0005111e2a36414c56697683909ca9aea399897c6f6256493d32271b13100c090e1117212e3a47535f6a7885929eabb3a6998d8073665a4d4033271a0d0003101c28343f4a546875818e9ba8b3aa978a7d7064574a3d32271b0d04000001081623303d495663707c8996a9b3a89c8f827569544b4034281c1004000000000000000000030f1c28333f4a54616e7b87939faca2988a7e7164555564717e8a98a3a49a8c7f7366584e43372b1d1207000000000000000000000000020c1720293036393a3e3f44484d5354545c606264666768696a6a6a6b6b6b6b6c6c6c717e8b98a4afa396897c706356493d3023160a0000000000000000000009141f29333f48525c646e747e868e92999c9f97928d898684838282838486898d92979f9c99948f8780796d675d554b40342b211006000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa296897c6f6356493c302316090007131f2c3845515c667683909da9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000a16202c3945515d6774818e9aa7b1a89b8f8275695e5246382e23170b00000000000000000000000000000006131f2c3845515c6774808d9aa6b0a79b8e8174685d5245392b21160a000000000a1724313d4a5764707d87858585868a8f949fa2aaa39992867c6f675c51453b31261a0e030000000000000000000000000000000000000000000000000000000000010b151f2935414c56606b737f8c949ea49991847a6d655b50483e342b21180d030000000000071017222d38414c56606b74808d96a0a3999184796d60594f42392e23180c020000000000000000111e2b3744515e6a7784919daaa5998c7f726665656565656565615f574d42362a1e120500000004101c2934404b555c60605c555d60646c717c859298a3a79f92867b6e61584e43372b1f1409000000000000000000000000000000000000000000000000000000000000060b141b22272b31373a3b3f4244454646464544423f3b3a373e4b5864717e8b97a4afa295887c6f6255493c2f2216090000000000000713202d3a4653606d7986929facaea39892857f7b79797b7c7f7c6f6256493c2f231609000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00010d192530404d5a6673808d99a9b2ab998c7f7266584e43372b251f1c181b1a1b2228343f4a54626f7c8897a2adb1a4978b7e7164584b3e3125180b00000b17232e3f4b5865727e8b98a8b2a69a8d807367584e43372b1f15100c090e131e2a36414c5666727f8c99a5b3aa998c7f7366594c402e23180c0000000000000000000006121f2b3844505b6673808c9aa4ac9f92867a6d605454606d7a86929fac9d9184776a605447392e23180c00000000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f65717e8b98a4afa396897c706356493d3023160a00000000000000000000030d17212d36414a525c646c717b81868c8f92979e99999291908f8f90919299999e9892908c88827d746d675d554b43392f22190f00000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f2316090004101c2834404b546875828f9ba8aca09386796d6053463a2d201307000000000000000000000000000000000000000000000004111d2935414b55626f7c88959fabac9f92877b6e61544a3f34281c100300000000000000000000000000000714202d3a4753606d7985929eabaca095897c6f63564c413529190f04000000000714202d3a4753606d79797878787a7d828a9298a1a9a2989083796d60574d42362a20150a000000000000000000000000000000000000000000000000000000000007121d27313945525d68707d87939fa69f93877d6f685e53493f362c22190f060000000000000006111b262f3a444f59606d7984919ea5a0968e81746b60544b4034281e13080000000000000000111e2b3744515e6a7784919daaa5998c7f72665958585858585855534d453b31261a0e02000000000c18232f39434b515353514b51535a616a6f7c86929fa7a3988e81756a5f53473b30251a0e0100000000000000000000000000000000000000000000000000000000080f181d262d33373c4247484c4e505252535252504e4c4847433e4b5864717e8b97a4afa295887c6f6255493c2f2216090000000000000916232f3c4956626f7c8999a3aeac9f92867c726e6d6d6e70726f6a6054473b2e221508000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000081623303c4956636f7c8997a1adaa9d9083776a6054473f36302c282328252a2d333c44505c6673808c99a9b3b3a996897c6f6356493c3023160900000615222f3c4855626f7b8896a0acaa9d9184776a6054473c31271f1c181b1a1e242d3946525e6876838f9ca9aea298897c706356493d30231607000000000000000000000613202d394653606c7884919eaca99b8e8175675d51515d6775828f9caba096897c6f62544b4034281c100400000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525965727f8c98a5afa396897c706356493d3023160a0000000000000000000000050f1b242f38414a525a62696e747b7f8285929faba39f9d9c9c9c9d9d9fa3ab9f928682807b766f6b605d554b433a31271d100700000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000c18232e414e5b6874818e9ba7aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000010d18242f3a47535f6a7683909da9afa3998c7f73665c5044382b1f14090a0a0a0a0a0a0a0a0a0a0a0a0a0a121f2b37434e5864717e8b97a2adaa9d9083776b6054443a2f241907000000000006131f2c3845515c676d6d676b676d70767e869297a1aaa0958c8073695f53463c31261a0f03000000000000000000000000000000000000000000000000000000000c18232f39434f59606d7a849199a4a0968d80736b60564c41382d231a10070000000000000000000a141d28323d45515d67707d89939ea89d93897d70665c51453a3025190d0200000000000000111e2b3744515e6a7784919daaa5998c7f7266594c4c4c4c4c4c4846423b332a1f1409000000000007121d27313940454747454045475058606a727f8c959faa9f93877c6f62574d42362a1d120700000000000000000000000000000000000000000000000000000008111a212a2f383f44464d5355585b5d5f5f605f5e5d5b5955534e464b5864717e8b97a4afa295887c6f6255493c2f2216090000000000000a1724313d4a5764707d8a97abb5a79a8e81746a6160606163656260584e43372b1f1306000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00000713202d3a4653606d7984919eaaab9f95897c6f625b5146413a38342e343136383f444d57606d7984919eabb7ada297877a6d6154473a2e21140700000815212e3a47535f6a7784919eabaca095887c6f62584e4339312c282327262b2f35414c56616d7a86929facab9f9285796d6053463a2d20130700000000000000000004111d2935414c5663707d8996a1aca1978a7d7063554b4b5564717e8b99a3a89a8d8174665c5145382c1f13080000000000000000000005111d2a36414c565e6164656768696a6b68655d534840414243434444444545454d596673808c99a6afa295897c6f6256493c2f231609000000000000000000000000091217232e38424a535b606a6f767c8084919eaaa7a4a2a1a0a0a1a2a4a7a99c8f837f7b756e6a625b514b433a31281f150b0000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f2316090000071a2734404d5a6773808d9aa6aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000007131d2b37434e5864717e8b97a2adab9e9184786d6053463b31251a16161616161616161616161616161616212e3a47535f6a7683909ca9aea2988b7f7265594f4332281e1308000000000004101c2934404b555c60605c555d60646c717c859298a3a79f92867b6e61584e43372b1f140900000000000000000000000000000000000000000000000000000004101c2934404b55606b74818e96a1a59d9184796d60594f443a2f261b110800000000000000000000020b16202935404b55606b75818e98a2a59d9184796d60564c41362a1f140800000000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3f3f3f3f3b3a36312a21180e030000000000010b151f272f34383a3a3835393e464e58606c7883909da6a49a8e8175695e5246392f23180c000000000000000000000000000000000000000000000000000008111a232c333c41495053575f6265686a6b6c6c6c6b6a6865625f5853505864717e8b97a4afa295887c6f6255493c2f2216090000000000000b1825313e4b5864717e8b97a4b1a4978a7e716458535354565856544e463d32271b0f03000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000006121f2b3844505c6673808d98a2aea79c8f82766d625b524c46454041414242464950575f69727e8b96a1adb8ab9e928578685e5246392d201307000006121f2b37434e586673808d99a3afa89b8e81756a5f554b433c38342e3431373a4145525d68737f8c99a3afa79b8e8175675c5145382c1f13060000000000000000000613202c3945525d6875818e9ba8ab9e9285796d6053464754616d7a86929fab9e9285796d6053463a3025190d010000000000000000000713202d3946525e686d71727374767778756f65594d3d323536373737383835404b556774818e9aa7b2a995887b6e6255483b2f2215080000000000000000000000020c162028343f4a545c656c737c82888c9196a09f9a97959493939495979a9e9f948f8b86817b726d645d534a40352c1f150b0100000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000010f1b26323c4753606d7985929fabada1968a7d7063574d42362a23232323232323232323232323232323232934404b55626e7b88949fabac9f92867a6d6054473d3221160c010000000000000c18232f39434b515353514b51535a616a6f7c86929fa7a3988e81756a5f53473b30251a0e0100000000000000000000000000000000000000000000000000020d17212c3845515c67707d89939da89e93897d6f675c51473d32281d140a000000000000000000000000050e18242f39434f59616e7b86929fa9a0968c7f72685e52463b3025190e01000000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f333232322e2d2a261f180f0600000000000000030d151d23292c2d2d2c292c343d44505b666f7c89949eac9f92877b6e61554b4034291c1004000000000000000000000000000000000000000000000000060f1a232c353e454d535b6064696e72757778797979787775726e6a64605c5464717e8b97a4afa295887c6f6255493c2f2216090000000000000c1825323f4b5865727e8b98a5afa295897c6f6256494648494c4947433d342b20150a00000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000003101c28343f4a54616e7b86929fa8ab9f948b7f726d615e5653514b4e4e4f4d53535b60696e7b85929fa8b2b5a89c8f827569564c4135291d11050000030f1a26313c4854616e7b87929faaac9f92877c6f675d554e46454041414142474c515b606d7a85929eabaca095897d7063554b4034281c10040000000000000000000714212d3a4754606d7a86929faca89a8d8174665c514446525d6876828f9caba2978a7d7064564c4135291d11050000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372e2c2823282c2f3945515d677783909daaada196877a6d6054473a2d211407000000000000000000000008131e28323a44505c666d777f878f94999e9f97928e8b8887868687888b8d92979e9c99928e867f746f645c52473e31271d120700000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000a151f2c3845515d6774808d9aa6b0a89c8f8275695e5346382e3030303030303030303030303030303030303845515c6774808d9aa6b0a79b8e8174685d5245392c2013040000000000000007121d27313940454747454045475058606a727f8c959faa9f93877c6f62574d42362a1d12070000000000000000000000000000000000000000000000000009141f2a36414c56606d7984919ea5a2988e81756b60554b40352b20160b020000000000000000000000000007121d27313d46525e6973808d97a2a89f92857a6d61564d41362a1e1308000000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326252522211e1a140e06000000000000000000030b12181c1f20201f1d2228333f4a54606b75828f9ca8a3998d8073675c5145382c1f14090000000000000000000000000000000000000000000000030e18212c353e474f575f656c71767b7f8183858586858583817f7b77716d665f64717e8b97a4afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea195887b6e6255483b3b3d3f3c3b37322b22190f0400000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000b17232e3846525e6973808d96a0aaa69f93877f746d6863605c545b5b5c575e61656c717b849198a2aebab3a9988c7f7265594c3f3025190d010000000a15212d3a46535e6975818e98a3aea3999083796d675f5853514b4e4e4e4d53555d606d74818e97a1ada69d9083776b605443392e23180c00000000000000000006121f2b37434e5865727e8b98a2aca096897c6f63544a40414c5665727e8b99a4a99b8f8275685e5246392d2015090000000000000000000815212e3b4854616e7b878c8d8e8f909184786a6054473f3a38342e34383a404b55606d7a86929facab9e918578675d5145392c20130600000000000000000000010d1924303a44505a606d78818c93999fa098928c85817e7b7a797a7a7b7e81858b92979f9f99928b81746e63594f43392f24180c00000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000004101d2935404b55626e7b88949fabac9f93877b6e61544a3f3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d4753606d7985929eabaca095897c6f63564c4135291d110400000000000000010b151f272f34383a3a3835393e464e58606c7883909da6a49a8e8175695e5246392f23180c000000000000000000000000000000000000000000000000020e1a25303946525e68737f8c96a0a99f92867a6e61594f43392f23190e040000000000000000000000000000010b151f2a36424d57606d7a85929eaaa2978d8074685e52463a2f24190d010000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f332619191514120e0903000000000000000000000001070c10131414131017222d38424f5963707d8995a0ab9e9285796d6053473b31261a0e000000000000000000000000000000000000000000000009141f2a333e474f5961696e787e83888b8e909292939291908e8c88847e786e6a64717e8b97a4afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e30322f2e2b27201910070000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00000006111c2a36424d56606d79849198a2aba499938b807a736f6d666968676869696e71787e859196a1aab3b9ada297887c6f6255493c2f2216080000000005121e2a36424d57616e7b86929fa6aba0958f82796f6a63605c555b5a5b575f62676d747f8c939ea9a99f948a7d7064594f4430271d12070000000000000000000814212e3a47535f6a7683909daaaa9e9184776b605442393b4754616e7b86939fac9f92867a6d6154473c31261a0e0000000000000000000714212d3a46535e697884919a9b9c9d96897c6f625a504a464440434044464b515c67717e8b98a3aeaa9b8f827568554b4135291d11040000000000000000000004111d2935414c56616c74808d939fa4a09591867f7a74716f6e6d6d6e6f7174797e8590959fa39f938d80736b61554b4035291d1004000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000c18242f3947535f6a7683909ca9afa4998c8073665c504949494949494949494949494949494949494949494e5864717e8b97a2adaa9d9083776b6054443a2f24190d010000000000000000030d151d23292c2d2d2c292c343d44505b666f7c89949eac9f92877b6e61554b4034291c1004000000000000000000000000000000000000000000000005121e2a36424d57616e7a86929fa8a1978c8073685e52473d31271d110700000000000000000000000000000000030d1a25303b45525d6873808c98a2a99f92867b6e61554c4135291d11040000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0807050200000000000000000000000000000000040607070606111c262f3d4854606b7784919daba2978a7e7164574d42362a1b1106000000000000000000000000000000000000000000020b1a26313b454f59616b707b838a9095989b9d9e9f9f9f9e9d9b9895908b837c6f6b717e8a97a4afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e232523221f1b150f07000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000000000e1925303b45515d676f7c869299a2aaa49f928d86807c79767574747576787b7e838a9297a1a8b2bcb8ab9e9285796c605346392d20130600000000020e1a25313b46535f69737f8c949fa7a79f948f837c75706d676867676869696e737a818c919ca5aaa1978f82766c6155473d331e150b00000000000000000003101c28343f4a54626e7b88959faba7998c807366594f43303946525e687683909ca9a3998b7f7265574d42372b1b1106000000000000000005121e2a36424d576774818e9aa6a9a89b8e81756c605c5453514a504a5153555d606d7983919daaaea2988b7e7165584b3e2f24180d01000000000000000000000713202c3945525d68717e8a929da5a19791837b726d676462616060616264676d717a839096a1a59c928a7d70675d5145392c1f150a000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000007121d2b37434e5864717e8a97a1adab9e9184796d6056565656565656565656565656565656565656565656565f6a7683909ca9aea2988b7f7265594f4332281e130800000000000000000000030b12181c1f20201f1d2228333f4a54606b75828f9ca8a3998d8073675c5145382c1f140900000000000000000000000000000000000000000000000714202d3a46525e6974818d98a2aa9e92857a6d60564c41352b1f150b00000000000000000000000000000000000009141f2935414c56616d7a86929faca3988d8073675d5145392c20150a0000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000a141d2c38444f5965727f8c99a3a99c8f8276695f5346382d22170b0000000000000000000000000000000000000000000a141d2a36424d57616b707d8690959d9fa7a8aaaaa39f9e9e9e9fa3a09d9590867d6f717d8a97a4afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e22191615130f0a0400000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000009141f2935404b55606a707e879298a0a7a49d98928d898583828181828384878b90959ea1a9b2babeb2a99b8e8175665b5044382b1f1206000000000009141f2a36424d57606d78828f959fa7a69f959087817d79777574747476787b80858e939ca3aaa29892857b6e615a5044352b210c0300000000000000000006121f2c3844505c6673808d9aa7ab9f95887b6e6255483d3236414d5665727f8c98a7ab9d908376695f5347382d22170b0000000000000000020e1a25313c4855626f7c88949faaaa9e938a7e726d6662605c545d545c6062676d75808d95a0aca99f92867a6d6154473a2e2114070000000000000000000003101c28343f4a54606d7a85929ea4a79e91857b6e69605d55555453535455555c60686e7a84919ea8a49e9184796d6053473c31261b0f030000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000010f1a26313c4653606d7985929eacada1968a7d70646363636363636363636363636363636363636363636363636e7b88949fabac9f92867a6d6054473d3221160c01000000000000000000000001070c10131414131017222d38424f5963707d8995a0ab9e9285796d6053473b31261a0e0000000000000000000000000000000000000000000004111d2935414c56616e7b86929faaa2988c7f73675d51443b3023190d03000000000000000000000000000000000000020d19242f3a46525e6874808d9aa6aa9f92857a6d6054473c31261b0f0300000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000000020b1c27333d4754616d7a86929fac9f93877b6e6153493f33271b0f030000000000000000000000000000000000000006111b262f3846535f69707d8792989fa7aba8a09d9898929191919299989d9f9892867c707d8a96a3afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221509080603000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00000000020c18242f39434e58616c707d8690959ea1a9a29f9a9892908f8e8e8f8f9196989da09f9da0a8b2b9ada1978a7d7063544a3f33281c0f030000000000030e1a26313b44505c666d7a8390959da5a7a099938e898683828181818385888c92979da5a7a09892867d70695e52483e3323190f000000000000000000000713202d3a4653606d7985919eabab9d908377695f53473a2b303b4854616e7b8795a0ab9f95887b6e6253493f33271b0f0300000000000000000915212e3b47535f6a76828f98a2aea59f92877f78726f6d666a696a666d6f7379818d929da7aca2978d8074685d5246392d2013070000000000000000000006121f2b3844505c66737f8c97a1ab9f958a7d70695f57514b4847464747484b51565e68717e8a96a0aca1968b7f7265584e43372b1f12060000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000009151f2c3845515c6673808d9aa4afa99c8f82757070707070707070707070707070707070707070707070707074808d9aa6b0a79b8e8174685d5245392c201304000000000000000000000000000000040607070606111c262f3d4854606b7784919daba2978a7e7164574d42362a1b11060000000000000000000000000000000000000000000713202c3945525d6874808d99a3ab9f92857a6d60554c4132291e1107000000000000000000000000000000000000000008131e2935414c56626f7b88949faba2988b7f7265584e43372b1f120600000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000000000b13202d3a4653606d7985929eaba49a8c8073655b5044372b1f1207000000000000000000000000000000000000000b17222d3841505a616e7b859299a2aaaba39f96918c888584848586888c90959e9891847a7d8996a3afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000000000007121d27313d46505a616b707c838b91979c9fa3aaa29f9d9c9b9a9b9c9ea1a29f9a939196a0acb8ab9e9184796d6053463a2d22170b0000000000000009141f28343f4a545e686d7a838e929d9fa7a49f9b9892908e8e8d8e8f9197999ea1a9a29e9590867d706b60574d42362c22110800000000000000000005111d2a36414c5663707d8a97a1ada3998c7f7265574d42372b2d3a46535e697783909daaa7998d8073655b5044372b1f1207000000000000000006121f2b37434e58626f7c86929fa4aca399928b837f7b797777767777797c80858e939da4aea49a92857a6d61564c4135291d1105000000000000000000000713202d3a4653606d7984919ea9a99d9083766b61574d45403c3b3a3a3b3c40454c56606c7884919eaaa89d9184776a5f53473a2e2115080000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000004101c2834404b54616e7b87939facac9f93877d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d85929fabaca095897c6f63564c4135291d11040000000000000000000000000000000000000000000a141d2c38444f5965727f8c99a3a99c8f8276695f5346382d22170b0000000000000000000000000000000000000000000714212d3a4754606d7a86929faba69a8d8074685d52433a2f20170d000000000000000000000000000000000000000000010d1925303a47535f6a7683909cacaa9d9184776a5f53473a2e21150a00000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c000000000000000000000000000000000000000000000000000005111d2a36414c5664707d8a97a1adac9e9184786c605346392f24180c000000000000000000000000000000000000030f1b27333f4953616c76828f97a2ababa399928c847f7b79787778797b7f838a9197968e817d8996a3afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000000010b151f2b343e485059616a6e787e858a8f9299999b9d9e9f9f9f9e9e9c9998928e8684919daab0a69a8d8073665c5044382b1c110600000000000000030b17232e38424c565e686d79818990959b9fa2aaa39f9d9b9a9a9b9c9ea1a9a49f9c97928c837b706b60594f453b30241a10000000000000000000000713202d3946525e6875828f9ba9ac9f92867a6e6154473c31262a36424d5766737f8c99a7ab9e9184786c605346392f24180c0000000000000000030f1b26323c47535f6a717e8b939aa2aaa39f95918c8886848483838485898c92979ea5aaa39f93887d70685e52443a3024190d0100000000000000000000091623303c4956636f7c8996a1adab988b7f7265594f453c352f2e2d2d2e2e343b44505b6674808d9aa7aca095887b6f6255483c2f2215090000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000c18232e3946535f6976828f9ca9afa499938a89898989898989898989898989898989898989898989898989899297a2adaa9d9084776b6054443a2f24190d01000000000000000000000000000000000000000000020b1c27333d4754616d7a86929fac9f93877b6e6153493f33271b0f030000000000000000000000000000000000000006131f2b37434e5865727f8c98a2ab9f94887b6e62564c4131281e0e050000000000000000000000000000000000000000000008131e2b37434e5865727f8b9aa4aca095887b6f6255483c32261b0f03000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000713202d3946525e6875828f9ba9b3aca196897c6f63554b4035291d1004000000000000000000000000000000000005121f2b3744505b65717e8a949fa9aea39992877f78726e6c666b666d6f72777e859095938c7f8c99a6afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000000000000030d19222c363e474f575f666d72797e82868a8c8e909192929292918f8d8a86817c838f9ca9aa9e93887b6e62544a3f34281c0a00000000000000000006111c26303a444c565e676d747c83898e9298999b9d9e9f9f9f9f9e9d9b999993908b857f786e6960594f473d33291f1208000000000000000000000714212e3a4754616d7a86929facaa9c8f8276685e5246392a2025313b4855626e7b8895a0aca196897d7063554b4035291d100400000000000000000a15202b37434e58616c727f8892989fa3a7a09d99999291909090919298999ea2a9a69f98928b7f726c61564c4132281e130800000000000000000000000c1926333f4c5966727f8c99a8afa499887b6e6255483e332924212020212328333f4a5464717d8a97a4b1a7988b7e7265584b3f3225180c0000000000000000000203101d2a3643505d69768390908376695d5043362a1d10030200000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000007121d2a36424d5764707d8a96a1adaba49f9796969696969696969696969696969696969696969696969696969fa2a9aea2988b7f7265594f4332281e130800000000000000000000000000000000000000000000000b13202d3a4653606d7985929eaba49a8c8073655b5044372b1f1207000000000000000000000000000000000000000815212e3b47535f6a7784919daaac9c8f83766a5f53443a301f160c0000000000000000000000000000000000000000000000020f1a26313c4754616e7b87939faca7998c807366584e43372b1f1306000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9b2a89a8e8174675d5145382c1f140800000000000000000000000000000000000613202d394653606c7883909da6b0a79f92877d726d6662605b545c6062656c717a8390969285929facafa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000000000007101a232c353e454e545c60676d71767a7d7f828385858686858482807d79757d89949faba69b8f82756a5f5342382e23170b000000000000000000000a141e28323a444c555c606b6f777d8185898c8e90919292929291908f8d8a86837e79726d665f574f473d352b20170d0000000000000000000006131f2b37434e5865727f8b99a3aea2988b7e7164564c41362a18212e3a47535f6a7784919daaa89b8e8174675d5145392c1f14090000000000000000040f1a26313c46505a636d727e868e92999da0a8aba39f9e9d9c9d9e9fa2aaaaa29f9b948f867e726d62594f443a3020160c0200000000000000000000020f1c2935424f5c6875828f9ba8ac9f9386796c605346392d20181413141418222d3c4956626f7c8995a2afa79a8e8174675b4e4134281b0e01000000000000050a0f12101d2a3643505d69768390908376695d5043362a1d10120f0a050000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000305101d2a3643505d69768390908376695d5043362a1d1005030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000e1a26313b4653606d7984919eabb5afaca3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3abadb3ac9f92867a6d6054473d3221160c010000000000000000000000000000000000000000000005111d2a36414c5664707d8a97a1adac9e9184786c605346392f24180c000000000000000000000000000000000000000916222f3c4955626f7c8896a0aca49a8b7e7265574e4232281e0d040000000000000000000000000000000000000000000000000a15202d3a46525e697683909da9aa9e9184776a5f54473b2e221506000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000006131f2b37434e5865727f8c99a3aeb7b8ab9f9285796d6053473b3025190e02000000000000000000000000000000030f1c28333f4a5463707c8995a0acab9f958b7f726b605c5453504a5153555a61686e7a8491989298a2aeafa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0600000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000000000000000008111a232c333c424a50555c6064676d707375767878797978777673716d7883909da6ac9e93887c6f62584e4330261c110600000000000000000000020c162029323a434b515960636b7075797c7f82838485868685858382807d7a76726d67605c544d453d352b23190e05000000000000000000000815222e3b47545f6a7783909dabac9f92867a6d6054473b3025191e2b37424e576673808c99a8ab9f9285796d6053473b3025190e0200000000000000000a15202a343e48515b636c717b81878c919597999c9d9e9e9f9f9f9e9d9b9998928e89827b716c625b51473e32281e0e04000000000000000000000003101d2a3643505d697683909ca9ab9e928578665b5044382b1f120707070715222e3b4855616e7b8894a1aea89b8f8275685c4f4235291c0f0200000000010910161b1e20202a3643505d69768390908376695d5043362a20201e1b16100901000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000060b0f12131d2a3643505d69768390908376695d5043362a1d13120f0b06000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000009141f2c3844505c6673808c99a3afbbb9b1acaa9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa7a9afb8bab1a79b8e8174685d5245392c20130400000000000000000000000000000000000000000000000713202d3946525e6875828f9ba9b3aca196897c6f63554b4035291d1004000000000000000000000000000000000006131f2b37434e586673808d99a8ac9f93877b6e6154473c3121160c0000000000000000000000000000000000000000000000000005111e2a36424d5765727f8c98a9aca096887c6f6255493c2d22170b000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c000000000000000000000000000000000000000000000000000815222e3b4754606a7783909dabacababaea2988a7e7164564c41362a1e110500000000000000000000000000000006121f2b3844505b6674818e9ba7b1a99d9083786c6059504a46444044464850565e68707d89939fa2aab4afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0aca79a8d8174675a4e412d22170b00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00000000000000000008111a212a30383f444b5153555d606366686a6b6c6c6c6b6b696668717e8b95a0aca49a8f82756a5f54463c311e140a000000000000000000000000050e172029313940454f54596063676d70727576787879797878777573706d6865605d55504a423c332b231911070000000000000000000004101c2834404b55626f7c8895a0aca99b8e8175675d514539291e141a26313c4955626f7c8896a0aca2988a7e7164564d42362a1e11050000000000000000030e18222d363f49515a61696e747b8084888b8d8f90919292929291908e8c8985817c766e69615a51493f352c20160c00000000000000000000000004111e2b3744515e6a7784919daaab9e9184786b554b4034281c100400000814212e3b4754616e7a8794a1ada99c908376695d5043362a1d1003000000010a131b21272b2d2d2d3643505d69768390908376695d5043362d2d2d2b27211b130a010000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000020a11171b1f202a2d3643505d69768390908376695d5043362d2a201f1b17110a0200000000000000000000000000101d2a3643505d69768390908376695d5043362a1d10000000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87929facb9b1a7a0939393939393939393939393939393939393939393939b9ea5afb8aca095897c6f63564c4135291d110400000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9b2a89a8e8174675d5145382c1f140800000000000000000000000000000000000815222e3b4754606a7784919eaaa99c908376685e5246392d20140400000000000000000000000000000000000000000000000000020e1a25303b4855616e7b8896a1ada8998c7f7366544a3f33281c0f030000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000004101c2834404b55626f7c8895a0a8a19e9fa2aa9c8f8275685e5246392d20150a0000000000000000000000000000000613202d394653606c7985929eabada1978a7d70655b50443f393834383a3e444c56606b75828f9ba8b1bcafa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0aca89b8e827568544a3f33281c0f03000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000000000000000000030e1a242f3841474c4e4c474c515457595b5d5e5f5f5f5f5e59616d7a85929ea7a89f93877c6f62584e43342a200c0200000000000000000000000000050e171f272f343d43484f54555c606366686a6b6c6c6c6c6b6a686664615e5653514b443f38302a21191108000000000000000000000006131f2c3845515c6774808d9aa7ada1978a7d7063554b413529170d15212e3b47535f6a7784919eaaaa9c8f8276695e52463a2d20150a00000000000000000006101b242e373f4850575e61696e73777b7e80828484858686858583827f7d79756f6b625f5750483f372d231a0e0400000000000000000000000004111e2b3744515e6a7784919daaab9f928578675c5145382c1f130f0b0c1015222f3b4855626e7b8895a1aea99c8f8376695c504336291d100300000009131c252c33373939393943505d69768390908376695d50433939393937332c251c13090000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000020b141b22272b2d37393943505d69768390908376695d50433939372d2b27221b140b0200000000000000000000000811192a3643505d69768390908376695d5043362a1911080000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000c17232e3846525e6975828f9ca8b2aca095898686868686868686868686868686868686868686868e939ea9b4aa9d9084776b6054443a2f24190d010000000000000000000000000000000000000000000006131f2b37434e5865727f8c99a3aeb7b8ab9f9285796d6053473b3025190e02000000000000000000000000000000000916222f3c4955626f7c8896a0aca8988c7f7265564d41362a1e110500000000000000000000000000000000000000000000000000000914212d3a46535f697884919eaba99c8f8276665b5044382b1f12060000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000006131f2c3845515c6774808d9aa7a196919298a29f92867a6e6154473c31261b0f0000000000000000000000000000000916222f3c4955626f7c8897a1adab9e9285796d6053493f342e2b282c2d323b444f59626f7c8995a0acb8afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0aca99c8f8376665b5044382b1f120700091623303c4956636f7c8996a2afa4988b7e7165584b3e3225180b00000000000000000008141f2b36414a52585a5954524c474a4c4f50525253534c56616b74818e97a1ada1968d81746a5f54463c3222180e000000000000000000000000000000050d151d232932383d44484b515356595b5d5e5f5f5f5a61646c6c6c6c66635c524739342e261e180f080000000000000000000000000713202d3a4653606d7985929eabab9e9285796d6053463a2f241807131f2b37434e586773808d9aa8ac9f93877b6e6154473c32261b0f0000000000000000000009121c252e363e454d52575f62666a6e71737577787879797978777573706d67636059534d453e362d251b11080000000000000000000000000003101d2a3643505d697683909ca9aea29886796d6053463a2f241f1c17181c1f262f3d495663707c8996a3afa89b8f8275685c4f4235291c0f02000005101b252e373e434646464646505d69768390908376695d504646464646433e372e251b100500000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000a141d262d33373943464646505d69768390908376695d50464646433937332d261d140a0000000000000000000009111a232b3443505d69768390908376695d5043342b231a110900000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000006111c2a36424d5763707d8a96a1acaa9d9083797979797979797979797979797979797979797979818e9ba7aea2988b7f7265594f4332281e130800000000000000000000000000000000000000000000000815222e3b4754606a7783909dabacababaea2988a7e7164564c41362a1e110500000000000000000000000000000003101c28343f4a546673808c99a8ada196887b6e6155483b3025190e02000000000000000000000000000000000000000000000000000005121e2a36424d576875828f9ba8ab9f9285796c605346392d2013060000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000713202d3a4653606d7985929fab9e918485929fa3998c7f7265584e43372b1c110600000000000000000000000000000c1926323f4c5965727f8c98a9b3a89b8e8175665c5041382d231f1c1f2029323d4854606a7784919daab7afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0acab9f9285796c605346392e23180d060a1723303d4a5663707d8996a3b0a4978b7e7164584b3e3125180b0000000000000000000b1724303c47525c646766615e56544e46454045453f49535d68707d8a939da9a59e91847a6d60584e43342a200f0600000000000000000000000000000000030b121821272c323839404546494c4f50514a505b636c7079797979736e63574b3f32231c150c0600000000000000000000000005111e2a36424d5664717d8a97a2ada89a8d8174665c514438281d13070f1b26323c4956626f7c8996a1ada4998c7f7265584e43372b1c1106000000000000000000000a131c242c333b42464d5355575f626466696a6b6b6c6c6c6b6a686663605d55544f47423c332d241b13090000000000000000000000000000020e1b2835414e5b6874818e9ba7b3aa96897c6f63554b40352f2b282223282c3038414e5865727f8c98a5b5ab9a8d8073675a4d4034271a0d0100000a16212c3740494f5353535353535d69768390908376695d5353535353534f4940372c21160a00000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000006111b262f383f444650535353535d69768390908376695d535353535046443f382f261b1106000000000000000006121b232c353d464e576976839090837669574e463d352c231b1206000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000e1a25303b4653606c7884919eabaca095897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d7a86929facac9f92867a6d6054473d3221160c010000000000000000000000000000000000000000000004101c2834404b55626f7c8895a0a8a19e9fa2aa9c8f8275685e5246392d20150a00000000000000000000000000000006121f2b3844505c6676828f9ca9ab9e918478695f53463a2d1f1408000000000000000000000000000000000000000000000000000000020e1a26313f4c5965727f8c98abaea298887c6f6255483c2f2215090000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c000000000000000000000000000000000000000000000005111e2a36424d5764717e8a97a2a99a8d80818e9baa9d9083776a5f5347382e23170b00000000000000000000000000020f1b2835424e5b6875818e9ba8b5ab988b7e7165544a3f2f261b12101217202c38434e586673808d99abb5afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0acada297887c6f62544a4034281f1612101724313e4a5764717d8a97a4b0a4978a7e7164574b3e3124180b0000000000000000000d1a2633404c58646e74736e6862605853514b464244505b656d7a84919ea5a79e938a7d70675d51463c3222190e00000000000000000000000000000000000001070c161b21272c2e34383a3d3f42444c545c606d727e868686868073665a4d4033271a0a03000000000000000000000000000714202d3a46525e6975828f9ca9aca096897c6f63544a403428160c010a13202d394653606c7884919eabab9d9084776a5f5347382e23170c00000000000000000000010a121a212930363c4247484e5355585a5c5d5e5f5f5f5f5e5d5b595653514b48433d37312a211b1209010000000000000000000000000000000c1925323f4c5865727f8b98a7b1a6998c8073675d5145403938332d2e34383a4149535f6a76828f9ca9afa4998a7e7164574b3e3124180b0000000f1b27333e49525a5f60606060606069768390908376696060606060605f5a52493e33271b0f00000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000b17222d38414950535d6060606060697683909083766960606060605d53504941382d22170b000000000000020a1117242d363e474f585f69768390908376695f584f473e362d2417110a0200000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000009141f2b3844505b66727f8c99a3aea79a8d8174675c606060606060606060606060605765717e8b98a2aea79b8e8174685d5245392c201304000000000000000000000000000000000000000000000006131f2c3845515c6774808d9aa7a196919298a29f92867a6e6154473c31261b0f0000000000000000000000000000000713202d3a4653606d7985929faba89b8e827568574d42362a1e0d0200000000000000000000000000000000000000000000000000000000091623303c4956636f7c8999a3aeaa988b7e7265584b3f322518070000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000714202d3a46525e6976828f9ca9a297897d7d8a98a2a095887c6f62544a3f34281c100300000000000000000000000005111d2a36414c566a7784909daaafa499887c6f6255483c2e22140a04060e1b27323d495663707c8999a4afafa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0acb3a9998c7f73665c51443b3128201f1c1f25323f4c5865727f8b98a5b0a3968a7d7063574a3d3024170a0000000000000000010e1b2734414e5a6774807f7a756f6a64605c55524d505a606c77828f96a1a9a0958e81756b61554c41342a2010070000000000000000000000000000000000000000040a0f161b1d23282c2d343d454d565d666d747f87929892857b6e6154473b2e21140800000000000000000000000000000814212e3b4754616e7b86929facaa9e9184776b605442392e2318040005121f2b3744505b6574808d9aa9aca095887c6f62544a3f34281c10030000000000000000000000080f171f252a31373a3c4247484b4d4f51515253535252504f4c4a4745403938322b2620180f0900000000000000000000000000000000000815222f3b4855626e7b88959fabab9e9185796d605a514b46443f42424045464c525b656e7b87939facac9f93867a6e6154473b2e211408000000121e2b37434f5a646c6c6c6c6c6c6c6c7683909083766c6c6c6c6c6c6c6c645a4f43372b1e1200000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000030f1b27333f49535b606a6c6c6c6c6c6c7683909083766c6c6c6c6c6c6a605b53493f33271b0f0300000000020b141b2227363f485059606a6f7b859191857b6f6a605950483f3627221b140b02000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616e7a86929facab9f9285796d60535353535353535353535353535f697683909caaaca095897c6f63564c4135291d110400000000000000000000000000000000000000000000000713202d3a4653606d7985929fab9e918485929fa3998c7f7265584e43372b1c110600000000000000000000000000000916222f3c4955626f7c8898a2aeab988c7f7265594c3f31261a0e02000000000000000000000000000000000000000000000000000000000714202d3a4753606d7986929faca79b8e8174685b4e412e23180c0000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000814212e3b4754616e7b87939fab9e9285797985929fa79a8d8073665c5044382b1f13070000000000000000000000000713202d3946525e687985929facac9f93867a6d6053473a2d20140700000a14202d3a4753606d7a86939facafa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0acb8ab9e9184796d60574d433a322d2c282b2d36414c566774808d9aa7b3aa95897c6f6256493c2f2316090000000000000000020f1c2935424f5c6875828c86817c76716d67615e5759616c727f8c949ea9a2979083796d60594f433a2f22190e0000000000000000000000000000000000000000000000040b0c151d2328363e464f575f686d78818c939993877d70695e52463a2d2014070000000000000000000000000007131f2c38434f5966727f8c99a3afa7998c807366594f4330271c120700030f1b27333f495363707c8997a1ada79a8d8074665c5044382c1f1206000000000000000000000000050d141a1f262b2e31373a3b3e4042444545464646454442403d3a38352f2c27211a150e060000000000000000000000000000000000000814212e3a47535f6a7683909da6ada1978c80736c605c5553504a4e4f4b5153565d616c77828f99a4afa69c8f8276685e5246392d20140700000013202d3946535f6c767979797979797979839090837979797979797979766c5f5346392d201300000000000000000000101d2a3643505d69768390908376695d5043362a1d0a0000000000000000000005121f2b3744505b656c76797979797979798390908379797979797979766c655b5044372b1f1205000000000a141d262d334048505a616b6f7c8591979791857c6f6b615a504840332d261d140a000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000b17222d3846525e6875828e9ba8ada2978a7e7164574d42464646464646463f4a54626e7b88949fabaa9d9084776b6054443a2f24190d010000000000000000000000000000000000000000000005111e2a36424d5764717e8a97a2a99a8d80818e9baa9d9083776a5f5347382e23170b00000000000000000000000000000c1825323f4b5865727e8b98aaaea399897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000006131f2c3845515c677784919eaaa99c90837669554b4034281c100400111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000007131f2c38434f5966727f8c99a4aa9b8e817475818e9baa9e9184796d6053463a2f24180d0100000000000000000000000714212e3a4754616d7a8798a2aeab9e918478675c5145382c1f1306000006131f2c3945515d677784919eaaafa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0acb9ada1968b7e71695e554c443e3a383437393e46525e687683909ca9aea298877a6e6154473b2e2114080000000000000000020f1c2935424f5c6875828f928e89837e79736e6963606b707e88939fa6a39992857b6e675d51473e31281e10070000000000000000000000000000000000000000000000060e161e272e344048505960696e7a828e939f948c7f736b60574d42362a1e1105000000000000000000000000000915222f3b4854606b7784919d9f9f9f95887b6e6255483d3222150b0000000b17222d3a4653606d7985929e9f9f9e9185796d6053463a2d2013070000000000000000000000000002090e151a1e21262b2e2f31333637383839393938373533302d2c29241d1b160e09030000000000000000000000000000000000000006121e2b37424e5764707d8a949fa9a99c928b7e746d6762605b545b5b555c6062686d75808d949eaba99e94897d7063564c41362a1e110500000013202d394653606c798686868686868686909494908686868686868686796c605346392d2013000000000000000000020b142a3643505d69768390908376695d504331261a0b020000000000000000000613202d394653606c798386868686868686909494908686868686868683796c605346392d20130600000006111b262f383f44515a626c707d8591938e8e9391857d706c625a51443f382f261b11060000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000006111c2a36414c5663707d8996a0aca99c8f8276695e5246382d393939393844505c6673808d99a6aea2988b7f7265594f4332281e130800000000000000000000000000000000000000000000000714202d3a46525e6976828f9ca9a297897d7d8a98a2a095887c6f62544a3f34281c1003000000000000000000000000020e1b2835414e5b6874818e9ba7ac9f9286796d6053473a2d201407000000000000000000000000000000000000000000000000000000000004101c2934404b556976828f9ca9ab9e918478675c5145382c1f130600111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c000000000000000000000000000000000000000000000915222f3b4854606b7784919eaba2988a7d70707d8a98a2a197897d7063554b4135291d110400000000000000000000000915222f3c4855626f7b8895aab4a99d9083766a554b4034291c1004000004101d2935404b556976828f9ca9afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0acb1a8a09d92857b6e675e56504846443f4446484f58616d7a86929facab9f928578695e52463a2d2014070000000000000000020f1c2935424f5c6875828f999b95908b85807b756f6b6f7d86929aa4a49f92877d70695f554b41352c1f160c0000000000000000000000000000000000000000000000070f18202830394045525a616b6f7b838f949d968f82776c60594f453b30251a0e0200000000000000000000000000091623303c4956636f7c8996939393939083776a5f53473a2e21140300000006121f2b3844505c6674818e93939393978a7d7063574a3d3024170a00000000000000000000000000000003090e12151a1e21222527292a2b2c2c2c2c2b2a282623201f1d18120f0a04000000000000000000000000000000000000000000020e1a26313c4955616c76828f97a1aaa49f93888079736f6c6669686869676d6f747a818d929ca6aaa1978f82766b6055443b3025190e0200000013202d394653606c798693939393939393969696969393939393939386796c605346392d20130000000000000000000a141d2b37434e586976839090837669584e43372b1d140a00000000000000000005121f2b3744505b656f7c899393939393939c9f9f9c939393939393897c6f655b5044372b1f12050000000b17222d384149505b636c717e8692928c81818c9292867e716c635b504941382d22170b0000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000d1925303b4854606b7784919daaac9f93877b6e6153493f33272d2d2d3a4653606d7984919eabac9f92867a6d6054473d3221160c0100000000000000000000000000000000000000000000000814212e3b4754616e7b87939fab9e9285797985929fa79a8d8073665c5044382b1f130700000000000000000000000004101c2934404b55697683909ca9aa9e918477675c5145382c1f13060000000000000000000000000000000000000000000000000000000000000c18232f414e5b6774818e9aa7ac9f9386796d6053463a2d20130700111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000000000004101d2935404b55636f7c8996a0ab9f9285796d6d7985929fa99b8e8175675d5145392c20140900000000000000000000000a1623303d495663707c8996a3afa89c8f8275695c4f422f23180c000000000c18242f414e5a6774818d9aa7afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0acaca09591959082796d68615a5553504a50535459616a73808c99a3afa99c8f827669564d42362a1e11050000000000000000000d1a2633404d59667380878c91979c97928c86827c777c859298a2a49a938b7f726b60574d433a2f231a0d0400000000000000000000000000000000000000000000071019212a323a434b515b636c717d8591959f9991847a6d655b50473d33291f140900000000000000000000000000000e1b2834414e5b677481868686868686867f7265574e42372b1e120600000003101c28343f4a5463707d868686868686868175685b4f4235281c0f00000000000000000000000000000000000206090e121415181a1c1e1e1f20201f1f1d1c19171413100c07010000000000000000000000000000000000000000000000000915202d3944505a616e7b859298a1a9a49a938d85807b79767575757677797c81858e939ca4a9a19892857b6e61594f4432291e14080000000013202d394653606c798693928d8989898989898989898989898d929386796c605346392d2013000000000000000006111b262f3847535f6a7683909083766a5f53473d2f261b11060000000000000000030f1b27333f4953606b75828f99a39f9f9fa9ababa99f9f9fa3998f82756b6053493f33271b0f030000030f1b27333f49535b606d737e8792928b807474808b9292877e736d605b53493f33271b0f0300000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000008141e2c38444f5965727f8c98a3aea4998c7f73655b5044372b1f2a36414c5663707d8a97a1ada79b8e8174685d5245392c201304000000000000000000000000000000000000000000000007131f2c38434f5966727f8c99a4aa9b8e817475818e9baa9e9184796d6053463a2f24180d01000000000000000000000006131f2c3845515c677885919eaba99c8f827669554b4034291c1004000000000000000000000000000000000000000000000000000000000000071926333f4c5966727f8c99a5afa49a887b6e6255483b2f22150800111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000613202c3945515d6774818e9aa8aa9b8e8175676775818e9baa9f92867a6d6054473b31251a0e02000000000000000000000a1724313d4a5764707d8a97a3b0a89b8e8175685b4e4235281b0700000000071a2633404d596673808c99a6afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508080400000000000000000713202d3a4653606d798693a0acaa9d9184919590837a716c6662605c545b6061646b707c87929fabb0a6998c7f7266594c3f3025190e020000000000000000000c1926323f4b57636e737b80858a90949a99928e8984869297a2a49a93887f726d62594f453b3128221c140b020000000000000000000000000000000000000000040f19222b333c444c555c606d737e869297a09f92877c6f685d53493f352b20170d0200000000000000000000000000000d1a2733404c59646f7479797979797979726d6256453c31261a0e02000000000b17232e384855616b7079797979797979756f65594d4034271b0e0000000000000000000000000000000000000000020608080b0d0f11121213131312110f0d0a07060400000000000000000000000000000000000000000000000000000003101c28333e46525e696f7c8692979fa6a49f97918c888583828182828386898d92989ea5a69f9792867c6f695e52473d3320170d020000000013202d394653606c7986938d807d7d7d7d7d7d7d7d7d7d7d7d808d9386796c605346392d201300000000000000000b17222d38414f59626f7c879292877c6f62594f41382d22170b0000000000000000000b17222d38414f59616e7b86929fa9b3acb6b7b7b6acb3a99f92867b6e61594f41382d22170b00000005121f2b3744505b656c747f8b9292877e736d6d737e8792928b7f746c655b5044372b1f120500000b1825323e4b5865717e8b98a4aca295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000002101c27333d4754616d7a86929facab9e9184786c6053463a2f242d3946525e6875828f9ba9aca095897c6f63564c4135291d110400000000000000000000000000000000000000000000000915222f3b4854606b7784919eaba2988a7d70707d8a98a2a197897d7063554b4135291d110400000000000000000000000714202d3a4753606d7a86939faca79a8e8174675b4e412f23180c000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b6ac96897d7063564a3d3023170a00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000714202d3a4753606d7a85929faca3988a7d716464707d8a98a2a2988b7e7165574d42362a1e1205000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000c1926323f4c5965727f8c98a5afa295887c6f6255493c2f2216090000000000050c1925323f4c5865727f8b98a5aea194887b6e6155483b2e22171614100b050000000000000713202d3a4653606d798693a0aca4978a7e85929590847e77726f6d666b656c6e71767d859299a3aeac9f94887b6e6155483b2e221509000000000000000000000a17232f3b47525c63696e73797e83888d92989b95909298a2a99f93887f726d625b514c47433c332d261d140a00000000000000000000000000000000000000000a16212b343d454d565e676d757f8a9298a19e938b7f726a60564c41382d23190e050000000000000000000000000000000b1824303c48535d64676c6c6c6c6c6c6c65625b5146332a201509000000000006111c2c38444f5961636c6c6c6c6c6c6c68655d53483d3125180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222a36424d57606a6f7c858f949ea1a8a19e999892908f8e8e8f9092999a9fa2a8a09e948f857c6f6a60564d42352c210e05000000000013202d394653606c7986938b7e7270707070707070707070727e8b9386796c605346392d201300000000000000030f1b27333f4953606b75828f99998f82756b6053493f33271d1207000000000000000006111b262f3d46535f6974808d97a2adbac3c4c4c3b9ada2978d8073695f53473d2f261b11060000000613202d394653606c77808c9192867d716c63636c717d8692918c80776c605346392d20130600000b1825323e4b5865717e8b989f9f9f95897c6f6256493c2f23160900000d1a2733404d5a6673808d999f9f9f9386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000b16202d3946525d6875818e9ba7aca096897c7063554b4135292e3a4754616d7a86929facaa9d9084776b6054443a2f24190d010000000000000000000000000000000000000000000004101d2935404b55636f7c8996a0ab9f9285796d6d7985929fa99b8e8175675d5145392c20140900000000000000000000000815222f3b4855626e7b889aa4afa5998c7f7266594c3f3326190700000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afa4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2ac9f92867a6d60606d7985929faa9c8f8376695e53463a2d21160a000000000000000000000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e010000000c1825323f4b5865727e8b98a5afa295887c6f6255493c2f221609000000000810171c25323f4c5865727f8b98a5aea194887b6e6155483b2e262423201c17100800000000000713202d3a4653606d798693a0aca4978a7e7e8b9296918a837f7b79787778797b7e828a9297a2abafa49a8f8276695f53473a2d2114080000000000000000000007131f2a35404a52575e61666d71767c81869196a09d9fa2aaa6998c8075706b65605d55534e443f382f261c1106000000000000000000000000000000000000030f1b27323d464e575f686d79818c929fa3a0958e81756d62584e443a2f261b1108000000000000000000000000000000000814202b36414a53595b60606060606060595651493f3521180e03000000000000101c28333e474f5557606060606060605b59534b41372c2014080000000000000000000000000000000000000000000000000406070a0d0f11121313131212100e0c0906060300000000000000000000000000000000000000000000000000050e1a25303b454e58606a6f7b828b91969c9fa3aaa29f9d9c9b9b9c9d9fa3aba39f9b96918a827b6f6a60584e443b30231a0f00000000000013202d394653606c7986938b7e7265636363636363636365727e8b9386796c605346392d2013000000000000010c161f2b3744505b65707d89949e9e94897d70655b5044392e23180c0100000000000000000a141d2b37424d57606d7a85929fa8b2bdc8c8bdb2a89e92857a6d60574d42352b1d140a000000020f1b2835424e5b6875818d9292857c706b625a5a626b707c8592928d8175685b4e4235281b0f02000b1825323e4b5865717e8b9393939393897c6f6256493c2f2316110b0b101a2733404d5a6673808d939393939386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56636f7c8995a0aca89b8e8174675d5145392c37434e5865727f8b99a3aea2988b7f7265594f4332281e130800000000000000000000000000000000000000000000000613202c3945515d6774818e9aa8aa9b8e8175676775818e9baa9f92867a6d6054473b31251a0e02000000000000000000000a1724303d4a5763707d8a96acb6a4978a7e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afa5988b7e7265584b3f3225180c00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000000000714212d3a46535f6976838f9caaaa9b8f8275675d5d6775828e9baa9f93877b6e6154483d32271b0f000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000b1825323e4b5865717e8b98a4afa295887c6f6255493c2f22160900000008121a22282d323f4c5865727f8b98a5aea194887b6e6155483b333331302d28221a1108000000000713202d3a4653606d798693a0aca4978b7e74818e949e95908c888685848585878b8f949fa2a9aea59f93877c6f62574d42372b1e120600000000000000000000020e19242e3840454d52545c60646a6f747b84919eaba39f9da09f9287827d77726d67625f58504a42382d22170b00000000000000000000000000000000000007131f2c38434e5860696e7a828e939ca4a2989183796d605b51463d32281d140a0000000000000000000000000000000000030f1a252f3841484c4e535353535353534c4a463f372d230f06000000000000000b16212c353e44484a535353535353534f4d4841392f251a0f0400000000000000000000000000000000000000000001070c10131416191c1d1f1f20201f1e1d1b191613120f0b0600000000000000000000000000000000000000000000000009141f29333d464e5860696e767e848a8f9299999b9d9e9f9f9f9f9e9d9b9999928f8a847e766e6960584e463d32291f110800000000000013202d394653606c7986938b7e7265585656565656565865727e8b9386796c605346392d201300000000000008131e2834404b54606c7883909da6a69d9083786c60544b4034281e13080000000000000000020b1a26313c45525d68727f8c96a0acb9c2c7b8aca0968b7f72685d52453b3123190b02000000000b1724313e4a5764717e869293877f746d665d5d666d747f879392867e7064574a3d3124170a00000b1825323e4b5865717e868686868686867c6f6256493c2f23221d16161b202733404d5a66738086868686868686786d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000010d1924303a4854606b7783909daaac9f92857a6d6054473c313b4754606a7783909dabac9f92867a6d6054473d3221160c0100000000000000000000000000000000000000000000000714202d3a4753606d7a85929faca3988a7d716464707d8a98a2a2988b7e7165574d42362a1e1205000000000000000000000b1825313e4b5864717e8b97a4afa296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a1aea5988c7f7265594c3f3226190c00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000000030f1c28333f4a54616e7b87939faca2988a7e7164555564717e8a98a3a49a8c7f7366584e43372b1d12070000000000000000000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e010000000b1825323e4b5865717e8b98a4afa295887c6f6255493c2f221609000005101a242c33393c3f4c5865727f8b98a5aea194887b6e6155484040403d3c39332c231a10050000000713202d3a4653606d798693a0aca5988b7e7278828e939f9d999a939291919298979c9fa6adaba39f938d80736a6054453c31261a0e0200000000000000000000030e18212a31373e434b51575e666c727c849196a1a0999290959b99928f89847f7a746f6a605b544a3f33281c0f0300000000000000000000000000000000000915222e3b4854606a6f7b8490949ea5a49f92867c6e675d51493f342b20160b0200000000000000000000000000000000000008131d262f363c4041464646464646463f3e3a352d251b11000000000000000005101a232c33383c3d4646464646464642403d372f271e13090000000000000000000000000000000000000000040a0f12181c1f202326282a2b2c2c2c2c2b2a282523201f1c17110f0a03000000000000000000000000000000000000000000020d17212b343d464e565e616c71787e82868a8c8f90919292929291908e8c8986827d78716c615e574e463d342b20170d0000000000000013202d394653606c7986938b7e7265584b4a4a4a4a4b5865727e8b9386796c605346392d20130000000000010d19242f3845515c66717e8a959fabab9f958a7e71665c51453a2f24190d02000000000000000009141f2935414c56606d7984919ea6b0bebeb0a69e9184796d60564c41332a1f100700000000000a1623303c4955616c717d8692938c80786d67676d78808c9392867d706c6155493c3023160a00000b1724313d4a56626c71797979797979796f6a6054473b36332e272021272c2f303f4b58636e737979797979797976665c5044382c1f1206000000000000000000000000000000000000000000000000000000000000000000000008131e2c38434f5965727f8b98a2aea2988b7e7165574d4237404b55626f7c8895a0aca79b8e8174685d5245392c201304000000000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2ac9f92867a6d60606d7985929faa9c8f8376695e53463a2d21160a000000000000000000000c1825323f4b5865727e8b98a5afa295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aea6998c7f7366594c403326190d00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000000000006121f2b3844505b6673808c9aa4ac9f92867a6d605454606d7a86929fac9d9184776a605447392e23180c0000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000c1825323f4b5865727e8b98a5afa295887c6f6255493c2f22160900000c17222c363e45494a4d5865727f8b98a5aea194887b6e61554d4d4d4d4a49443e362c22170b0000000713202d3a4653606d798693a0aca5988b7f726d78818b92989fa29f9e9e9e9fa3aaa9a9aaa29f99928b81786d60584e43332a1f1509000000000000000000000009151f2a333c42474f555c60696e787f879196a09f95918684898e92989b95918b85817c766c665b5044382b1f120600000000000000000000000000000000000916232f3c4956626f7c85919693939393928a7e716a5f554b40372d22190e0400000000000000000000000000000000000000010b141d252b3033343939393939393932312e29231b130900000000000000000008111a21282c2f30393939393939393534312c251e150c02000000000000000000000000000000000000040a0f161b1d23292c2d303335373839393939383635322f2d2b28221c1b150e09030000000000000000000000000000000000000000050f19222b343c444d525a61666d71757a7d80828385858686858483827f7d7a75716d66615a524d453d342b22190e050000000000000013202d394653606c7986938b7e7265584b3f3d3d3f4b5865727e8b9386796c605346392d2013000000000004111d2935414c56606d7984919ea7b1b1a79e9184796d60564c4135291f14090000000000000000030d1924303a44515c66707d8a949facb6b6ac9f948a7d70665c51443a3021180e0000000000000814212d3944505a616b707c8591928d82796e6e79828e9291857c706b615a5044392d20140800000915212e3a45505a62656c6c6c6c6c6c6c6260584e4344433f3932292b32383b3d4647525c63666c6c6c6c6c6c6c6c5c544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000020f1b27323d4754606d7a86929facaa9c908376695f53473845515c6774808d9aa7aca095897c6f63564c4135291d110400000000000000000000000000000000000000000000000714212d3a46535f6976838f9caaaa9b8f8275675d5d6775828e9baa9f93877b6e6154483d32271b0f000000000000000000000c1926323f4c5965727f8c98a5aea195887b6e6255483b2f221508000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8794a0ada6998d8073665a4d4033271a0d00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c000000000000000000000000000000000000000613202d394653606c7884919eaca99b8e8175675d51515d6775828f9caba096897c6f62544b4034281c100400000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b07000000000c1926323f4c5965727f8c98a5afa295887c6f6255493c2f2216090005111c28333e48505557595965727f8b98a5aea194887b6e615959595959575550483e33281c100400000713202d3a4653606d798693a0aca5998c7f72666d757f868d92989a9c9e9e9f9f9e9d9c9998928d867f746d665c50463d3221180e0300000000000000000000020e1a26313c454d535961676d727b828c92999f99928d837c777c81868c91969c98928d8882786c605346392d20130600000000000000000000000000000000000d1a2633404d59667380868686868686868680746c61574e43392f251b1007000000000000000000000000000000000000000000020b131a202427282d2d2d2d2d2d2d2625221e18110901000000000000000000000810161c2023242d2d2d2d2d2d2d282725201a130c03000000000000000000000000000000000000060b151b21272c2f34383a3d40424445464646454543413f3c3938332d2b26201a150b060000000000000000000000000000000000000000071019222b323b424650545c6064676d70737577787979797878767573706d6764605c545046423b332b22191007000000000000000013202d394653606c7986938b7e7265584b3f3d3d3f4b5865727e8b9386796c605346392d201300000000040e18222c3945525d68727f8b96a0acb9b9aca0968b7f72685d52453b30251a0e04000000000000000008131e2834404a54616c7682909aa4afafa49a9082766c61544a4032281e0f0600000000000004101c28333e485059606a6f7b8490948f837a7a838f9490847b6f6a605950483e33281c1004000005111d29343f485056586060606060606056544e5353514f4a443b32353d44484953535352585a606060606060605f504a42382e23170c000000000000000000000000000000000000000000000000000000000000000000000000000a16202c3945515d6774818e9aa7ab9f94887b6e62544a3f4653606d7985929fabaa9d9084776b6054443a3024190d0100000000000000000000000000000000000000000000030f1c28333f4a54616e7b87939faca2988a7e7164555564717e8a98a3a49a8c7f7366584e43372b1d12070000000000000000000d192633404c5966737f8c99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0ada79a8d8074675a4d4134271a0e00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000004111d2935414c5663707d8996a1aca1978a7d7063554b4b5564717e8b99a3a89a8d8174665c5145382c1f130800000000000000000916232f3c4956626f7c8995acb6a89c8f8275695c4f422e23180c000000000d1a2633404d596673808c99a6afa295887c6f6255493c2f221609000814212d3945505a6164666666727f8b98a5aea194887b6e66666666666664615a5044392d20140800000713202d3a4653606d798693a0aca6998c7f7366606d727b80858a8d8f9192929291908f8c8985807b726d605c544a3f342b200f06000000000000000000000006121e2b37424d575f616b70797f868f949f9d948f8780796f6a6f747a7f84898f93999a9486796d6053463a2d20130700000000000000000000000000000000000c1925323f4b57636d737979797979797979746e645a50453c31281d1209000000000000000000000000000000000000000000000001080f14181a1b20202020202020191816120d0700000000000000000000000000050b10141617202020202020201c1b18140f09020000000000000000000000000000000000020a111720262b323839404547494c4f50525253535251504e4c4946443f3837312b262017110a0200000000000000000000000000000000000000071019202930363e424a5053555d606366686a6b6c6c6c6c6b6a686663605d5553504a423e3630292119100700000000000000000013202d394653606c7986938b7e7265584b4a4a4a4a4b5865727e8b9386796c605346392d2013000000000a15202a36424d57606d7a85929ea8b2bdbdb2a89e92857a6d60574d42362a20150a0000000000000000020c18232e3942505a626f7c87939faaaa9f93877c6f625a5042392e20160c00000000000000000b17222c363e474f585f696e7a839094908484909490837a6e695f584f473e362c22170b000000010c18222d363f454a4b5353534c525f6060606060605d5b554d44393d474f54566060606060605a58535353535353443f3830261c11060000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c55626f7c88959faba6998d8073665c50444d5764717e8a97a2ada2988b7f7265594f4332281e1308000000000000000000000000000000000000000000000006121f2b3844505b6673808c9aa4ac9f92867a6d605454606d7a86929fac9d9184776a605447392e23180c0000000000000000000d1a2734404d5a6773808d9aa6ada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0ada79a8d8074675a4d4134271a0e00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000000000613202c3945525d6875818e9ba8ab9e9285796d6053464754616d7a86929fab9e9285796d6053463a3025190d01000000000000000815222e3b4855616e7b889aa4afa99d9083766a554b4034281c10040000010e1b2834414e5b6774818e9aa7afa295887c6f6255493c2f221609000a1723303c4955616c71737373737f8b98a5aea194887b73737373737373706c6155493c3023160a00000713202d3a4653606d798693a0aca6998d8073665b62686e74797d808284858685858482807d7a746e69625b504a42382e22190f0000000000000000000000000814212d3a47535f696e757d848c92989395908a827c736d676062686d72787d82878d929786796d6053463a2d20130700000000000000000000000000000000000a16232f3b47525b63666c6c6c6c6c6c6c6c67645c52483e332a1f160c000000000000000000000000000000000000000000000000000003080b0d0e131313131313130c0b090601000000000000000000000000000000000407090a131313131313130f0e0c0804000000000000000000000000000000000000040b141c222832373d43484b515356595b5d5e5f5f5f5f5e5d5b585653504a47433c373127221b140b0300000000000000000000000000000000000000070e171f252a30383f44464c515457595c5d5e5f5f5f5f5e5d5b595653514b46443f38302a251f170f070000000000000000000013202d394653606c7986938b7e7265585757575757575865727e8b9386796c605346392d2013000000020b1b26313a46525e6973808d97a1adbac4c4b9ada1978d8073695e52463c31261b0b02000000000000000007121c27303e4754606a75818e98a2a2988e81756a6054483e30271c0e04000000000000000005101a242c353d464e575f686e7a828f949191948f827a6e685f574e463d352c241a10050000000006111b242d343a3d3e46414c565e6c6c6c6c6c6c6c6a675f554a3f444f5960636c6c6c6c6c6c67645c534846464638342e261e150a0000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a47545f6a7783909da9ab9e9184796d605346525e6976828f9ca9ac9f92867a6d6054473d3221160c0200000000000000000000000000000000000000000000000613202d394653606c7884919eaca99b8e8175675d51515d6775828f9caba096897c6f62544b4034281c100400000000000000000e1a2734414d5a6774808d9aa7ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8794a0ada6998d8073665a4d4033271a0d00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000000000714212d3a4754606d7a86929faca89a8d8174665c514446525d6876828f9caba2978a7d7064564c4135291d1105000000000000000714202d3a4753606d7a86939facab9e918478675c5145382c1f1306000004111d2935414c566976828f9ca9afa295887c6f6255493c2f221609000b1724313e4a5764717e80808080828f9ca8b3a79a8d80808080808080807e7064574a3d3124170a00000713202d3a4653606d798693a0aca6998d8073665a565e61666d7073757778797978777673706d67615e5751443f3830261c10070000000000000000000000000815222e3b4855616e7b8286868686868686837d766f6a605c55565d61656c70757b80858a867a6d6053473a2d201407000000000000000000000000000000000007131e2a35404952575960606060606060605a58524a40362c21180d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161d262d333c43474f54555c606366686a6b6c6c6c6c6b69686562605b54534e47423c332d261d150d0300000000000000000000000000000000000000050d14191e262e34383a4145474a4d4f50525253535251504f4c4a4745403a38342e261e1a140d05000000000000000000000013202d394653606c7986938b7e7265646464646464646465727e8b9386796c605346392d20130000000a141d2b37434e58616e7b86929fa9b3becccabeb3a99f92867b6e61584e43372b1d140a0000000000000000000b151e2b37434e58616e7b86929f9f92867b6e61584e43362c1e150b0000000000000000000008121a232b343c454d565e686d79828e93938e82796d685e564d453c342b231a120800000000000009121b22292e31323946525e68767979797979797771675b4f434854606b70797979797979746e64584c4039392c28231c150c0300000000000000000000000000000000000000000000000000000000000000000000000000000008131e2b37434e5865717e8b97a2ada1968a7d7063564c54616e7b87939faca79b8e8174685d5245392c201304000000000000000000000000000000000000000000000004111d2935414c5663707d8996a1aca1978a7d7063554b4b5564717e8b99a3a89a8d8174665c5145382c1f130800000000000000000e1a2734414d5a6774808d9aa7ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aea6998c7f7366594c403326190d00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c000000000000000000000000000000000006121f2b37434e5865727e8b98a2aca096897c6f63544a40414c5665727e8b99a4a99b8f8275685e5246392d2015090000000000000006131f2c3845515c677885919eabac9f9286796d6053463a2d20130600000713202c3945525d687884919eabafa295887c6f6255493c2f221609000f1c2835424f5b6875828c8c8c8c8f949eaab5a99d928d8c8c8c8c8c8c8c8174685b4e4135281b0e02000713202d3a4653606d798693a0aca6998d8073665a4d52545c606367696b6b6c6c6b6a696663605d55534d453f342e261e140a000000000000000000000000000814212d3a47535f696e757979797979797976706b625f58514b4c52535b6063696e73797e83796d6053473a2d2014070000000000000000000000000000000000020d19242e3740474b4d53535353535353534d4c4740382f241a0f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0d10111213131211100d0a07060400000000030505060606060606000000000000000000000000000000000000030c161f282f383f444e54596063676d707375777879797978787674726f6c66625f58534d443f382f271f150d030000000000000000000000000000000000000002090c151c23282c2f35393a3d4042444546464645454342403d3a39352f2b28231c140c090200000000000000000000000013202d394653606c7986938b7e7270707070707070707070727e8b9386796c605346392d2013000006111b262f3847535f6a74818e98a2aebbb9b9b9b9baaea2988e81746a5f53473d2f261b11060000000000000000030c1b27323c46525e6973808d97978c8073695e52463c32241a0c030000000000000000000000081119222a333c444d565d676d78818d8d81786d675d564d443c332a2219110800000000000000000911181d21212e3b4754616e7a86868686868683776a5d5144495663707d8686868686868074675a4e4134271f1c17110a0300000000000000000000000000000000000000000000000000000000000000000000000000000000010f1b26323c4753606d7985929faba99b8e8275685d525966737f8c99a4aca095897c6f63564c4135291d110400000000000000000000000000000000000000000000000613202c3945525d6875818e9ba8ab9e9285796d6053464754616d7a86929fab9e9285796d6053463a3025190d01000000000000000d1a2734404d5a6773808d9aa6ada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a1aea5988c7f7265594c3f3226190c00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000814212e3a47535f6a7683909daaaa9e9184776b605442393b4754616e7b86939fac9f92867a6d6154473c31261a0e0000000000000004101c2934404b55697683909ca9afa399887b6f6255483c2e23170b00010714212d3a4754606d7a8796a1acafa295887c6f6255493c2f221609000f1c2835424f5b6875828e9999999c9ea6b0b9aea49d9a9999999999998e8174685b4e4135281b0e02000713202d3a4653606d798693a0aca6998d8073665a4d464b5153575a5c5e5f5f5f5e5d5c595654514b46423b3328231c140c020000000000000000000000000006121e2b37424d575f61696c6c6c6c6c6c6c6a636159534e45404146495053575e61666d71766d675d5145392c1f130600000000000000000000000000000000000007121c252e353b3f404646464646464646413f3c362f261d1208000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d111314171a1d1e1f1f201f1e1c1a171413100c07010c0f11121313131313130909070300000000000000000000000000000b151e283139424a50585f626b6f75797d7f828385858686858483817f7c79746f6a625f575049413931271f150b010000000000000000000000000000000000000000030a11171c1f24292c2d30333537383939393938373533302d2c29241f1c17110a02000000000000000000000000000013202d394653606c7986938d807d7d7d7d7d7d7d7d7d7d7d7d808d9386796c605346392d201300000b17222d38414f59626f7c87939faab4acacacacacacb4aa9f93877c6f62594f41382d22170b0000000000000000000a15202a36424d57606d7a85919185796d60574d42342b20110800000000000000000000000000071019212a323b444c555d666d748080746d665d554c443b322a2118100700000000000000000000060c1114212e3b4754616e7a87939393939084776a5d5144495663707c89939393938d8174675a4e4134271b100c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151f2c3945515d6774808d9aa6ac9f92867a6d6154606b7784919eabaa9d9084776b6054443a3024190d0100000000000000000000000000000000000000000000000714212d3a4754606d7a86929faca89a8d8174665c514446525d6876828f9caba2978a7d7064564c4135291d1105000000000000000d192633404c5966737f8c99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afa5988b7e7265584b3f3225180c00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000003101c28343f4a54626e7b88959faba7998c807366594f43303946525e687683909ca9a3998b7f7265574d42372b1b1106000000000000000c18232f414d5a6774808d9aa7b5ab988b7e7165544a3f34281c100b0e131c2834404a5464707d8a97a8b2afa295887c6f6255493c2f221609000f1c2835424f5b6875828e9b9f9fa0acaeb5bdb1a9a3a19f9f9f9f9f9b8e8174685b4e4135281b0e02000713202d3a4653606d798693a0aca6998d8073665a4d404045464a4d4f5152535252514f4d4a4745413a3631292117110a020000000000000000000000000000020e1a26313c454d53555c606060606060605d57554f47433c3435383f44464d53545c606469605d554b4035291d1004000000000000000000000000000000000000000a131c242a2f323339393939393939393433302b241d140b0000000000000000000000000000000000000000000000000000000000000000000000000000000003090e13191d20212427292b2b2c2c2c2b292724201f1c18120e181c1e1f2020202020201615130f0a04000000000000000000000007121d273039434b545b606a6f767c8185898c8e90919292929291908e8b8985817c756e69605b534b433931271d120700000000000000000000000000000000000000000000060c1013191d20212426292a2b2c2c2c2c2b2a282623201f1d1812100b060000000000000000000000000000000013202d394653606c798693928d8a8a8a8a8a8a8a8a8a8a8a8a8d929386796c605346392d201300030f1b27333f4953606b76828f99a49f9f9f9f9f9f9f9f9f9fa4998f82756b6053493f33271b0f030000000000000000040e1a25303b45515d67727e8b8b7e71675d51453b3022190f000000000000000000000000000000070f182029323a434b545c606e73736e605c544b433a322920180f07000000000000000000000000010814212e3b4754616e7a87949f9f9d9084776a5d5144495663707c89969f9f9a8d8174675a4e4134271b0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55626f7b88949faba3998b7e726557636f7c8996a0aca2988b7f7265594f4332281e1308000000000000000000000000000000000000000000000006121f2b37434e5865727e8b98a2aca096897c6f63544a40414c5665727e8b99a4a99b8f8275685e5246392d201509000000000000000c1926323f4c5965727f8c98a5aea195887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afa4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000006121f2c3844505c6673808d9aa7ab9f95887b6e6255483d3236414d5665727f8c98a7ab9d908376695f5347382d22170b00000000000000071824313e4b5764717e8a97a7b1a79b8e8174665c5044382b221b171a1d242c3844515c6674818d9aa7b4afa295887c6f6255493c2f221609000f1c2835424f5b6875828e939393939fa3abb5a99f98949393939393938e8174685b4e4135281b0e02000713202d3a4653606d798693a0aca6998d8073665a4d4034383a3d404244454646454443403d3a39352f2a251f170f06000000000000000000000000000000000009151f2a333c4247484f53535353535353504a48443e373129292d33373b42464b5153575d53514b43392f24180c0000000000000000000000000000000000000000010a12191e2325262d2d2d2d2d2d2d2d2726241f19130b02000000000000000000000000000000000000000000000000000000000000000000000000000000060e141a1e24292c2d3033363738393939383634302d2c29231d1a24282b2c2d2d2d2d2d2d23221f1b160f07000000000000000000040d18232e39434b555d666c737c83898e9298999b9d9e9f9f9f9f9e9c9b9897918d88827b736c655d554b43392f24180e05000000000000000000000000000000000000000000000003080d111314171a1c1d1f1f20201f1e1d1c19171413100c070300000000000000000000000000000000000013202d394653606c798693939393939393939393939393939393939386796c605346392d20130005121f2b3744505b65707d8994939393939393939393939393939394897d70655b5044372b1f120500000000000000000009141f2935414b55606d788383786d60554b4033291f100700000000000000000000000000000000060e1720283139424a505c636767635c504a4239312820170e0600000000000000000000000000000814212e3b4754616e7a8794a1aa9d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3947535f6a7683909ca9ab9d908376695f6774818e9aa8ac9f92867a6d6054473d3221160c0200000000000000000000000000000000000000000000000814212e3a47535f6a7683909daaaa9e9184776b605442393b4754616e7b86939fac9f92867a6d6154473c31261a0e000000000000000c1825323f4b5865727e8b98a5afa295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b6ac96897d7063564a3d3023170a00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c000000000000000000000000000000000713202d3a4653606d7985919eabab9d908377695f53473a2b303b4854616e7b8795a0ab9f95887b6e6253493f33271b0f030000000000000814212e3b4754616e7b8795a0acab9e9285796d6053463e342b2722262a2f35404b55606d7985929eabb8afa295887c6f6255493c2f221609000f1c2835424f5b68758186868686868b99a3aea3988d88868686868686868174685b4e4135281b0e02000713202d3a4653606d798693a0aca6998d8073665a4d40332c2d3034363838393938373633302d2c29241d1a140d05000000000000000000000000000000000000030e18212a31373a3b4246464646464646433d3c38332b26201b22272b3136394045464b504745403931271d120700000000000000000000000000000000000000000000070d1316191a20202020202020201a1a17130e0801000000000000000000000000000000000000000000000000000000000000000000000000000000070f181f262a2f35393a3d404344454646454443403d3a38342f2a252f3437383939393939392f2e2c272119100700000000000000010c161f2834404b555d676d78808790949b9fa2a9a29e9c9b9a9a9b9d9fa3a9a19e9a948f877f776d675d554b40352920170d02000000000000000000000000000000000000000000000000010406070a0d0f11121313131212100f0d0a07060400000000000000000000000000000000000000000013202d394653606c798686868686868686868686868686868686868686796c605346392d2013000613202d394653606c798386868686868686868686868686868686868683796c605346392d201306000000000000000000030d18242f3a44505c66707d7d70665c50433a2f21170d000000000000000000000000000000000000050d161f2730383f4452585a5a5852443f3830271f160d050000000000000000000000000000000814212e3b4754616e7a8794a1a99d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2b37434e5864717e8a97a1ab9f95887b6e616d7985929faba79b8e8174685d5245392c201304000000000000000000000000000000000000000000000003101c28343f4a54626e7b88959faba7998c807366594f43303946525e687683909ca9a3998b7f7265574d42372b1b11060000000000000b1825313e4b5864717e8b97a4afa296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5afa49a887b6e6255483b2f22150800111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000005111d2a36414c5663707d8a97a1ada3998c7f7265574d42372b2d3a46535e697783909daaa7998d8073655b5044372b1f12070000000000000714202d3a46525e697784909dabada1978a7d70635a50463d37332d31363a4045515d67717e8b97a1adb9afa295887c6f6255493c2f221609000e1b2834414d59656f75797979797987929faca194887b79797979797979746f64594d4034271a0e01000713202d3a4653606d798693a0aca6998d8073665a4d403327202427292b2c2c2c2b2a29262321201d18130e09030000000000000000000000000000000000000000060f181f262b2d2e363939393939393937302f2c28211b1511171b1f252a2e34383a3e433a39352f271f150b01000000000000000000000000000000000000000000000002070a0c0d13131313131313130e0d0b0703000000000000000000000000000000000000000000000000000000000000000000000000000000030b1218212a31363a4145474a4d505152525352514f4d4a4745403936313a4044454646464646463c3b38322b22190f0400000000000008131e28313a45515c676d79828d92999fa6a39f9a97928f8e8d8e8e9092989b9fa3a69e99928c82796d675d51453f32291e140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202d3946535f6c767979797979797979797979797979797979797979766c5f5346392d20130005121f2b3744505b656c77797979797979797979797979797979797979776c655b5044372b1f12050000000000000000000007131d28343f4a54606b70706b60544a3f31281d0f0500000000000000000000000000000000000000040d151e262e3440474b4d4d4b4740342e261e150d04000000000000000000000000000000000814212e3b4754616e7a87949c9c9c9084776a5d5144495663707c89969c9c9a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010f1a26313c4653606d7985929eaca7998c7f7366717d8a98a2aca095897c6f63564c4135291d1104000000000000000000000000000000000000000000000006121f2c3844505c6673808d9aa7ab9f95887b6e6255483d3236414d5665727f8c98a7ab9d908376695f5347382d22170b0000000000000a1724303d4a5763707d8a96acb6a4978a7e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7ac9f9386796d6053463a2d20130700111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000713202d3946525e6875828f9ba9ac9f92867a6e6154473c31262a36424d5766737f8c99a7ab9e9184786c605346392f24180c00000000000005111e2a36424d5666737f8c99a3afa99c9083766c61584f46443f414142464b515b606d7984919ea9afb8afa295887c6f6255493c2f221609000c1925313d48535d65686c6c6c677683909da9a194887b6e6c6c6c6c6c6c68645d53483c3024180c00000713202d3a4653606d798693a0aca6998d8073665a4d4033271a171a1c1e1f201f1f1e1c1a171413110d07010000000000000000000000000000000000000000000000060e151a1e2122292d2d2d2d2d2d2d2a2423201c160f0a060b0f141a1d23282c2d31362d2c29241d150d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151c2328333b42464c5254575a5c5e5e5f5f5f5e5c5a5753514b46423b454c50525353535353534948433d342b21160a0000000000010d19242f3a43505a606d79828f949fa3a7a099928e898583818181828386898e92999fa7a39f948f82796d605b51443b3025190e0200000000000000000000000000000000000000000000000002070b0d0d131313131313130f0e0c0804000000000000000000000000000000000000000000000000121e2b37434f5a646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e1200030f1b27333f49535b606a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a605b53493f33271b0f0300000000000000000000010b17232e38424f5960636360594f42382e1f160c000000000000000000000000000000000000000000030c151c2328363b3f40403f3b3628231c140c0300000000000000000000000000000000000814212e3b4754616e7a878f8f8f8f8f84776a5d5144495663707c898f8f8f8f8d8174675a4e4134271b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151f2c3845515c6773808d9aa4aa9d9184776a75828e9baaaa9d9084776b6054443a3024190d0100000000000000000000000000000000000000000000000713202d3a4653606d7985919eabab9d908377695f53473a2b303b4854616e7b8795a0ab9f95887b6e6253493f33271b0f0300000000000815222f3b4855626e7b889aa4afa5998c7f7266594c3f3326190700000000000000000000000000000000000000000000000000000000000004101d2935404b556976838f9ca9ab9e918478675c5145382c1f130600111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000714212e3a4754616d7a86929facaa9c8f8276685e5246392a2025313b4855626e7b8895a0aca196897d7063554b4035291d10040000000000020e1925303b4854616e7b87929fabab9f948a7e716a60595350494e4e4d53555d606d74808d969b9ea5afafa295887c6f6255493c2f221609000915202c37424b53595b6060606774808d9aa7a194887b6e6160606060605b59534b41372b20140800000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d0d0f111213131211100d0a07060401000000000000000000000000000000000000000000000000000003090e1214151c202020202020201d171614100b0500000003090e12181c1f20242a201f1d18120b03000000000000000000000000000000000000000000000000000000000000000000010406070a0d10111213131211100d0a07060400000000030505060606060606000000000000000000000000000000000b151e272e343f454d53565d606366696a6b6c6c6c6b696763605c55534d444f575c5f60606060606056544e463d32271b0f030000000004111d2935414c56616c74818e949ea6a69f959087817c79767474747577797d818790959ea5a69e948e81756d62564c41362a1e14080000000000000000000000000000000000000000000001080e1317191a202020202020201b1b18140f0901000000000000000000000000000000000000000000000f1b27333e49525a5f60606060606060606060606060606060606060605f5a52493e33271b0f00000b17222d38414950535d6060606060606060606060606060606060605d53504941382d22170b00000000000000000000000006111c26303d474f555656554f473d30261c0d0400000000000000000000000000000000000000000000030a1117242a2f323434322f2a2417110a020000000000000000000000000000000000000714212d3a4754606d7a8283838383838174675b4e414855626f7c8283838383827f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b55616e7b87939faca095887b6f7985929faca3988b7f7265594f4332281e1308000000000000000000000000000000000000000000000005111d2a36414c5663707d8a97a1ada3998c7f7265574d42372b2d3a46535e697783909daaa7998d8073655b5044372b1f120700000000000714202d3a4753606d7a86939faca79a8e8174675b4e412f24180c00000000000000000000000000000000000000000000000000000000000006131f2c3845515d677784919eaaa99c90837669554b4034281c100400111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c000000000000000000000000000006131f2b37434e5865727f8b99a3aea2988b7e7164564c41362a18212e3a47535f6a7784919daaa89b8e8174675d5145392c1f14090000000000000914202d3a46525e6975818e99a3afa69f92857c706b62605b535a5b575f61676d747f8b92938f939eaaafa295887c6f6255493c2f22160900040f1b25303942484d4f53535764717e8a97a9a194887b6e6155535353534e4d4841392f251a0f0300000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d01030505060605040300000000000000000000000000000000000000000000000000000000000000000000020608080f13131313131313100a0907040000000000000000070c101313181d1413100c0701000000000000000000000000000000000000000000000000000000000000000001080d111314171a1d1e1f1f201f1e1c1a171413100c07010c0f111213131313131309090703000000000000000000000007121c273039404451575f61686d7073767778797978777673706d67615e57505761686b6c6c6c6c6c6c6260584e43382c1f1307000000000613202c3945525d68717e8a939da6a89f948f837c746f6c6668676768666d70757c838f939ea7a69e938b7f72685e52463b3025190d010000000000000000000000000000000000000000020a12191f2326272d2d2d2d2d2d2d282724201a130b030000000000000000000000000000000000000000000a16212c3740494f535353535353535353535353535353535353535353534f4940372c21160a000006111b262f383f4446505353535353535353535353535353535353535046443f382f261b1106000000000000000000000000000a141e2c353d44484a4a48443d352c1e140a00000000000000000000000000000000000000000000000000060c191f2326272726231f190b0600000000000000000000000000000000000000000713202c3945525d686d767676767676746f64584c4047535f6a6f767676767676726d62564a3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3946535f6976828f9ca9a7998c7f737d8a98a2ac9f92867a6d6054473d3221160c0200000000000000000000000000000000000000000000000713202d3946525e6875828f9ba9ac9f92867a6e6154473c31262a36424d5766737f8c99a7ab9e9184786c605346392f24180c000000000006131f2c3845515d677885919eaba99c8f827669554b4035291d100400000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929faca79b8e8174685b4e412e23180c0000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000815222e3b47545f6a7783909dabac9f92867a6d6054473b3025191e2b37424e576673808c99a8ab9f9285796d6053473b3025190e02000000000005121e2a36424d57626e7c87929fa7ada29792857d756f6c6568676869696e7379818b91948f828f9ba8afa295887c6f6255493c2f221609000009141e2730373d4142464854616e7b8796a1a194887b6e61554846464641403c372f271d13090000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060606060606060400000000000000000000000000000406070b1007060400000000000000000000000000000000000000000000000000000000000000000003090e13191d20212427292b2b2c2c2c2b292724201f1c18120e181c1e1f2020202020201615130f0a040000000000000000000c18232e39424a515b63696e747a7d808384858586858482807d79746e69605b536873787979797979796f6a6054483b2e22150900000004111d2935414c55606d7a85929ea5aca0968f82796e6a62605b545a5b545c60636a6e78818f959faba59f92857a6e61564c41362a1e110500000000000000000000000000000000000000010a141c242b2f3334393939393939393534312c251d150b01000000000000000000000000000000000000000005101b252e373e4346464646464646464646464646464646464646464646433e372e251b10050000000a141d262d33373944464646464646464646464646464646464646443937332d261d140a0000000000000000000000000000020c1a232c33383c3d3d3c38332c231a0c020000000000000000000000000000000000000000000000000000080e1317191a1a1917130e0800000000000000000000000000000000000000000004111d2935414c565d6069696969696967645c53483c434e585f6269696969696965625b51463a2e22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2b37424d5764717d8a97a1aa9d908377818e9baaa79b8e8174685d5245392c2013040000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facaa9c8f8276685e5246392a2025313b4855626e7b8895a0aca196897d7063554b4035291d10040000000004101d2935404b55697683909ca9aa9e918477675d5145382c1f13060000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8999a3afaa988b7e7265584b3f322518070000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000004101c2834404b55626f7c8895a0aca99b8e8175675d514539291e141a26313c4955626f7c8896a0aca2988a7e7164564d42362a1e11050000000000020e1a25303b47535f6a73808d95a0a8a9a1979288817c797674747476787b7f858d929790827d8996a3afa295897c6f6256493c2f2316090000020c151e252c3134353a46535e697884919ea194887b6e6155483b39393534302b251d150b010000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e141a1e24292c2d3033363738393939383634302d2c29231d1a24282b2c2d2d2d2d2d2d23221f1b160f070000000000000004101c2834404a545c606d727b81868a8d8f9191929292918f8d8a85807b726c655c6b78858686868686867c6f6256493c2f2316090000000613202c3945515d6773808d97a1ada69e91847a6d675f5853504a4e4e4b5153585f666d79839099a3ada2978d8174685e5246392d2014090000000000000000000000000000000000000008121c262e363b3f404646464646464642403d372f271d130900000000000000000000000000000000000000000009131c252c33373939393939393939393939393939393939393939393937332c251c130900000000020b141b22272b2d37393939393939393939393939393939393939372d2b27221b140b0200000000000000000000000000000008111a21272c2f30302f2c27211a11080000000000000000000000000000000000000000000000000000000002070a0d0d0d0d0a070200000000000000000000000000000000000000000000010d1924303a444c52545c5c5c5c5c5c5b58534a41363c464e53555c5c5c5c5c5c585651493f34291e1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c4653606d7984919eaba095887b85929faba095897c6f63564c4135291d1104000000000000000000000000000000000000000000000006131f2b37434e5865727f8b99a3aea2988b7e7164564c41362a18212e3a47535f6a7784919daaa89b8e8174675d5145392c1f140900000000000c18242f414e5b6874818e9ba7ac9f92867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99abaea298887b6f6255483c2f2215090000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000006131f2c3845515c6774808d9aa7ada1978a7d7063554b413529170d15212e3b47535f6a7784919eaaaa9c8f8276695e52463a2d20150a00000000000009141f2b37434e58606d79839096a0a8a9a19a938e8985828181818284888c91979992857b7c8996a2afa296897c6f6356493c30231609000000030c141b2025282a36424d576875828e9ba194887b6e6155483b2e2d282724201a130b03000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070a0d0f11121313131212100e0c090606030000000000000000000000000000000000000000000000000000000000070f181f262a2f35393a3d404344454646454443403d3a38342f2a252f3437383939393939392f2e2c27211910070000000000030e18212c3844515c666d757f878d9298999c9d9e9f9f9f9e9c9a98928d867f776d666679869293939393887b6e6255483b2f2215080000000714212d3a4754606d7a85929fa9aa9e94897d70685d554e46443f41414045464e545c676f7c87929faca99f92867a6e6154473c31261a0e020000000000000000000000000000000000020e19242e3840474c4d535353535353534e4d4841392f251a0f040000000000000000000000000000000000000000010a131b21272b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a010000000000020a11171b1f202a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a201f1b17110a020000000000000000000000000000000000080f161c2023232323201c160f08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a4145475050505050504e4c4841382f343c4347485050505050504c4a463f372d23180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2c3844505c6673808c99a4a79c8f828f97a2aa9d9084776b6054443a3024190d0100000000000000000000000000000000000000000000000815222e3b47545f6a7783909dabac9f92867a6d6054473b3025191e2b37424e576673808c99a8ab9f9285796d6053473b3025190e0200000000071925323f4c5865727f8b98aaafa399897c6f6356493c302316090000000000000000000000000000000000000000000000000000000006121e2b37424d576875828f9ba8ab9f9285796c605346392d2013060000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c000000000000000000000000000713202d3a4653606d7985929eabab9e9285796d6053463a2f241807131f2b37434e586773808d9aa8ac9f93877b6e6154473c32261b0f000000000000030f1a26313c45515c676e7b8491969fa4aca49f9b97928f8e8d8e8f9196999e9892877d707b8895a2aea396897c706356493d3023160a0000000002090f15191a25313f4c5965727f8c989f94887b6e6155483b2e221b1a18140f090100000000000713202d3a4653606d7986939f9f9f998d8073665a4d4033271a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10131416191c1d1f1f20201f1e1d1b191613120f0b0600000000000000000000000000000000000000000000000000030b1218212a31363a4145474a4d505152525352514f4d4a4745403936313a4044454646464646463c3b38322b22190f04000000000915202c38434f59606d78818c92999fa2aaa9a8aaa29f9e9e9e9fa29f98928c81786d6d798699a39f9f94877a6e6154473b2e211408000005111e2a36424d5765727f8b98a2aea99c8f82756b60564c433c38332d2e34383c424b555f6a74818e9ba8aea3988c7f7266574d42372b1e1205000000000000000000000000000000000007131f2b36404a52585a606060606060605b59534b41372c201408000000000000000000000000000000000000000000010910161b1e202020202020202020202020202020202020202020201e1b161009010000000000000000060b0f12131d2020202020202020202020202020202020201d13120f0b060000000000000000000000000000000000000000050b10141617171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000050a0d0f101313100f0d090500000000000000000000000000020c1620283035393a43434343434341403c362f262a32373b3c4343434343433f3e3a342d251b1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939fac9e948f949ea9a3988b7f7265594f4332281e1308000000000000000000000000000000000000000000000004101c2834404b55626f7c8895a0aca99b8e8175675d514539291e141a26313c4955626f7c8896a0aca2988a7e7164564d42362a1e1105000000000916222f3c4955626f7c8898a2aeab988c7f7265594c3f31261a0e020000000000000000000000000000000000000000000000000000000814212d3a47535f697885919eaba99c8f8276665b5044382b1f12060000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000005111e2a36424d5664717d8a97a2ada89a8d8174665c514438281d13070f1b26323c4956626f7c8996a1ada4998c7f7265584e43372b1c11060000000000000a15202934404b555e696e7b848e939a9fa3aba9a19e9c9b9a9b9c9ea09d9590867d706e7b8894abb5a396897d7063564a3d3023170a0000000000000409091623303c4956636f7c89999393887b6e6155483b2e2215080c0803000000000000000713202d3a4653606d798693939393938d8073665a4d4033271a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f12181c1f202326282a2b2c2c2c2c2b2a282523201f1c17110f0a03000000000000000000000000000000000000000000030c151c2328333b42464c5254575a5c5e5e5f5f5f5e5c5a5753514b46423b454c50525353535353534948433d342b21160a000000020e1a26313b4854606b74808d939fa3ababa49f9b979892919192939a989d9f938f82786d7a8794abb4a094877a6d6154473a2e21140700000714202d3a46525e697683909daaada196897d7063594f433a312b282223282c3039434e58626f7c8895a0acaa9d908477695f53463a2d21140700000000000000000000000000000000000b17232f3b47525c64676c6c6c6c6c6c6c68655d53483d3124180c0000000000000000000000000000000000000000000000050a0f1213131313131313131313131313131313131313131313120f0a0500000000000000000000000003050611131313131313131313131313131313131313110605030000000000000000000000000000000000000000000000000407090a0a0907040000000000000000000000000000000000000000000000000000000000000000000000000000030a11161a1c1d20201c1c1915100a02000000000000000000000000040e161e24292c2d3636363636363433302b251d20262b2e2f36363636363632312e29231b1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3846535e6975828f9ca8a69e9c9ea6ac9f92867a6d6054473d3221160c02000000000000000000000000000000000000000000000006131f2c3845515c6774808d9aa7ada1978a7d7063554b413529170d15212e3b47535f6a7784919eaaaa9c8f8276695e52463a2d20150a000000000713202d3a4653606d7985929faca89b8f827568574d42362a1e12050000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8897a1ada8998c7f7366544a3f33281c0f030000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000714202d3a46525e6975828f9ca9aca096897c6f63544a403428160c010a13202d394653606c7884919eabab9d9084776a5f5347382e23170c000000000000030c18232f39434d575e696e7981878f92999b9d9e9f9f9f9e9d9b9895908b837c706b6d7a8799a49f9f978a7d7064574a3d3124170a00000000000000000713202d3a4653606d7987868686867b6e6155483b2e221508000000000000000000000713202d3a4653606d78868686868686868073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161b1d23292c2d303335373839393939383635322f2d2b28221c1b150e0903000000000000000000000000000000000000000b151e272e343f454d53565d606366696a6b6c6c6c6b696763605c55534d444f575c5f60606060606056544e463d32271b0f03000006121e2b37424e57636f7c87939fa5afa9a199938f8a878584848586888c90959e948d80747b8794a1ada093877a6d6054473a2d21140700000814212e3b4754616e7b87959fabab9e9184786c6053463d31281f1c17181c1f27313c47535f6a7784919daaaca095887b6e6155483b2e22150600000000000000000000000000000000000d1926333f4c58646e7379797979797979756f65594d4034271b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d151c2226292a2d2d292825211b140c04000000000000000000000000040c13191d2021292929292929282724201a13151b1f21222929292929292525221e181109010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040906111c2a36424d5763707d8a96a1acaaa8aab0a79b8e8174685d5245392c20130f0c07010000000000000000000000000000000000000000000713202d3a4653606d7985929eabab9e9285796d6053463a2f241807131f2b37434e586773808d9aa8ac9f93877b6e6154473c32261b0f0000000006121f2b3844505c6676838f9ca9ab9e918578695f53463a2d211409000000000000000000000000000000000000000000000000000005121e2a36424d5766727f8c99a9aca096887c6f6255493c2d22170b000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000814212e3b4754616e7b86929facaa9e9184776b605442392e2318040005121f2b3744505b6574808d9aa9aca095887c6f62544a3f34281c100300000000000007121d27313b454d575e676d747c82868b8e909192929291908e8b88837e786f6a606c798693939393938a7e7164574b3e3124180b000000000000000006131f2c3845515c6775797979797976695f53463a2d2114070000000000000000000006121f2c3844505c667679797979797979736e63584b3f3226190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b151b21272c2f34383a3d40424445464646454543413f3c3938332d2b26201a150b06000000000000000000000000000000000007121c273039404451575f61686d7073767778797978777673706d67615e57505761686b6c6c6c6c6c6c6260584e43382c1f130700000814212e3a47535f6a76828f9aa4afaba1979287827d7a79787778797b7f838a9196928a7e7b8895a1ada093867a6d6053473a2d20140700000b1824313e4b5764717e8a97a7b1a79a8e8174665b5044382b1f160f0b0c10151f2b37434e586773808d9aa6b1a7988b7e7165584b3e2d22170b00000000000000000000000000000000010d1a2734404d5a677380868686868686868175685b4e4235281b0f0200000000000000000000000000000000000000000000000000000000000000060a0e1011131313131313100f0d0a0500000000000000000000000000000000000000000000000000000000060a0e1011131313131313100f0d0a05000000000000000000000000000005090d0f101313100f0d0a050000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f272d32353639393635322c261e160c0200000000000000000000000002080d1113141d1d1d1d1d1d1b1a18140f080a0f1215151d1d1d1d1d1d191816120d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f151a1d1a25313b4653606c7884919e9f9f9f9f9fa095897c6f63564c4135291d1e1c18130c050000000000000000000000000000000000000005111e2a36424d5664717d8a97a2ada89a8d8174665c514438281d13070f1b26323c4956626f7c8996a1ada4998c7f7265584e43372b1c110600000003101c28343f4a546673808c99a8ada197887b6e6155483b30251a0e02000000000000000000000000000000000000000000000000000714212d3a46535e697783909daaaa9e9184776a5f53473b2e1c1106000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c000000000000000000000007131f2c38434f5966727f8c99a3afa7998c807366594f4330271c120700030f1b27333f495363707c8997a1ada79a8d8074665c5044382c1f1206000000000000010b151f29333b454d555d606a6f757a7e8183858586858583817f7b77716d665f5b6678848686868686867f7265584c3f3225190c000000000000000004101c2834404b555c6a6c6c6c6c6c6c5f574d42372b1e12050000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c66635c52473b2f23170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a111720262b323839404547494c4f50525253535251504e4c4946443f3837312b262017110a020000000000000000000000000000000c18232e39424a515b63696e747a7d808384858586858482807d79746e69605b536873787979797979796f6a6054483b2e22150900000815222f3b4855626e7b88949facaea39992857d75716e686b6b666d6e72767d84909492857d8996a3aca09386796d6053463a2d20130700010e1b2834414e5b6774818e9aa7b4aa978a7e7164544a3f3328190d040000040d1b26323d4a5764707d8a97aab4a79b8e81746853493f33271b0f03000000000000000000000000000000010d1a2734404d5a6773808d93939393938e8175685b4e4235281b0f020000000000000000000000000000000000000000000000000000000000040b11161a1d1e2020202020201d1c1916100a03000000000000000000000000000000000000000000000000040b11161a1d1e2020202020201d1c1916100a0300000000000000000000020a1015191c1c20201d1c1a16110a030000000000000000000000000000000000000000000000000000000000000000000000000000000a151f2831383e4243464643413d3830281e140a0000000000000000000000000000010407071010101010100e0d0b08030000030608091010101010100c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121a20262a2c2d2b3844505b66737f8c999393939393939084776b6054443a30242c2b28241e170f070000000000000000000000000000000000000714202d3a46525e6975828f9ca9aca096897c6f63544a403428160c010a13202d394653606c7884919eabab9d9084776a5f5347382e23170c000000000b17232e3c4956626f7c8996a0aca9988c7f7265574d42362a1e1205000000000000000000000000000000000000000000000000000815212e3b4854616e7b87959faba8998c807366584e43372b1f0a00000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000915222f3b4854606b7784919d9f9f9f95887b6e6255483d3222150b0000000b17222d3a4653606d7985929e9f9f9e9185796d6053463a2d20130700000000000000030d172129333b434b51586062686e71747678797978787675726e6a64605c5454687278797979797979726d62564a3e3124180b0000000000000000000c18232e39434b51535f6060606055534d453c31261a0e0200000000000000000000000c17232e38424a505f606060606060605a58524a40362a1f130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b141c222832373d43484b515356595b5d5e5f5f5f5f5e5d5b585653504a47433c373127221b140b030000000000000000000000000004101c2834404a545c606d727b81868a8d8f9191929292918f8d8a85807b726c655c6b78858686868686867c6f6256493c2f23160900000d192633404c5966737f8c99a6b0ac9f92877c6f6b64615e56545c6062656c707a8290949083909daaaca09386796d6053463a2d2013070005111e2a36414c566a7683909da9aea298887b6e6155483b2d221708000000000a15212e3b4854616e7b8798a2aeaa9d908377655b5044372b1f1205000000000000000000000000000000010d1a2734404d5a6773808d9a9f9f9f9b8e8175685b4e4235281b0f0200000000000000000000000000000000000000000000000000000000050d151c2227292a2d2d2d2d2d2d292926211c150d0400000000000000000000000000000000000000000000050d151c2227292a2d2d2d2d2d2d292926211c150d040000000000000000040c141b212528292d2d2a2926221c150d040000000000000000000000000000000000000000000000000000000000000000000000000005111c27313a434a4e5053534f4e49423a30261b1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b242b3236393939333f4a54616e7a8786868686868686867f7265594f433239393837342f2921190f0500000000000000000000000000000000000814212e3b4754616e7b86929facaa9e9184776b605442392e2318040005121f2b3744505b6574808d9aa9aca095887c6f62544a3f34281c10030000000615222e3b4754606a7784919eaaa99d908376695e52463a2d20150a00000000000000000000000000000000000000000000000006131f2b37434e5865727f8c98a7aca095887c6f6255483c32261b0f00000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000091623303c4956636f7c8996939393939083776a5f53473a2e211417110b0b10121f2b3844505c6674818e93939393978a7d7063574a3d3024170a0000000000000000050f172129313a40454e54565e6164686a6b6c6c6c6b6a6865625f5753504a5660686b6c6c6c6c6c6c65625b51463a2e22160900000000000000000007121d27303940454653535353534846423c332a1f140900000000000000000000000006111c2630383f4453535353535353534d4b4740382e24190e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161d262d333c43474f54555c606366686a6b6c6c6c6c6b69686562605b54534e47423c332d261d150d030000000000000000000000030e18212c3844515c666d757f878d9298999c9d9e9f9f9f9e9c9a98928d867f776d666679869293939393887b6e6255483b2f2215080005111e2a36424d576976838f9ca9b1a79a8d80736a605954524c4a5053555a61676d798290959095a0abaca09386796d6053463a2d201307000713202d3946525e687885929fabac9f9285796c605346392d201306000000000714212d3a46535e697985929facac9f9285796c605346392d201306000000000000000000000000000000010d1a2734404d5a6773808d9aa6aca89b8e8175685b4e4235281b0f02000000000000000000000000000000000000000000000000000000040d171f272e3336373939393939393635322d261f160d030000000000000000000000000000000000000000040d171f272e3336373939393939393635322d261f160d03000000000000020c161e262c32353639393635322d271f160d030000000000000000000000000000000000000000000000000000000000000000000000000a16222d38434c545a5d60605c5a544c42382c211509000000000000000000000000000000000000030608090b0d0f1112121313121211100e0c0a070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f1a242d363d42454646464646525e686e797979797979797979726d625647454646464544403a332b21170c0100000000000000000000000000000007131f2c38434f5966727f8c99a3afa7998c807366594f4330271c120706040f1b27333f495363707c8997a1ada79a8d8074665c5044382c1f120600000006131f2b37434e586673808d99a8ac9f93877b6e6154483c31261b0f0200000000000000000000000000000000000000000000020c15212e3b47535f6a7683909da9aa9d9184776a5f53473a2a20150a00000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000e1b2834414e5b677481868686868686867f7265574e42372b2a27221d16161b202228343f4a5463707d868686868686868175685b4f4235281c0f000000000000000000050f171f282f353d43474c5254585b5d5e5f5f5f5e5d5b5855534e46443f4e565c5e606060606060585651493f34291e1206000000000000000000000b151e272e34383a46464646463b3a37312a21180e03000000000000000000000000000a151e262e34384646464646464646403f3b362e261c1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c161f282f383f444e54596063676d707375777879797978787674726f6c66625f58534d443f382f271f150d03000000000000000000000915202c38434f59606d78818c92999fa2aaa9a8aaa29f9e9e9e9fa29f98928c81786d6d798699a39f9f94877a6e6154473b2e211408000714202d3a46525e697885929fabaca095877b6e61584f4746413f44464850555d676e7b85929da0a7b1aca09386796d6053463a2d201307000714212e3a4754616d7a8798a2aeaa9d918477665b5044382b1f12060000000005121e2a36424d576a7784919daaaea298877a6e6154473b2e211408000000000000000000000000000000010d1a2734404d5a6773808d9aa6aca89b8e8175685b4e4235281b0f020000000000000000000000000000000000000000000000000000000b151f2931393f424446464646464643423e3831281f150a00000000000000000000000000000000000000000b151f2931393f424446464646464643423e3831281f150a0000000000000a141e2830383d4143464643423e3831281f150a0000000000000000000000000000000000000000000000000000000000000000000000010d1a26323e4a545e66696c6c69665e54493d3225190d00000000000000000000000000000003070a0f121515181a1c1e1e1f1f201f1f1e1d1b19161413110d08040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915202b363f484e5253535353514d565e616c6c6c6c6c6c6c6c6c65625b514b5253535352504c453d33291e13070000000000000000000000000000000915222f3b4854606b7784919d9f9f9f95887b6e6255483d3222151b1313100c17222d3a4653606d7985929e9f9f9e9185796d6053463a2d201307000000030f1b27323d4955626f7c8896a0aca49a8b7f7265584e43372b1e13080000000000000000000000000000000000000000000008131e2a36414c56626f7c88959faba2988c7f7265584e43372b1f120600000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000d1a2733404c59646f7479797979797979726d6256453c313736332e272021272c2f302e384855616b7079797979797979756f65594d4034271b0e00000000000000000000050d161d242932373b4146474b4e505252535252504e4c4847423c3834454b50515353535353534c4a463f372d23180d0100000000000000000000030c151d23282c2d39393939392e2d2b261f180f060000000000000000000000000000030c151c23282c393939393939393933322f2a241c140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e283139424a50585f626b6f75797d7f828385858686858483817f7c79746f6a625f575049413931271f150b010000000000000000020e1a26313b4854606b74808d939fa3ababa49f9b979892919192939a989d9f938f82786d7a8794abb4a094877a6d6154473a2e211407000814212e3b4754616e7b8798a2aeaa9d908377695e53463d393634383a3e434c555e69717e8b97a1adb9aca09386796d6053463a2d201307000915222f3c4855626f7b8895aab4a99c8f837669544a3f33281c0f0300000000020e1a2531434f5c6976828f9ca9b4aa95887b6f6255483c2f221509000000000000000000000000000000010d1a2734404d5a6773808d9a9f9f9f9b8e8175685b4e4235281b0f02000000000000000000000000000000000000000000000000000006111c27313b434a4f51535353535353504e49423a31261c100500000000000000000000000000000000000006111c27313b434a4f51535353535353504e49423a31261c10050000000005101b26303a42494e4f5353504e4a433a31271c110500000000000000000000000000000000000000000000000000000000000000000000030f1c2935424e5a66707679797670665a4e4135281c0f00000000000000000000000000040a0f13151b1f21222527292a2b2c2c2d2c2b2b2a28262321201d1913100c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a26323d4851595e606060605e575552545f606060606060606058565053585f6060605f5c574f453a2f24180c000000000000000000000000000000091623303c4956636f7c8996939393939083776a5f53473a2e2d2d28201f1c18121f2b3844505c6674818e93939393978a7d7063574a3d3024170a000000000a15212e3b47535f6a7784919daaac9c9083766a5f53473a3025190d010000000000000000000000000000000000000000010d1924303946525e6874818e9aa7aa9f92857a6d6054473c31261b0f0300000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000b1824303c48535d64676c6c6c6c6c6c6c65625b5146464644433f3932292b32383b3d4646444f5961636c6c6c6c6c6c6c68655d53483d3125180c0000000000000000000000040c131820272b3036393b3e4143454646454543423f3b3a37312c283a4043454646464646463f3e3a342d251b1106000000000000000000000000030b12181c1f202c2d2d2d2d22211e1a140e0600000000000000000000000000000000030a11171c1f2d2d2d2d2d2d2d2d2726231f19120a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d273039434b545b606a6f767c8185898c8e90919292929291908e8b8985817c756e69605b534b433931271d1207000000000000000006121e2b37424e57636f7c87939fa5afa9a199938f8a878584848586888c90959e948d80747b8794a1ada093877a6d6054473a2d21140700091623303c4956636f7c8996aab4a79a8e817467574d42342d2a282b2d313a434d57606d7985929eabb8aca09386796d6053463a2d201307000a1723303d4a5663707d8996a3b0a89b8e8275685b4f422d22170b000000000000091c2835424f5b6875828e9ba8b0a396897d7063564a3d3023170a000000000000000000000000000000010d1a2734404d5a6773808d93939393938e8175685b4e4235281b0f0200000000000000000000000000000000000000000000000000000a16222e39434d555b5d6060606060605c5a544c42382d21160a0000000000000000000000000000000000000a16222e39434d555b5d6060606060605c5a544c42382d21160a000000000915212c38424c545a5c60605d5a544c43382d22160a0000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d69768286868276695c4f4336291c100000000000000000000000040b10161b1f22262b2e2f3233353738383939393837373532302d2c29241f1d18120b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2a36424e59636b6c6c6c6c6b64615a534d53535353535353534d535b60656c6c6c6c6b6861574c4034281c0f0300000000000000000000000000000e1b2834414e5b677481868686868686867f7265574e4237393939352d2c28231d1c28343f4a5463707d868686868686868175685b4f4235281c0f0000000006131f2b37434e5865727f8c98a2ab9f94887c6f62564c4135291e1308000000000000000000000000000000000000000005111d2935414c56616e7a86929faca3988d8074685d5245392a20150a0000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000814202b36414a53595b6060606060606059565153535353514f4a443b32353d444849535353534f5557606060606060605b59534b41372c20140800000000000000000000000001070d151b1e252a2d2e31353738393939383735322f2e2b261f282f34373839393939393932312e29231b1309000000000000000000000000000000070c10131320202020201514120e090300000000000000000000000000000000000000060c101220202020202020201a1917130e0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18232e39434b555d666c737c83898e9298999b9d9e9f9f9f9f9e9c9b9897918d88827b736c655d554b43392f24180e05000000000000000814212e3a47535f6a76828f9aa4afaba1979287827d7a79787778797b7f838a9196928a7e7b8895a1ada093867a6d6053473a2d201407000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f31261e1c1f2028313b45515c6673808d99aab4aca09386796d6053463a2d201307000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b060000000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a000000000000000000000000000000010d1a2734404d5a677380868686868686868175685b4e4235281b0f0200000000000000000000000000000000000000000000000000010e1a27333f4a555f676a6c6c6c6c6c6c69665e54493e3226190d0100000000000000000000000000000000010e1a27333f4a555f676a6c6c6c6c6c6c69665e54493e3226190d010000000d1925323d49545e66696c6c69665e544a3e32261a0d0100000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000000000000000000060c161b21272c2f31373a3c3e4042444545464645454443413f3d3a39352f2c29241d17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945525e6b757979797978706c615f57514b434646424b51575f656c71787979797873685c5044372b1e110500000000000000000000000000000d1a2733404c59646f7479797979797979726d6256453c45464646413a38342e271e232e384855616b7079797979797979756f65594d4034271b0e00000000030f1b26323c4754606d7a86929faaa69a8d8174685e52463a2f24190d02000000000000000000000000000000000000040d1a232d3946525d6873808d98a3aa9f92867b6e61564c413529180e040000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0807050200000000000000030f1a252f3841484c4e53535353534c525f6060606060605d5b554d44393d474f54566060606060605a585353535353534f4d4841392f251a0f040000000000000000000000000000040a0f14191e202125282a2b2c2c2c2b2a282522211e1a151d23272a2b2d2d2d2d2d2d2524221e1811090100000000000000000000000000000000000406071313131313080705020000000000000000000000000000000000000000000000030613131313131313130d0c0a070200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2834404b555d676d78808790949b9fa2a9a29e9c9b9a9a9b9d9fa3a9a19e9a948f877f776d675d554b40352920170d020000000000000815222f3b4855626e7b88949facaea39992857d75716e686b6b666d6e72767d84909492857d8996a3aca09386796d6053463a2d201307000b1824313e4b5764717e8a97a4b0a4978a7d7164574a3e3124171012161f2834404b54626f7c8998a3aeaca09386796d6053463a2d201307000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b0a4978a7d7164574a3e3124170b000000000000000000000000000000000d1926333f4c58646e7379797979797979756f65594d4034271b0e010000000000000000000000000000000000000000000000000003101d2936424f5b6771777979797979797670665a4e4235291c0f030000000000000000000000000000000003101d2936424f5b6771777979797979797670665a4e4235291c0f030000000f1c2835414e5a66707679797670665a4e4235291c0f0300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000000000000030a111721272c32383b3c4347484b4d4f5151525253525251504e4c494745413a39352f28221c140b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7987868686847d756e69605c554f46454f545c60696e777e8586868685786b5f5245382c1f120500000000000000000000000000000b1824303c48535d64676c6c6c6c6c6c6c65625b514c50525353534e464540393029202c38444f5961636c6c6c6c6c6c6c68655d53483d3125180c00000000000a15202c3945525d6874808d98a3ac9f92867a6d61564c4135291f14090000000000000000000000000000000000010c161f2a36424d57616d7a85929faaa2988d8074695e52433a2f241906000000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f332619191514120e090300000000000008131d262f363c4041464646414c565e6c6c6c6c6c6c6c6a675f554a3f444f5960636c6c6c6c6c6c67645c534846464642403d372f271e1309000000000000000000000000000000000002080e111414181b1d1f1f201f1f1d1b191514120e0912171b1e1e202020202020191816120d060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313a45515c676d79828d92999fa6a39f9a97928f8e8d8e8e9092989b9fa3a69e99928c82796d675d51453f32291e14080000000000000d192633404c5966737f8c99a6b0ac9f92877c6f6b64615e56545c6062656c707a8290949083909daaaca09386796d6053463a2d201307000b1825313e4b5864717e8b97a4b0a396897d7063564a3d3023170a060d18232e3a4653606d7986929facaca09386796d6053463a2d201307000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e0100000000010e1a2734414d5a6774808d9aa7b1a4978b7e7164584b3e3125180b000000000000000000000000000000000b17232f3b47525c64676c6c6c6c6c6c6c68655d53483d3124180c000000000000000000000000000000000000000000000000000004111e2a3744515d6a77838686868686868276695c504336291d10030000000000000000000000000000000004111e2a3744515d6a77838686868686868276695c504336291d1003000000101c2936434f5c69768286868276695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000000000000030c151c232832383d4348494e5355585a5c5d5e5f5f605f5e5e5d5b595654514c47454039332d261d181008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e889396918a827b736d67615953525960666d737b828b929792877e7064574a3d3124170a0000000000000000000000000000000814202b36414a53595b606060606060605956514f575d5f6060605b53514b423a322a28333e474f5557606060606060605b59534b41372c201408000000000004111d2935414c56616e7b86929faaa2988c8073685d52453b30251a0d030000000000000000000000000000000007121d28313946535e6973808d98a2a89f92857a6d61564d4231281e1308000000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326252522211e1a140e060000000000010b141d252b30333439393946525e68767979797979797771675b4f434854606b70797979797979746e64584c4039393534312c251e150c0200000000000000000000000000000000000000020507080b0e101213131212100f0c0808060200070b0f11121313131313130c0b09060100000000000000000000000000000000000000000000000000000000050a0d0f101313100f0d0a0500000000000000000000000000000000000000000000000000000000000000000000020608080b0e1011121313121211100d0b080705020000000000000000000000000000000000000000000000010d19242f3a43505a606d79828f949fa3a7a099928e898583818181828386898e92999fa7a39f948f82796d605b51443b3025190e020000000005111e2a36424d576976838f9ca9b1a79a8d80736a605954524c4a5053555a61676d798290959095a0abaca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa296897c6f6356493c302316090007131f2c3845515c667683909da9aca09386796d6053463a2d201307000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b0000000000000000000000000000000007131f2b36404a52585a606060606060605b59534b41372c201408000000000000000000000000000000000000000000000000000004111e2a3744515d6a778490939393938f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a778490939393938f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000000000000030d151e262e343d44484f5456585f626566686a6b6b6c6c6c6b6a6a686563605d5553514b443f382f2a221a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4956626c717f8b919e948f868079706b615f5d606b6f797f868f949f93887e716c6155493c3023160a000000000000000000000000000000030f1a252f3841484c4e535353535353534c4a4c5761696b6c6c6c68605c544c443c342c2c353e44484a535353535353534f4d4841392f251a0f040000000000010d19242f3a46525e6974808d98a2aa9f92857a6d60574d42362a1f150b010000000000000000000000000000050e18242f39434f59616e7b86929faaa0968c7f72685e52443b301f160c01000000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f333232322e2d2a261f180f060000000000020b131a202427282d2e3b4754616e7a86868686868683776a5d5144495663707d8686868686868074675a4e41342d282725201a130c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11161a1c1d20201d1c1a16110a0300000000000000000000000000000000000000000000000000000000000205090e121415181b1d1e1f20201f1f1e1c1a181514120e090502000000000000000000000000000000000000000004111d2935414c56616c74818e949ea6a69f959087817c79767474747577797d818790959ea5a69e948e81756d62564c41362a1e1408000000000714202d3a46525e697885929fabaca095877b6e61584f4746413f44464850555d676e7b85929da0a7b1aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f2316090004101c2834404b546875828f9ba8aca09386796d6053463a2d201307000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b0e0100000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a00000000000000000000000000000000020e19242e3840474c4d535353535353534e4d4841392f251a0f04000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909d9f9f9c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909d9f9f9c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000000020b151f2730383f444f54596063676a6f7173757778787979787877767472706d6764605d55504a423c342c231a100700000000000000000000000000000000000000000000000000000000000000000000000000000000000815212d3945505a626d727f8b919c98928c847d756e69686d747c838c92989c918b7f726c625a5044392d2014080000000000000000000000000000000008131d262f363c4041464646464646463f44505d697378797979746d665e564e463e35282c33383c3d4646464646464642403d372f271e13090000000000000008131e2a36424d57616d7a85929fa8a2978d8073695e52463d31271d120700000000000000000000000000020b17202935404b55606b75828f98a3a59d9184796d60564c4132291f0d0400000000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3f3f3f3f3b3a36312a21180e03000000000001080f14181a1b212e3b4754616e7a87939393939084776a5d5144495663707c89939393938d8174675a4e4134271c1b18140f090200000000000000000000000000000000000000000000020507080b0e111112131312110f0c0908060300000000000000000406070b0f1213131211100e0c0b09060100000000000000000000000000000000040d151c2226292a2d2d2a2926221c150d04000000000000000000000000000000000000000000000000000002080e11151a1e21222528292b2c2c2c2c2b2b29272522211e1a14120e09020000000000000000000000000000000000000613202c3945525d68717e8a939da6a89f948f837c746f6c6668676768666d70757c838f939ea7a69e938b7f72685e52463b3025190d010000000814212e3b4754616e7b8798a2aeaa9d908377695e53463d393634383a3e434c555e69717e8b97a1adb9aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000c18232e414e5b6874818e9ba7aca09386796d6053463a2d201307000a1723303d4a5663707d8996a3b0a89b8e8175685b4e4235281b090000000000020f1b2835424e5b6875818e9ba8b0a3968a7d7063574a3d3024170a00000000000000000000000000000000020e1a26313c454e53556060606060606055534e463c31261b0f03000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000000000a141d273139424a505960636b6f74787b7e8082848485858685858483817f7c7a75716d67605b544e463e352c23190d040000000000000000000000000000000000000000000000000000000000000000000000000000000005111d29343e48505a626d727f8c929c9f96918a827b73717a818891959f9d928c7f736d625a50483e33281c100400000000000000000000000000000000010b141d252b303334393939393939393845525f6b788586868681786d685f584f473f342e272c2f30393939393939393534312c251e150c0200000000000000010e1a25303b46525e68727f8c96a0a99f92867b6e61594f43392f24180e040000000000000000000000000a141d29323a45515d67707d89939ea89d93897d70675c51443a3020170d0000000000000000111e2b3744515e6a7784919daaa5998c7f7266594c4c4c4c4c4c4846423b332a1f14090000000000000003080b0814212e3b4754616e7a87949f9f9d9084776a5d5144495663707c89969f9f9a8d8174675a4e4134271b0e0c08040000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191515120f0a0401000000070c101313181c1e1f201f1e1d1b181815120d060000000000000000000000000000030d161f272d32353639393635322d271f160d03000000000000000000000000000000000000000000000002080d14191e20262b2e2f323436383939393938373634322e2d2b26201e1a140e090200000000000000000000000000000004111d2935414c55606d7a85929ea5aca0968f82796e6a62605b545a5b545c60636a6e78818f959faba59f92857a6e61564c41362a1e1105000000091623303c4956636f7c8996aab4a79a8e817467574d42342d2a282b2d313a434d57606d7985929eabb8aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f2316090000071a2734404d5a6773808d9aa6aca09386796d6053463a2d201307000916222f3c4955626f7c8895aab4a99c8f8276695c4f4330251a0e0200000000030f1c2936424f5c6975828f9ca8b5ab95897c6f6256493c2f2316090000000000000000000000000000000006121e2b37424e575f6c6c6c6c6c6c6c6c625f584e43372b1f1206000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000006111b262f39434b545c606b70767c8184888b8d8f9091929293929191908e8c8986827e79716c665f584f473e352b1f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000c17222d363f48515b636d737f8c929ca09e948f867f7d848d939aa09d938d80736d635b51483e362c22170b000000000000000000000000000000000000020b131a202427282d2d2d2d2d2d2d323f4c5965727f8c93938e827a6f6a615951444039302823242d2d2d2d2d2d2d282725201a130c0300000000000000000009141f2a36414c56606d7984919da5a2988e81756b60554b40352920160b020000000000000000000006111c262f3a444f59606d7984919ea5a1968e81746b60554b4032291e0e050000000000000000111e2b3744515e6a7784919daaa5998c7f72665958585858585855534d453b31261a0e020000000000000000000814212e3b4754616e7a8794a1aa9d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000040a0f141a1e212125282a2b2c2c2c2b2a282622211f1b15110d08030b12181c1f2025292b2c2c2c2b2a272524221d181109010000000000000000000000000a151f2831383e4243464643423e3831281f150a00000000000000000000000000000000000000000000040c13191f252a2d31373a3b3e41434445464645454443403e3b3a37312d2a251f1a140d0500000000000000000000000000000613202c3945515d6773808d97a1ada69e91847a6d675f5853504a4e4e4b5153585f666d79839099a3ada2978d8174685e5246392d2014090000000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f31261e1c1f2028313b45515c6673808d99aab4aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000814212e3b4754616e7b8798a3aeaa9d9084776a574d42362a1e12050000000005111d2935414c566a7783909daaafa399877b6e6154483b2e211508000000000000000000000000000000000814212e3a47535f6a7679797979797979766a5f53473a2e211508000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000000000b17222d38414b555c666d737d82898e919698999b9d9e9e9f9f9f9e9d9d9b9898928f8a857e786f6a61594f473d31281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000006101b242d363f49515b636d73808d929da49e98928c8a91969fa49e938e81746e645b51493f362d241a10050000000000000000000000000000000000000001080f14181a1b20202020202025313e4a56626d75818f969490847c706b625b514a423a322a21192020202020201c1b18140f090200000000000000000000020d1925303a45515c67707d89939da89e93897d70675d51453d32281d140a000000000000000000071017222d38424c56606b74808d96a0a3999184796d60594f43392e20170d000000000000000000111e2b3744515e6a7784919daaa5998c7f726665656565656565615f574d42362a1e12050000000000000000000814212e3b4754616e7a8794a1a99d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000060c161b1f252a2d2e31343738393939383735322f2e2b26201d19130c151d23282c2d32353839393838363432312e29231b1309000000000000000000000005111c27313a434a4e505353504e4a433a31271c11050000000000000000000000000000000000000000080e161e25293036393c4247484b4e50515253535252514f4d4b4846423c3a36302a251f170f08000000000000000000000000000714212d3a4754606d7a85929fa9aa9e94897d70685d554e46443f41414045464e545c676f7c87929faca99f92867a6e6154473c31261a0e0200000b1824313e4b5764717e8a97a4b0a4978a7d7164574a3e3124171012161f2834404b54626f7c8998a3aeaca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000713202d3a4653606d7986929facab9f928578695e52463a2d201407000000000713202d3946525d687885929eabac9f9286796d6053463a2d201307000000000000000000000000000000000815222f3b4855626e7b868686868686867c6f6255483c2f22140a000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000000030f1b27333f49535c676d7880888f949a9ea1a8a6a9a19e9d9d9c9d9d9ea1a9aaa39f9b97918b837c706b61594f433a2f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000000009121b242d373f49525b636e74808d929da5a39f99979ea1a69e948e81786c605c524940372d241b11080000000000000000000000000000000000000000000003080b0d0e131313131316222e3a46515b606d7a8491989691867d726d605c544c443c332b2317110a1313130f0e0c08040000000000000000000000000008131e2834404b55606b74818e96a1a59d9184796d60594f443a2f261b110600000000000000060f192228333f4a545e68707d88939fa69f92877d6f675d51473d30271d0e05000000000000000000111e2b3744515e6a7784919daaa5998c7f7272727272727272726e695f53463a2d2114070000000000000000000814212e3b4754616e7a87949c9c9c9084776a5d5144495663707c89969c9c9a8d8174675a4e4134271b0e0100000000000000000000000000000000000000030a111720272b31363a3b3e4144444546464544423f3c3b37322c29241e191e272e34383a3e42454646454443413f3d3a342d251b1106000000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a000000000000000000000000000000000000020a121a202830353b4146474e5355585b5c5e5f5f5f5f5e5e5c5a5855534d4846423b363029211a120a020000000000000000000005111e2a36424d5765727f8b98a2aea99c8f82756b60564c433c38332d2e34383c424b555f6a74818e9ba8aea3988c7f7266574d42372b1e120500000b1825313e4b5864717e8b97a4b0a396897d7063564a3d3023170a060d18232e3a4653606d7986929facaca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070006121f2b3844505c667784909daaaea298877b6e6154483b2e21150a000000000714212e3a4754616d7a8797a1adaa9e918477665c5145382c1f1306000000000000000000000000000000000714212d3a4754606d7a879893939393897d7063564a3d2f261b11060000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000005121f2b3744505b656d79828d939a9fa6a7a09d999697929090909090929795999da0a7a19e9590867d706b60564c4135291d1307000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b252d374049525c646e74808d939da59f9f9f9fa79f948f82786d665b504a40372e251b1209000000000000000000000000000000000000000000000000000001010606060606121e29353f45525d686f7c86929f9892877f746d665d564d453d3528231c140c0300020100000000000000000000000000000000020c18232e39434f59606d79849199a3a0968d80736b60564c41382d221710070000000000030d18212b343d44505b666d7a85919aa49e948c7f726b60554b41352b1e150b00000000000000000000111e2b3744515e6a7784919daaa89b8f817f7f7f7f7f7f7f7f7f7b6e6155483b2e2215080000000000000000000814212e3b4754616e7a878f8f8f8f8f84776a5d5144495663707c898f8f8f8f8d8174675a4e4134271b0e01000000000000000000000000000000000000030c151c232832373b4246484b4e505152535252504e4c4847433c39352f28222b30394045464b4f5152535251504e4b4a463f372d23180d010000000000000000010d1a26323e4a545e66696c6c69665e544a3e32261a0d0100000000000000000000000000000000020b141c242c323a41464d5254575f626567696b6c6c6c6c6b6a696765615f5754524d46423b332c241c140a020000000000000000000714202d3a46525e697683909daaada196897d7063594f433a312b282223282c3039434e58626f7c8895a0acaa9d908477695f53463a2d21140700000b1825323e4b5865717e8b98a4afa296897c6f6356493c302316090007131f2c3845515c667683909da9aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070003101c28343f4a546875818e9ba8b3aa978a7d7064574a3d32271b0d04000001081623303d495663707c8996a9b3a89c8f827569544b4034281c1004000000000000000000000000000000000613202c3945525d687985929f9f9f998c7f7366584e41382d2217110a02000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000005111e2a36414c56606c77818e949fa4a7a09d95908c89878584838383848587898c90959ea1a7a09892867d6f685d52453a2f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000009131c252e37404a525c606c77818e93939393939393959082796d665c544a3f382e251c1309000000000000000000000000000000000000000000000000000000000000000000010d18232935414c565f6a727e8b939e99938c81786d685f574f473f342e261e150c030000000000000000000000000000000000000007121d27303d45515d676f7d87929fa69f93877d6f685e53493f332722190f060000000009141f29333d46505a606c78828f97a1a0958f82776c60594f433a2f23190c0300000000000000000000111e2b3744515e6a7784919daaaa9e938f8b8b8b8b8b8b8b8b8a7d7164574a3e3124170b0000000000000000000714212d3a4754606d7a8283838383838174675b4e414855626f7c8283838383827f7265584c3f3225190c000000000000000000000000000000000000030d151e262e343d43474d5354585b5d5e5f5f5f5e5d5b5955534e4745413a3129343c424b5153585c5e5f5f5f5e5d5a585651493f34291d12060000000000000000030f1c2935424e5a66707679797670665a4e4235291c0f03000000000000000000000000000000010b141d262e363e444c52565e61666a6e717476777879797878777673716e6966615e57524d453e362e261c140a0000000000000000000814212e3b4754616e7b87959fabab9e9184786c6053463d31281f1c17181c1f27313c47535f6a7784919daaaca095887b6e6155483b2e22150600000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f2316090004101c2834404b546875828f9ba8aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000b17232e3f4b5865727e8b98a8b2a69a8d807367584e43372b1f15100c090e131e2a36414c5666727f8c99a5b3aa998c7f7366594c402e23180c000000000000000000000000000000000004111d2935414c566976838f9caca99d9083766a6053493f3327221b140b040000000000000000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000713202d3946525e68727f8c939ea6a59d959089837f7c7a787776767677787a7c7f838a9297a1a9a29891847a6d60554b4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c252e384044505b656c7881868686868686868683796d675d544a42382d261c130a0100000000000000000000000000000000000000000000000000000000000000000000070d19242f3a434e58626d75818e95a09f928e827a6e69605951443f3830271e150b00000000000000000000000000000000000000000b151e2935414b55606b727f8c949ea49991847a6d655b50443e342b21180d030000020e1a26313b454e58616c73808d949ea19791837a6d655b50473d31281d11070000000000000000000000111e2b3744515e6a7784919daab0a69e9b98989898989898978a7d7164574a3e3124170b0000000000000000000713202c3945525d686d767676767676746f64584c4047535f6a6f767676767676726d62564a3e3125180b0000000000000000000000000000000000010b151f2730383f444e54575e6164676a6b6c6c6c6b6a6865625f5854524c433f353c464e545c6065686b6c6c6b6b696765625b51463a2e221509000000000000000003101d2a3643505d69768286868276695d5043362a1d100300000000000000000000000000000009131d262f38404850565e61686e73777b7e81838485868685858482807e7b77736e69615e57504840382e261c130900000000000000000b1824313e4b5764717e8a97a7b1a79a8e8174665b5044382b1f160f0b0c10151f2b37434e586773808d9aa6b1a7988b7e7165584b3e2d22170b00000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000c18232e414e5b6874818e9ba7aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000615222f3c4855626f7b8896a0acaa9d9184776a6054473c31271f1c181b1a1e242d3946525e6876838f9ca9aea298897c706356493d302316070000000000000000000000000000000000010d19242f3f4c5966727f8c9aa4ab9f95897c6f655b50443e332d261d160e0600000000000000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100004101c2834404a54616d7a85929fa5a69d938e837d77736f6d686a6a696a6a676d6f73787e859196a1aaa1968d8073675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c2627333f49535b666c757979797979797979776d675d554b42392f261c140a0100000000000000000000000000000000000000000000000000000000000000000000000008131e28313c46515b606d79839198a29d948f847b706b625b504a423930271d120700000000000000000000000000000000000000030c18242f3a434f59606c77828f95a0a1968f82776c605a50463d33291f1409000005121e2a36424d57606a717e8a929ca29892857b6e685d53493f352b1f160c000000000000000000000000111e2b3744515e6a7784919d9f9f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b00000000000000000004111d2935414c565d6069696969696967645c53483c434e585f6269696969696965625b51463a2e221609000000000000000000000000000000000007121d273139424a50586062696e71747777787979787775726f6a66605d56504540454e5860666d717578797978777674726d62564a3d3124180b000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000007101b252f38404a525a61686d747b8084888b8e8f919292929291918f8d8b8884807b746e69615a524a40382e251b0f06000000000000010e1b2834414e5b6774818e9aa7b4aa978a7e7164544a3f3328190d040000040d1b26323d4a5764707d8a97aab4a79b8e81746853493f33271b0f03000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f2316090000071a2734404d5a6773808d9aa6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000815212e3a47535f6a7784919eabaca095887c6f62584e4339312c282327262b2f35414c56616d7a86929facab9f9285796d6053463a2d2013070000000000000000000000000000000000000815222f3b4855626e7b87939faba79c9082776c605a50443f382f282017110a020000000000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100006121f2c3844515c6674808d98a2aa9e948e8179706b6663605d565d5d5d555d6062656c717b84919ea8a99f92857a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a1417222d38414a545b60686c6c6c6c6c6c6c6c6a605d554c433930271d140a0200000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343f45515d676e7c86929fa59f9691857d726d605c544b42392e23180c000000000000000000000000000000000000000007131d28313d44505b656d7a839197a19e948c80736c61584e453b31261a0e02000714212d3a46535f696f7c869293939992867c6f695f564c41382d23190d04000000000000000000000000111e2b3744515e6a77849193939393939393939393939393938a7d7164574a3e3124170b000000000000000000010d1924303a444c52545c5c5c5c5c5c5b58534a41363c464e53555c5c5c5c5c5c585651493f34291e120600000000000000000000000000000000020c18242f39434b545c606a6f757b7e8183848586858583817f7c78726d68625a514b4d57606a6f797e82848586858483817f7265584b3f3225180c000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000030c19222d37404a525c636c717a81868c9196989a9c9e9f9f9f9f9e9d9c9a9895918d86817b716c645c524a40372d21180e03000000000005111e2a36414c566a7683909da9aea298887b6e6155483b2d221708000000000a15212e3b4854616e7b8798a2aeaa9d908377655b5044372b1f1205000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000006121f2b37434e586673808d99a3afa89b8e81756a5f554b433c38342e3431373a4145525d68737f8c99a3afa79b8e8175675c5145382c1f13060000000000000000000000000000000000000814212e3a47535f6975828f99a3ab9f948c7f726c615a5049413a3227221b140b0400000000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000713202d3a4653606d7885929fa9a2988f82786d6760595654524c5050504c5154535b6069707d8a96a0aca2988a7e7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f38424a50535b60606060606060605d54514c433a31271e150b02000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222935404b555f6a717e8a939da7a09792877f746d665c544b4034281c100400000000000000000000000000000000000000010c161f27333f49535d686e7b859298a29f93887e706a60574d42362a1e1205000815222e3b4855616e7b858686868686867d706a60574d433a2f261b110700000000000000000000000000111e2b3744515e6a7784868686868686868686868686868686867d7164574a3e3124170b0000000000000000000008131e28323a4145475050505050504e4c4841382f343c4347485050505050504c4a463f372d23180d01000000000000000000000000000000000a141e2935404b555d666d747c82878b8e909192929291908e8c88847f7a716d605d55535f696f7c848b8f9192929291908d86796c605346392d2013000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000a151e2b343f49525c646e737e858d92999da0a8a9a29f9d9c9b9c9d9fa2aaa7a09d99928e857e736e645c52493f332a1f140900000000000713202d3946525e687885929fabac9f9285796c605346392d201306000000000714212d3a46535e697985929facac9f9285796c605346392d201306000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000030f1a26313c4854616e7b87929faaac9f92877c6f675d554e46454041414142474c515b606d7a85929eabaca095897d7063554b4034281c100400000000000000000000000000000000000006121e2b37424d57626f7c87929fa7a69f93877e716c605b534c443d332d261d160e06000000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000a1723303d4a5663707d899297979992857b6e665c554f49474541434343414547495057616b7784919daaaa9a8d8174675a4e4134271b0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262f383f44464e5353535353535353504745413a31281f150c030000000000000000000000000000000000000000000000000000000000000000000000000000000000071018242f39434e58616c74818e95a0a9a299928b80786d665c5145382c1f13060000000000000000000000000000000000000000040d17222d38414c565f696f7d869299939a92867c6f695f53463a2d211407000714212d3a46535f696e78797979797979706b61584e453b31281d140a0000000000000000000000000000101d2a36434f5b67717779797979797979797979797979797979716c6155493c3023170a00000000000000000000020c1620283035393a43434343434341403c362f262a32373b3c4343434343433f3e3a342d251b11070000000000000000000000000000000006111c26303845515d676d7880898f93999a9d9e9f9f9f9e9d9b9896918c857e756d675d58626e7b8691969b9e9f9f9e9e9c9386796c605346392d2013000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000006111c26303d46515b646e74808a92979fa3a9a19e999792908f8f8f909298989d9fa7a39f97928a80736e635b51453b31261a0e04000000000714212e3a4754616d7a8798a2aeaa9d918477665b5044382b1f12060000000005121e2a36424d576a7784919daaaea298877a6e6154473b2e211408000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000a15212d3a46535e6975818e98a3aea3999083796d675f5853514b4e4e4e4d53555d606d74818e97a1ada69d9083776b605443392e23180c00000000000000000000000000000000000000020e1a26313c4754606a73808d959fa8a49992877e736c655e564f443f382f2820180f070000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000a1724313d4a5764707d8285878a8c8d8073685e544b433d3a39352f362f35393a3f444f596774818d9aa7a99c908376695d5043362a1d1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141d262d333839424646464646464646443a39352f281f160d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d28313c46505a606d7983909893939393928d82796d6053463a2d20130700000000000000000000000000000000000000000006111b262f3a434d57606a707d868686868686857b6e6155483b2e2215080005121e2a36424d575f616b6c6c6c6c6c6c6361594f463d332a1f160b0200000000000000000000000000000e1b27333f4b565f676a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d2114080000000000000000000000040e161e24292c2d3636363636363433302b251d20262b2e2f36363636363632312e29231b130900000000000000000000000000000000000b17232e3842505a606d79828d929b9fa4ababa39f9d9c9b9c9d9fa19e97928b82796d685f6a76828f98a1a8aaa39f9995949386796c605346392d2013000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000c17232e38424f59626d74808d929ea1a9a39f97918c8885838282838385888b90959ea1a8a29f928d80736d62574d42362a20160a000000000915222f3c4855626f7b8895aab4a99c8f837669544a3f33281c0f0300000000020e1a2531434f5c6976828f9ca9b4aa95887b6f6255483c2f221509000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000005121e2a36424d57616e7b86929fa6aba0958f82796f6a63605c555b5a5b575f62676d747f8c939ea9a99f948a7d7064594f4430271d120700000000000000000000000000000000000000000915202b37434e58606d79839096a0a7a39992877f776d6860595049413a322a2119100700000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000a1623303c4955616c7076787b7d80827c6f62564d4239302d2c29242a24292c2d33404c5966737f8c99a6aa9d9184776a5e5144372b1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c22282b2d353939393939393939372d2c29241e160d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343e45515c676e7b8586868686868686867a6e6154473b2e211408000000000000000000000000000000000000000000000a141d28313b454e58616b70797979797979786e695f53463a2d21140700020e1a26313b454d53555f60606060605f57554f473e342b21180d040000000000000000000000000000000b17232e39444d565b5e60606060606060606060606060606060575550483e33281c1104000000000000000000000000040c13191d2021292929292929282724201a13151b1f21222929292929292525221e181109010000000000000000000000000000000003101c28343f4a54616c74818e949da4aca7a09d9992908f8f8f9192999a9e9f948f837a6d666f7c88949faaaea398928c88878886796c605346392d2013000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000003101c28343f4a54606b727f8c929ca4aaa299928c84807b787675757677797b7f838a91969fa6a49c928b7f72695f53463d32271b0f030000000a1723303d4a5663707d8996a3b0a89b8e8275685b4f422d22170b000000000000091c2835424f5b6875828e9ba8b0a396897d7063564a3d3023170a000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000020e1a25313b46535f69737f8c949fa7a79f948f837c75706d676867676869696e737a818c919ca5aaa1978f82766c6155473d331e150b000000000000000000000000000000000000000000030f1b27323c45515d676e7a8490959ea6a399938c827a6f6b605b534c443c332b22191107000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000814202d39444f59616469696e7073756f6a5f53443b302721201f2023282c2f353a424d566673808c99a6aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f20282d2d2d2d2d2d2d2d2a21201d19130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222934404b555f696e78797979797979797976685e5246392d20140700000000000000000000000000000000000000000000020b161f2a333d464f5961636c6c6c6c6c6c6b615f574d42362a1e1205000009141f29333b424648525353535353534a48443e352c22190f060000000000000000000000000000000006121d28323b444b4f51535353535353535353535353535353534a49453e362c22170c000000000000000000000000000002080d1113141d1d1d1d1d1d1b1a18140f080a0f1215151d1d1d1d1d1d191816120d0700000000000000000000000000000000000006121f2b3844505c66717e8b939ea6aea59d95908a86838282838486898d92979f959083786d73808d99a6b0a89f9286807c7a7b7d7063574a3d3024170a000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000006121f2c3844505c666f7c87929fa4aba29892878079736f6a6a696869656c6e72777d848f949fa6a49f92867b6e61584e43382b1f13060000000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b060000000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000009141f2a36424d57606d78828f959fa7a69f959087817d79777574747476787b80858e939ca3aaa29892857b6e615a5044352b210c03000000000000000000000000000000000000000000000a15202935404b555e686e7b838f949fa3a49f948f847d726c655d564d453d342b23190f060000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100004101c28333e474f5557575e61646669625f584e4332292122282b2d2e34383a40454c545e6975828f9ba8aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131b20202020202020201d1413110d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f18232f39434d575f616c6c6c6c6c6c6c6c6c6c5e564c41362a1e11050000000000000000000000000000000000000000000000040d18212b343e474f55575f60606060605f55534d453b31261a0e020000030d18212931363a3b454646464646463d3c38332c231a10070000000000000000000000000000000000000b16202932393f4344464646464646464646464646464646463e3c39332c241a100500000000000000000000000000000000010407071010101010100e0d0b08030000030608091010101010100c0b090601000000000000000000000000000000000000000713202d3a4653606d7884919ea5afa69d938e837d797776757677797c80858c9298958e81747683909ca9aca0958a7e736f6e6e706b6155483c2f231609000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000003101c28343f4a54606d78839099a3afa39992867d736d67625f585c5c535b6061656c707a828f949fa9a2988f82766a6054473b2e2215080000000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b0a4978a7d7164574a3e3124170b000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000030e1a26313b44505c666d7a8390959da5a7a099938e898683828181818385888c92979da5a7a09892867d70695e52483e3323190f0000000000000000000000000000000000000000000000040c18242f39434c565e696e7a828c9299a1a69e9691877f776d685f574e463d352b21180c0300000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000b17212c353e44494a4d535457595c55534e463c312a2d2d3338393c4045464b51565d666e7b86929faca89c8f8275695c4f4236291c0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060f1313131313131313110706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c454d53555f60606060606060605f524c443b3025190e02000000000000000000000000000000000000000000000000060f19222c353e44484a535353535353524846423b33291f140900000000060f181f262a2d2e38393939393939302f2c28211a110800000000000000000000000000000000000000040e1720282e3336373939393939393939393939393939393931302d28221a120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a96a0acac9f948e8179716d67696869676d70747a7f869095938a7e7885929fabaa9d9184776c6261616361594f44382c201407000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000006121f2c3844505c66727f8b95a0aba89f92877d706b605d55534e4f4f495053555a61686d79829097a1a49f94897c6f6256493c2f2316090000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e0100000000010e1a2734414d5a6774808d9aa7b1a4978b7e7164584b3e3125180b000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000009141f28343f4a545e686d7a838e929d9fa7a49f9b9892908e8e8d8e8f9197999ea1a9a29e9590867d706b60574d42362c22110800000000000000000000000000000000000000000000000007121d27313b444d565e686d777f8791979fa6a199928c827a6e6960584f473d332a1e150a00000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000005101a232c33393c3d4246484a4d4f4847433c3431363a3b3f4446494b5153555d60686d78828f98a2aea7998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a333c4246485253535353535353535346413b32291e1408000000000000000000000000000000000000000000000000000007101a232c33383c3d464646464646453b3a36312921180d030000000000060d141a1e21222c2d2d2d2d2d2c2423201c161008000000000000000000000000000000000000000000050e161d23272a2b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211c171008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c1313131313130d0c0a070200000000000005121e2a36424d576875818e9ba8afa49a8f82786d66605d555c555c6063676d727b838f9391857b8797a2ada79a8d8074675a545557554f473e33281c1004000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000713202d3a4653606d7984919ea7ada1968d80736b6059514b474342423f44464850565d676d7a85929b9993908c8275685c4f4235291c0f0200000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000000030b17232e38424c565e686d79818990959b9fa2aaa39f9d9b9a9a9b9c9ea1a9a49f9c97928c837b706b60594f453b30241a1000000000000000000000000000000000000000000000000000010b151f29323b444d565d656c727d858f949fa3a39f948f847b6f6a60594f453c30261c1106000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000008111a21282d3031363a3b3d40423c3a37373b3c4246484a505355555c6063676d727a818f949eaaab9f95887c6f6255493c2f22160900000000000000000000000000000000000000000000000000000003080c0e0e131313131313130f0e0c09040000000000000000000000000000000000000000000000000000000000000003070b0d0e131313131313130e0e0c08030000000000000000000000000000000000000000000000000000000000030d18212a31373a3b4546464646464646463b3936302920170d0200000000000000000000000000000000000000000000000000000008111a21282c2f30393939393939382e2d2a261f180f060000000000000003090e1214151f202020202020171614100b050000000000000000000000000000000000000000000000040b12171b1d1e20202020202020202020202020202020171714110c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d121618192020202020201a1917130e0800000000000714202d3a46525e697885919eabac9f93877c6f665c54514b4f4b5153555d60696e79818f949083909da9b3a4988b7e7165584b484a48443e352c21160b00000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000004101d2935404b5564717d8a96a1acaa9e9184796d60594f45403937312d3337393e444c555e68717e8b8e8a86837f7c6f6255483c2f2215090000000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b0e0100000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000006111c26303a444c565e676d747c83898e9298999b9d9e9f9f9f9f9e9d9b999993908b857f786e6960594f473d33291f12080000000000000000000000000000000000000000000000000000030d172029323b444c535b606b707a828c9299a1a69e9691857d6f6b60574d42382e23170c020000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000000000810171c2023252a2d2e31333036393c4347494d5354545b606266676d7074797e858f939ea6aea49d9083776a6054473b2e2215080000000000000000000000000000000000000000000000000001090f14181a1b202020202020201c1b191510090200000000000000000000000000000000000000000000000000000001080e1317191a202020202020201b1a18140f090100000000000000000000000000000000000000000000000000000000060f181f262b2d2e3939393939393939392e2d2a251e170e0500000000000000000000000000000000000000000000000000000000000810161c2023242c2d2d2d2d2d2c22211e1a140d060000000000000000000002050708121313131313130a090704000000000000000000000000000000000000000000000000000000060b0e1011131313131313131313131313131313130b0a080400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010911181e2225252d2d2d2d2d2d2726231f19120a020000000815212e3b4854616e7b8797a1adaa9d9083776a5f544b4540424045474b51575f676d78828f9590959fabb0a3968a7d7063574a3d3d3c38332c231a100500000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000613202c3945515d6775828f9ba8aea3988b7e71675d51473d352f2b2622272b2d323a434c56606d7883817e7a76736f6a5f53473b2e2115080000000a1723303d4a5663707d8996a3b0a89b8e8175685b4e4235281b090000000000020f1b2835424e5b6875818e9ba8b0a3968a7d7063574a3d3024170a000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000000000a141e28323a444c555c606b6f777d8185898c8e90919292929291908f8d8a86837e79726d665f574f473d352b20170d00000000000000000000000000000000000000000000000000000000050e172029323a4149505960686d777f879297a0a8a09792867d6f695f544a3f34281e13080000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000000050b1014161a1e21282f353a4146474e5455575e6165666c6f7276797d81858b91979ea5afa69d92897d7063584e43372b1f1306000000000000000000000000000000000000000000000000030b131a202427282d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000000000000000020b12191f2326272d2d2d2d2d2d2d282724201a130b0300000000000000000000000000000000000000000000000000000000060e141a1e21222c2d2d2d2d2d2d2d2d21201e19140d0500000000000000000000000000000000000000000000000000000000000000050b101416172020202020201f1514120e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b23292e313239393939393933322f2a241c140a0000000916222f3c4955626f7c8895a9b3a79a8d817467584e4239352f34383a40454d555c666d7a85919d9fa7b1afa396897c706356493d302f2c28211a11080000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000714202d3a4753606d7a86929facac9f92867a6d60554b403529241d1a171b1f2028313a44515c666d7775716d6866625f584e43372b1f12060000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4330251a0e0200000000030f1c2936424f5c6975828f9ca8b5ab95897c6f6256493c2f231609000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000000020c162029323a434b515960636b7075797c7f82838485868685858382807d7a76726d67605c544d453d352b23190e050000000000000000000000000000000000000000000101020000000000050e1720282f383f444f565e656c727d859196a0a9a29892857b6e665c50443a3025190d0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000000000000000409121b232b323a41454c525458606266696e7175797c7f8285898d92979ea1a9ada59e948d80746b6054463c32271b0f030000000000000000000000000000000000000000000000010b151d252b303435393939393939393534312c261e150c000000000000000000000000000000000000000000000000000b141d242b303334393939393939393534302b251d150b010000000000000000000000000000000000000000000000000000000003090e1214151f20202020202020201414110e0802000000000000000000000000000000000000000000000000000000000000000000000407090a13131313131312080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002070a0c0d13131313090907030005090d0f101313131312100d0903000000000000000000000000000000000000000000000000050a0d0f101313100f0d0a0500000000000000000000000000000007111b252d343a3e3f464646464646403f3b362e261c120800000a1723303d4a5663707d8996a3b0a6998c7f7366594c402f2924292c2f353b434b545d68707d8a959fabb7afa396897c706356493d3023201c161008000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000a1723303d4a5663707d8998a3aea89b8e8275675d51433a2f23181d1d1d1d1d161f2834404a545c606a6864615e5655534e463c32261b0f030000000814212e3b4754616e7b8798a3aeaa9d9084776a574d42362a1e12050000000005111d2935414c566a7783909daaafa399877b6e6154483b2e211508000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000000000000050e1720353f474e524f54596063676d70727576787879797878777573706d6865605d55504a46423c332a1f14090000000000000000000000000000020507080a0b0c0c0d0e0f090907030000050d161d262d333d444c535b606b6f7b849196a1aaa2979083786d60564c41362a1b110600000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000000000009121b242d353d444c52565e61666a6f73777b7e8285888c8f92989a9fa2a9aca9a19e938e82786d60594f44342b20150a00000000000000000000000000000000000000000000000009131d272f373c40414646464646464642413d3730271e0e050000000000000000000000000000000000000000000000030d1d262e363c3f414646464646464641403c372f271d13090000000000000000000000000000000000000000000000000000000000000205070812131313131313131308070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e1317191a202020201615130f0a1015191c1d202020201f1d19140e07000000000000000000000000000000000000000000030a11161a1c1d20201d1c1a16110a03000000000000000000000000010d18232d373f464a4c5353535353534d4b4740382e24190e02000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f2e23181c1f24293139424c56616c7683909da9b3afa396897c706356493d302316100b0500000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000d1a2733404d5a6673808d99aab4aa978b7e7164554c4131282a2a2a2a2a2a2a2a2a232e39424a51535d5b5754524c4847433c342a20150a000000000713202d3a4653606d7986929facab9f928578695e52463a2d201407000000000713202d3946525d687885929eabac9f9286796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000000010e1a26313d4751595e5f606060555c606366686a6b6c6c6c6c6b6a686664615e566060606055534d453c31261a0e02000000000000000000000002090e111414171818191a1b1c1615130f0a0400040b141b2227323a4149505960696e7b849199a3a99f958c7f73685e5246382d22170b00000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000000000006101b242d373f474f565d60686d72777c8084878b8e9297999c9fa2aaababa8a19e96918a81796d665c51473d3322190e040000000000000000000000000000000000000000000000030f1a252f3941484d4e535353535353534f4d4942393020170d02000000000000000000000000000000000000000000010b151f2e3840474c4d535353535353534e4d4841392f251a0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c1313131313130d0c0a07020000000000000000000000000000000000000000000000010a12191f2326262d2d2d2d23221f1b161b212628292d2d2d2c2b29251f19110800000000000000000000000000000000000000040d151c2226292a2d2d2a2926221c150d04000000000000000000000006121e29343f495156586060606060605a58524a40362a1f1307000a1723303d4a5663707d8996abb5a6998d807366544a403428211e1a181f27303a44505a64707d8a97a2adafa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000004101c2834404b546976828f9ca9aea398887b6f6255483c2f3737373737373737373737373039404446514e4b4746413c3b37322a261f180f0600000006121f2b3844505c667784909daaaea298877b6e6154483b2e21150a000000000714212e3a4754616d7a8797a1adaa9e918477665c5145382c1f1306000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000000000004111d2a36424e59636a6c6c6c6c6b636059595b5d5e5f5f5f5f5e5d5c5a575f626a6c6c6c6c6c5f574d42372b1e120500000000000000000000050d14191e20212324252627282823221f1b160f0700020a111720292f383f444f575f696f7d87929fa9a79f92867a6d6153493f33271b0f03000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000000040e18222d363f49515960686d737a7f84888d9196989b9ea2a9a9acaaaaa29f9b96918c847e746d675c544a40352b2110070000000000000000000000000000000000000000000000000814202b37414b53595b606060606060605c59544b4232291f140900000000000000000000000000000000000000000007121d2731404a52585a606060606060605b59534b41372b2014080000000000000003060809131313131313130b0a08050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070f111213131312110e0b0706040000000000000000000000000000000000070d121618192020202020201a1917130e08000000000000000000000000000000000000000000000a131c242a2f323339393939302f2c2721262d323536393939393835312a231a11070000000000000000000000000000000000030d161f272d32353639393635322d271f160d03000000000000000000000916222e3a46515b62656c6c6c6c6c6c66635c52473b2f23170a000915222f3c4855626f7b8899a3afa89b8f8275665c51443a322d2b2627272628323e4653606d7985929fabafa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000006131f2c3845515c667884919eabac9f9286796d6053464444444444444444444444444444444444444444444444444444443b3a36312a21180e03000003101c28343f4a546875818e9ba8b3aa978a7d7064574a3d32271b0d04000001081623303d495663707c8996a9b3a89c8f827569544b4034281c1004000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4aca295897c6f6256493c2f23160906040d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000000000006121f2c3845525e6a757979797978706b605c544d5152535352524b515a61696e777979797976695f53463a2d211407000000000000000000050e171f252a2d2e30313233343435302f2c27211910070000060e171d262d333d454d57606b73808d97a2ada2988c8073655b5044372b1f1205000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000000000a15202a343e48515b626b707a80868c9196999da0a8a8abaaa7a7a09d9a98928e8a847f79716c605c554b42392e231a0f000000000000000000000000000000000000000000000000000c1824303c48535d64686c6c6c6c6c6c6c68655d54443b3025190e0000000000000000000000000000000000000000000c18232f3943525c64676c6c6c6c6c6c6c68645d53483c3024180c0000000000040a0f13151620202020202020181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000000001080d1113141c1e1f1f20201f1e1b181413100c0701000000000000000000000000010911181e2225252d2d2d2d2d2d2726231f19120a020000000000000000000000000000000000000007121c262e353b3f40464646463c3b38322b30383e41434646464645413c352c23190e03000000000000000000000000000000000a151f2831383e4243464643423e3831281f150a000000000000000000000b1825313e4a56626d72797979797979736e63584b3f3226190c000714202d3a4753606d7a86929facab9e9285796d60564c443d3a373134333332323845515c6675828f9ca8afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000713202d3a4653606d7986939facaa9d908477665c50505050505050505050505050505050505050505050505050505050504846423b332a1f14090000000b17232e3f4b5865727e8b98a8b2a69a8d807367584e43372b1f15100c090e131e2a36414c5666727f8c99a5b3aa998c7f7366594c402e23180c00000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b989f9f9f95897c6f6256493c2f231b1313100c1a2733404d5a6673808d999f9f9f9386796d6053463a2d201307000000000000000613202c3946535f6c7987868686847d736d665f5751464146454d555c606c717b83868686867b6e6155483b2e2215080000000000000000020d17202930363a3b3d3e3f3f4041423c3b38322b23190f040000050b141b2227333b454f59606d7a85929fabaa9e9185786c605346392d201306000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000000030f1b26313c46505a626d727d848d92989ea0a8aaaba8a8a09e9a9795908d8985817d78726d67615a514b433930271c1108000000000000000000000000000000000000000000000000000e1a2734404d59646f7479797979797979756f65564d42362a1c11060000000000000000000000000000000000000004101c2934404b55646e7479797979797979746f64594d4034271a0e00000000060e151b1f21222d2d2d2d2d2d2d2524211d1711090000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021292a2c2c2d2c2c2a2824201f1c18120b03000000000000000000000009131b23292e313239393939393933322f2a241c140a000000000000000000000000000000000000020e19242e3840474b4d535353534948433d353a42494e5053535353514d473e352a1f140900000000000000000000000000000005111c27313a434a4e505353504e4a433a31271c11050000000000000000000c1925323f4c5865727f8686868686868073665a4d4033271a0d0006131f2c3945515d677783909dabada1978a7e71685e564f484742424140403f3f3f404b546673808c99a6afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000815212e3b4854616e7b879aa4afa99c90837669545d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d55534d453b31261a0e0200000615222f3c4855626f7b8896a0acaa9d9184776a6054473c31271f1c181b1a1e242d3946525e6876838f9ca9aea298897c706356493d3023160700000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b9393939393897c6f6256493c2f2d28201f1c181a2733404d5a6673808d939393939386796d6053463a2d20130700000000000000000b1825323e4b5865717e8b9296918780786e69625b524c4550575f676d747e869095948d8074695f53463a2d211407000000000000000009141f29323b4246474a4b4b4c4d4e4f4948433d352b21160a000000020a11172129333d45525d6874808d9aa7ada197887c6f6255483c2f221509000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000006121f2b37434e58626c727f8791969fa2aaaaaaa29f9b9896918e8a8784807d7975706d66605d555045403930271e150b00000000000000000000000000000000000000000000000000000e1b2835414e5b687481868686868686868175695e5246382d22170b0000000000000000000000000000000000000006131f2c3845515c677480868686868686868174685b4e4135281b0e00000006101820262b2e2f3939393939393931302d29221b1209000000000000000000000000000000000000000000000000000000000000000000000000040d161e24292c2d363738393939383735312d2c29231d150d0600000000000000000007111b252d343a3e3f464646464646403f3b362e261c1208000000000000000000000000000000000007131f2a35404a5257596060606056544f473d424c545a5c6060605f5e5850473c3125190d0100000000000000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a0000000000000000000c1925323f4c5865727f8b939393938d8073665a4d4033271a0d0004101d2935404b5566737f8c99a3aea99e91847a6d68615955534d4f4e4d4c4c4c4b4b4c5865727f8b98a5afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000916232f3c4956626f7c8995acb6a89c8f82756a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a615f574d42362a1e120500000815212e3a47535f6a7784919eabaca095887c6f62584e4339312c282327262b2f35414c56616d7a86929facab9f9285796d6053463a2d20130700000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e868686868686867c6f6256493c3939352d2c28231d2733404d5a66738086868686868686786d6053463a2d20130700000000000000000b1724313d4a56626d73808c9399938d837b726d615e56515a61696e79818a9298958f82786d60574d42372b1e120500000000000000020e1925303b444d5254565758595a5b5b56544f473d32271b0f0300000000060f18212935414c5663707d8996aab3a9988c7f7265594c3f3226190c000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000000000815212e3a47535f6a717e889299a1a9aca69f9c98928e8b8784817e7a7773706d6663605c54514b433e342e271e150c0300000000000000000000000000000000000000000000000000000916232f3c4956626f7c89959393939392867b6e61544a3f33281c0f030000000000000000000000000000000000000714202d3a4753606d7985929393939395897c6f6356493c302316090000040e18222a32373b3c464646464646463e3d39342d241b110600000000000000000000000000000000000000000000000000000000000000000000010c161f282f35393a4244454646464544413e3a38342f271f17110a02000000000000010d18232d373f464a4c5353535353534d4b4740382e24190e02000000000000000000000000000000000a17232f3b47525c63666c6c6c6c6360594f4349545e66696c6c6c6c6a62584d4135291d100400000000000000000000000000010d1a26323e4a545e66696c6c69665e544a3e32261a0d0100000000000000000c1925323f4c5865727f8b989f9f998d8073665a4d4033271a0d00000c18242f3b4854616e7b86929fa8ada19690827a706b65615f575c5a5a5959585858585865717e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1623303d495663707c8996a3afa89b8e8177777777777777777777777777777777777777777777777777777777777777776e695f53463a2d211407000006121f2b37434e586673808d99a3afa89b8e81756a5f554b433c38342e3431373a4145525d68737f8c99a3afa79b8e8175675c5145382c1f130600000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1724313d4a56626c71797979797979796f6a605447464646413a38342e2726323f4b58636e737979797979797976665c5044382c1f120600000000000000000915212e3a45505a636e74818e939f9590867e756d68605c606c717b838e939f969083796d665c50453c31261a0e020000000000000005111e2a36424d565e61636465666767686360594f43382c1f13070000000000060f1924303a4753606d798698a2aea79a8e8174675b4e4134281b0e000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000006121f2b37434e58626f7c86929aa3aba8a09e948f8a85827e7b7774716e686763605c5453504a4540393128231f1c17110a02000000000000000000000000000000000000000000000000000915222e3b4854606a7783909daa9fa3998c7f73665b5044382b1f1409000000000000000000000000000000000006121f2b37434e5864717e8a97a29f9f9d9083776b6054483b2f22150900000a15202a343c434749535353535353534b49453e362d22170c0000000000000000000000000000000000000000000000000000000000000000000008131e28313a4145474f515252535352514e4b474540393127221b140b02000000000006121e29343f495156586060606060605a58524a40362a1f1307000000000000000000000000000000000c1926323f4b57636e73797979796f6b6054484e5a66707679797979746a5e5145382b1f120500000000000000000000000000030f1c2935424e5a66707679797670665a4e4235291c0f0300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000714202d3a46525e6974808d96a1a9a89f9590847d77726e696a6867666665656565646465717e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1724303d4a5763707d8a96a3b0ab9e928583838383838383838383838383838383838383838383838383838383838383837b6e6155483b2e2215080000030f1a26313c4854616e7b87929faaac9f92877c6f675d554e46454041414142474c515b606d7a85929eabaca095897d7063554b4034281c100400000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000915212e3a45505a62656c6c6c6c6c6c6c6260584e525353534e4645403930292f3b47525c63666c6c6c6c6c6c6c6c5c544a3f34281c1003000000000000000005111d29343f48525b606d78818f959f98928b827a706b676d747e8690959d9891847b6e675d544a3f332a1f140900000000000000000714202d3a46525e696e707172727374756f6b6054483b2f22150800000000000008131f2c3845515c677885929faba89b8f8275685c4f4235291c0f000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000815212e3a47535f6a76828f98a3aca7a0969189827d7975716e696764615e565653514a46443f38352f312f2d2b28221c140b0200000000000000000000000000000000000000000000000007131f2c38434e5865727e8b98a2aeab9e9184786c6053463b30251a0e00000000000000000000000000000000000814212e3a47535f6a7683909ca9aea2988b7f7265594f43382c1f130700030f1b26323c464e535560606060606060585650483e34291d11050000000000000000000000000000000000000000000000000000000000000000010d19242f3a434c52545c5d5f5f605f5f5d5b5753514b433f332d261d140a00000000000916222e3a46515b62656c6c6c6c6c6c66635c52473b2f23170a000000000000000000000000000000000d1a2633404d59667380868686867d6f635649505c69768286868686796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768286868276695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000005121e2a36424d57606d79849197a1a9a79f969189837f7b78767574737372727271717171717e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1724313d4a5764707d8a97a3b0ada1979290909090909090909090909090909090909090909090909090909090909090887b6e6255483b2f2215080000000a15212d3a46535e6975818e98a3aea3999083796d675f5853514b4e4e4e4d53555d606d74818e97a1ada69d9083776b605443392e23180c0000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070005111d29343f48505658606060606060605654575d5f6060605b53514b423a322a36404a52585a606060606060605f504a42382e23170c000000000000000000010c18222d364044505c666d79829095a09f938f857d746f79818a9298a09992867c6f695e554b42382e21180e0300000000000000000814212e3b4754616e7b7d7e7e7f8081827d6f6356493c3024190d02000000000004101c2934404b556b7784919eaaa99c908376695d5043362a1d10000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000915222f3c4855626f7b88949faaaca09590847d76706d6765615e575754524c494644403a444442413f3e3c3938332d261d140a000000000000000000000000000000000000000000000000030f1b27323d4754606d7a85929facaca1968a7d7063574d42362a1c110600000000000000000000000000000004101c2934404b55626e7b88949fabac9f92867a6d6054473d32271b0f030006131f2b37434e585f626c6c6c6c6c6c6c64625a5045392d211508000000000000000000000000000000000000000000000000000000000000000004111d2935414c565d60696a6b6c6c6c6b6a6864605c5550443f382f261b1106000000000b1825313e4a56626d72797979797979736e63584b3f3226190c000000000000000000000000000000000d1a2633404d596673808c9393897c6f635649505c6976838f939286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000020e1a25303b45515d676f7c8591979ea5a8a09e95908b8885838281807f7f7f7e7e7e7e7d7d808d9aa7afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1724313d4a5764707d8a97a3b0b3a9a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d94887b6e6155483b2e22150800000005121e2a36424d57616e7b86929fa6aba0958f82796f6a63605c555b5a5b575f62676d747f8c939ea9a99f948a7d7064594f4430271d12070000000b1825323e4b5865717e8b98a4aca295897c6f6256493c2f23160900040d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700010c18222d363f454a4b53535353535353495761696b6c6c6c68605c544c443c342e3840474b4d5353535353535353443f3830261c11060000000000000000000006111b2428343f4a545d676d7a839196a19e979188807b838e929fa29f93877d706a5f574d433a30261c0f060000000000000000000b1724313e4a5764717e898a8b8c8d8e8c807366564c4135291e130b060400020509121f2b3844505c667885929eaba99c908376695d5043362a1d10000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000c1926333f4c5966727f8c99a6afa49a90837a706b64605c5554524d4b4746413d3a434a4f50514f4d4c4a4946443f382f261c11060000000000000000000000000000000000000000000000000a16202c3945515d6774818e9aa7b1a89b8f8275695e5246382e23170b00000000000000000000000000000006131f2c3845515c6774808d9aa6b0a79b8e8174685d5245392b21160a00000815212e3b47535f6a7679797979797979716c6256493d3024170a00000000000000000000000000000000000000000000000000000000000000000613202c3945525d686d757778797979787774716d67625a504941382d22170b030000000c1925323f4c5865727f8686868686868073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000009141f2935414b555f6a6f7c858f939c9fa4a79f9d989892908f8d8d8c8c8b8b8b8b8a8a8a8d929da9afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1723303d4a5663707d8996a3b0b8b0aba99f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa9aaaaaaaaaa94877a6e6154473b2e211408000000020e1a25313b46535f69737f8c949fa7a79f948f837c75706d676867676869696e737a818c919ca5aaa1978f82766c6155473d331e150b000000000b1825323e4b5865717e8b989f9f9f95897c6f6256493c2f2316090b10141a2733404d5a6673808d999f9f9f9386796d6053463a2d201307000006111b242d343a3d3e46464646464646505d697378797979746d665e564e463e3528363b3f40464646464646464638342e261e150a000000000000000000000000091217232e38424b555d686e7b849197a2a19a938d8890959da59d928b7f726b61584e453b31281e140a000000000000000000000815222f3b4855626e7c889798999a9a8f8275685d52463a30241d1512100c0e12141a202d3a4653606d7986939faca99c8f8276695c4f4336291c10000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000020f1c2835424f5b6875828e9ba8ac9f93877c6f68605953514b4846423e3b393634434d555b5d5d5c5a59575553504a42382d22170b00000000000000000000000000000000000000000000000004111d2935414b55626f7c88959fabac9f92877b6e61544a3f34281c100300000000000000000000000000000714202d3a4753606d7985929eabaca095897c6f63564c413529190f0400000916222f3c4955626f7c868686868686867e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8284858586868584817e79716c605b53493f33271f14090000000c1925323f4c5865727f8b939393938d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000020d18242f3a434e585f6a6f7a82898f93999c9fa2aaa29f9d9b9a999998989898979797979a9da4aeafa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000091623303c4956636f7c8996a2afb0a69f9c9393939393939393939393939393939393939393939393939c9ea6b0aea398877a6d6054473a2d2114070000000009141f2a36424d57606d78828f959fa7a69f959087817d79777574747476787b80858e939ca3aaa29892857b6e615a5044352b210c03000000000b1825323e4b5865717e8b9393939393897c6f6256493c2f231610171c20232733404d5a6673808d939393939386796d6053463a2d20130700000009121b22292e313239393939393945525f6b788586868681786d685f584f473f342e2f323339393939393939392c28231c150c030000000000000000000000000006111c263039434c565e696f7c859299a3a49f9a959da0a79e948d80746d62594f463c33291f160c02000000000000000000000613202d394653606c7785929ea5a69f92867a6d61564c41352e27201f1c181a1e21252a34404b55626f7c889aa4afa79b8e8174685b4e4135281b0e000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000003101d293643505c6976838f9ca9a99d9083766a5f564f4645403b3a36302e2d2f3c46555f666a6a6967656462605b544a3f33281c0f030000000000000000000000000000000000000000000000010d18242f3a47535f6a7683909da9afa3998c7f73665c5044382b1f14090a0a0a0a0a0a0a0a0a0a0a0a0a0a121f2b37434e5864717e8b97a2adaa9d9083776b6054443a2f2419070000000916222f3c4955626f7c8893939393938b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87909292939292908e8a847e746c655b50443b30251a0e0200000c1925323f4c5865727f8b989f9f998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000007131d28313c464e585f686d757c82878b8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abacb5afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000815222f3b4855626e7b8895a9b3ab9f948f8686868686868686868686868686868686868686868686868f949eaaac9f928579675d5145392c20130600000000030e1a26313b44505c666d7a8390959da5a7a099938e898683828181818385888c92979da5a7a09892867d70695e52483e3323190f00000000000b1825323e4b5865717e868686868686867c6f6256493c2f23161a22282d303139404d5a66738086868686868686786d6053463a2d201307000000000911181d2124252d2d2d2d2d323f4c5965727f8c93938e827a6f6a6159514440393028272d2d2d2d2d2d2d2d1f1c17110a030000000000000000000000000000000a141e27313a444d575f6a707d879299a49f9f9f9fa9a0958f82786d605b51473e342a21170d04000000000000000000000005121f2b3744505b6575828f9baaaea3988b7f72685d52454039302d2c2823252a2d30363e45515c6773808c99acb4aa998c7f7366594c403326190d000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000004101d2a3743505d6a7683909da9a79b8e817468584e443d38342e2d2a2a2d2f38424e5866717777757472716f6c665b5044382b1f120600000000000000000000000000000000000000000000000007131d2b37434e5864717e8b97a2adab9e9184786d6053463b31251a16161616161616161616161616161616212e3a47535f6a7683909ca9aea2988b7f7265594f4332281e13080000000916222f3c4955626f7c88959f9f9f978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87949e9f9f9f9e9d9b96918b80776c60574d42362a1e120500000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000010c161f2a343c464e565e616b6f757b7f8285888a8c8d8f8f9090919191919292929292999ba3acafa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000714212d3a4754606d7a8797a2ada99c8f82797979797979797979797979797979797979797979797979828f9ca9ab9e9184786b554b4135291d1104000000000009141f28343f4a545e686d7a838e929d9fa7a49f9b9892908e8e8d8e8f9197999ea1a9a29e9590867d706b60574d42362c22110800000000000b1724313d4a56626c71797979797979796f6a6054473b2e2217242c33393c3d46464b58636e737979797979797976665c5044382c1f12060000000000060c111517182020202025313e4a56626d75818f969490847c706b625b514a423a322a211920202020202012100c060000000000000000000000000000000000020c151f28323b454e58606b717e8793939393939393969083796d665c50493f352c22190f05000000000000000000000000030f1b27333f495364717e8a98a2aeaa9e91857a6d605b514b423d3a38342e31363a3b42465059606d7984919eabaea398897d7063564a3d3023170a000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000003101d293643505c6976838f9ca9a79a8d817467564c413a39352f363036393c424a54606a77838482807f7d7c786c605346392d201306000000000000000000000000000000000000000000000000010f1b26323c4753606d7985929fabada1968a7d7063574d42362a23232323232323232323232323232323232934404b55626e7b88949fabac9f92867a6d6054473d3221160c010000000916222f3c4955626f7c8895a2aca4978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87949fa3aba6abaaa9a19e928b7f72695e52463a2d20140800000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000000040d18222a343c444c52596063696e7276797b7d7f81828383848484848585858585868b909ba7afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000613202c3945515d677885929eabaa9d9184776c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c667784919eaaa99c8f8376695c50432f24180d010000000000030b17232e38424c565e686d79818990959b9fa2aaa39f9d9b9a9a9b9c9ea1a9a49f9c97928c837b706b60594f453b30241a100000000000000915212e3a45505a62656c6c6c6c6c6c6c6260584e43382b1c2328363e44494a525353525c63666c6c6c6c6c6c6c6c5c544a3f34281c10030000000000000105090b0b13131316222e3a46515b606d7a8491989691867d726d605c544c443c332b2317110a13131306030000000000000000000000000000000000000000030d162029333c464f59616c727f8686868686868686847b6e675d544a3f372d231a100700000000000000000000000000000b17222d3a4753606d7a85929faaada1978e81746d605c544f4946444043434246484d525a616b737f8c96a1acac9f92867a6d6053473a2d201407000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000020e1b2835414e5b6874818e9ba7a99c8f8276685e534c4745414343434146474d545b666f7c88908f8d8c8a85796c605346392d201306000000000000000000000000000000000000000000000000000a151f2c3845515d6774808d9aa6b0a89c8f8275695e5346382e3030303030303030303030303030303030303845515c6774808d9aa6b0a79b8e8174685d5245392c201304000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8799929995999fa2aaada49f92867b6e6154483b3025190e02000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000000050e171e252a323a41464f54575e6165666d6f717374757676777777787878787879797e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000004111d2935414c55697683909ca9ab9f928578695f606060606060606060606060606060606060606d7986929faca79a8d8174675a4e4134271b070000000000000006111c26303a444c565e676d747c83898e9298999b9d9e9f9f9f9f9e9d9b999993908b857f786e6960594f473d33291f120800000000000005111d29343f485056586060606060606056544e463d3227262e343f485055575f6060605a585a606060606060605f504a42382e23170c000000000000000000000000060606121e29353f45525d686f7c86929f9892877f746d665d564d453d3528231c140c03000000000000000000000000000000000000000000000000040e17212a343d47505a626d727979797979797979786e695e554b42382e251b11080000000000000000000000000000000613202c3945515d6773808d98a2aea99d938c7f736d6660595653514a50504d5354575e616c707d87929fa8b0a69b8e8275675d5145392c201306000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000c1926323f4c5965727f8c98a7ac9f92867a6d655e5654514b504f504d5254575f666c7882909c9c9a988e8174655b5044372b1f12050000000000000000000000000000000000000000000000000004101d2935404b55626e7b88949fabac9f93877b6e61544a3f3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d4753606d7985929eabaca095897c6f63564c4135291d1104000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87878686888d9298a2abaea2988c807366564d41362a1e1105000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000020c1720293036393a3e3f44484d5354545c606264666768696a6a6a6b6b6b6b6c6c6c717e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000010d19242f414d5a6774808d9aabaea298887b6e61555353535353535353535353535353535355626f7c8899a3afa9988b7e7265584b3f3225180c00000000000000000a141e28323a444c555c606b6f777d8185898c8e90919292929291908f8d8a86837e79726d665f574f473d352b20170d00000000000000010c18222d363f454a4b535353535353534947433d342b2830383f44515a61646c6c6c6c66635c5253535353535353443f3830261c11060000000000000000000000000000010d18232935414c565f6a727e8b939e99938c81786d685f574f473f342e261e150c03000000000000000000000000000000000000000000000000050f18222b353e48515b62656c6c6c6c6c6c6c6c6b615e574d433a30261c13090000000000000000000000000000000004111d2935404b55616e7b86929fa6afa59c918c8079706b6562605c545c5d575e6164696e747e869299a3afaa9f94897d7063554b4035291d1104000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000915222f3c4855626f7b88959faba3998e81776d6863605d555d5c5d565e6164696e78808e949fa8a0958a7d706453493f33271b0f0300000000000000000000000000000000000000000000000000000c18242f3947535f6a7683909ca9afa4998c8073665c504949494949494949494949494949494949494949494e5864717e8b97a2adaa9d9083776b6054443a2f24190d01000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d787c7a79797c80869299a4afaa9e918477685e5246392d201407000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f65717e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000081724313e4a5764717d8a99a3afaa988b7e7165574d42464646464646464646464646424d5765727f8c98abada297887b6f6255483c2f2215090000000000000000020c162029323a434b515960636b7075797c7f82838485868685858382807d7a76726d67605c544d453d352b23190e05000000000000000006111b242d343a3d3e464646464646463c3b38322b29323a424a505b636c7079797979736e63574b46464646464638342e261e150a00000000000000000000000000000000070d19242f3a434e58626d75818e95a09f928e827a6e69605951443f3830271e150b00000000000000000000000000000000000000000000000000061019232c363f4951565860606060606060605e54524d453b31281e140a0100000000000000000000000000000000010d18242f3a46525e68727f8c949fa8ada49c928d837d77726f6d666a69696a696e71757b818a9298a2abaea2988f82766b6054433a2f24180d01000000000000000205111e2a3744515d6a7784909d9f9f9c8f8376695c504336291d100d0b08030000000000000000000000000004111e2a3744515d6a7784909d9f9f9c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000815212e3a47535f6a7683909da5ab9e938e817a74706d676a6969696a686e71757b828e929da6a59d9083786c605346392d22170b00000000000000000000000000000000000000000000000000000007121d2b37434e5864717e8a97a1adab9e9184796d6056565656565656565656565656565656565656565656565f6a7683909ca9aea2988b7f7265594f4332281e130800000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b020405060606050402000000000000000000000000000000000000000000000006121f2c3844515c666d6f6d686d6f737d87939facaca096877a6e6154473b2e211408000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525965727f8c98a5afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000714212e3a4754616d7a86929faca89b8e8275695e53463d313939393939393939303946525e6976828f9ca9ab9e9285786c605346392d201306000000000000000000050e172029313940454f54596063676d70727576787879797878777573706d6865605d55504a423c332b231911070000000000000000000009121b22292e3132393939393939392f2e2b272b333b444c545c606d727e868686868073665a4d4039393939392c28231c150c03000000000000000000000000000000000008131e28313c46515b606d79839198a29d948f847b706b625b504a423930271d12070000000000000000000000000000000000000000000000000007111a242d373f464a4c5353535353535353524846423b33291f160c0200000000000000000000000000000000000007131d2a36414d56606d78829096a1a8ada49d959089837f7c797777767677787b7d82868e939fa2aaaea39f92867b6e61594f4431281d130700000000000002080e11141e2a3744515d6a778490939393938f8376695c50433629201b1a18140f0801000000000000000000000004111e2a3744515d6a778490939393938f8376695c504336291d1001000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000006121f2b37434e5863707d89939da6a59e938e86807d7a787776767677787a7e82878f949da5a69d938a7d70655b5044372b1b1106000000000000000000000000000000000000000000000000000000010f1a26313c4653606d7985929eacada1968a7d70646363636363636363636363636363636363636363636363636e7b88949fabac9f92867a6d6054473d3221160c0100000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180c0e101213131312100e0b0807050200000000000000000000000000000000000004101c2834404a545c6062615e60626b75818e9ba8b2a8968a7d7063574a3d3024170a000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000005111d2a36414c565e6164656768696a6b68655d534840414243434444444545454d596673808c99a6afa295897c6f6256493c2f231609000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000713202d3946525d6876828f9ca9ac9f92867b6e61584e433b322c292424292c3139424d57616e7b86929faca89b8e8174655b5044372b1f120500000000000000000000050e171f272f343d43484f54555c606366686a6b6c6c6c6c6b6a686664615e5653514b443f38302a211911080000000000000000000000000911181d2124252d2d2d2d2d2d2d2322242c343d454d565d666d747f87929892857b6e6154473b2e2d2d2d2d1f1c17110a03000000000000000000000000000000000000010c161f2a343f45515d676e7c86929fa59f9691857d726d605c544b42392e23180c000000000000000000000000000000000000000000000000000008121b252d343a3e3f4646464646464646453b3a36302921170d0400000000000000000000000000000000000000010e1925303b44505c666e7a849196a0a7afa7a09d95908c8985848383838485878a8e92999da5aeaaa39f918a7e71695f53473d321f160c010000000000050d14191e20212d3744515d6a77838686868686868276695c5043362d2d272724201a130b020000000000000000000004111e2a3744515d6a77838686868686868276695c504336291c140a000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000000030f1a26313c4855606b74818e949da5a59e98928d898785838382838485878a8f93999fa6a49d948e81746c6153493f33271b0a000000000000000000000000000000000000000000000000000000000009151f2c3845515c6673808d9aa4afa99c8f82757070707070707070707070707070707070707070707070707074808d9aa6b0a79b8e8174685d5245392c2013040000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e312518191b1d1f1f201f1f1d1b181414110e080200000000000000000000000000000000000c18232e39424a5153555452535964717e8a97a4b1a5988b7f7265584c3f3225190c000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000713202d3946525e686d71727374767778756f65594d3d323536373737383835404b556774818e9aa7b2a995887b6e6255483b2f221508000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000005111d2935414c5664717e8b96a1ada3998d80746a60564d443e39352f2f35383c434b545e6973808d99a3aca096897d706353493f33271b0f030000000000000000000000050d151d232932383d44484b5161696b6c6c6c68605c5f5e5d5c5a5754524c47454039342e261e180f080000000000000000000000000000060c11151718202020202020151d2328363e464f575f686d78818c939993877d70695e52463a2d2020202012100c06000000000000000000000000000000000000000000040d18222935404b555f6a717e8a939da7a09792877f746d665c544b4034281c1004000000000000000000000000000000000000000000000000000009131b23292e31323939393939393939382e2d2a251f170f0500000000000000000000000000000000000000000008141f28343f4a545e686e7b8490959fa3abaca7a09d98989291908f90919297979b9fa3abaca7a098928b7f726c61574d42352b210d040000000000050e171e252a2d2e3939424f5b6771777979797979797670665a4e423939393433302b251d140b0100000000000000000003101d2936424f5b6771777979797979797670665a4e42352e261c12070000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000000000a15202c38444f59606d79828e939da0a7a29f9a96979290908f90909297979b9fa4a7a09d928d82786d605a5041382d22170b000000000000000000000000000000000000000000000000000000000004101c2834404b54616e7b87939facac9f93877d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d85929fabaca095897c6f63564c4135291d11040000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e31252225282a2b2c2d2c2b2a282521201e19140f0a0400000000000000000000000000000007121c2730394044464847464855626f7b8895a2aea6998c7f7366594c403326190d000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000714212e3a4754616d7a7e7f8081828485817568584e43372e2c2823282c2f3945515d677783909daaada196877a6d6054473a2d211407000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000010d1924303a4653606d7984919ea7ab9f92877c6f685e564f47454141414045474e555c666e7b86929faba89e9184786c605346392d22170b00000000000000000000000000030b121821272c323839505d697378797979746d665e564e4f4d4a4746413a39352f28231c150c06000000000000000000000000000000000105090b0b131313130e161e272e344048505960696e7a828e939f948c7f736b60574d42362a1e1113130603000000000000000000000000000000000000000000000000071018242f39434e58616c74818e95a0a9a299928b80786d665c5145382c1f13060000000000000000000000000000000000000000000000000000010911181e2224252d2d2d2d2d2d2d2d2b21201e1a140d0500000000000000000000000000000000000000000000020b17232e38424d565f696e7b838d92999fa4acacaaaaa39f9e9d9c9c9d9ea1a9a8acaca8a19e9590867e726d625a50453c3123190f0000000000020d1720293036393b4646464a555f676a6c6c6c6c6c6c69665e54494646464641403c362f261d1308000000000000000000010e1a27333f4a555f676a6c6c6c6c6c6c69665e544b4740382e24190e0200101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000003101c27333d45515c676d79818990959b9fa2aaa9a19e9d9c9c9c9d9fa2a9aaa29f9b95908a80786d665c51473e2f261b11060000000000000000000000000000000000000000000000000000000000000c18232e3946535f6976828f9ca9afa499938a89898989898989898989898989898989898989898989898989899297a2adaa9d9084776b6054443a2f24190d010000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e312d2e32353738393939383735312e2d2a251f1b150d070100000000000000000000000000000b151e272e34383a3c3a3a4754606d7a8793a0b5a69a8d8073675a4d4034271a0d000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000815212e3b4854616e7b878c8d8e8f909184786a6054473f3a38342e34383a404b55606d7a86929facab9e918578675d5145392c201306000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000008131f2c3845515c67727f8b95a0aba39991847a6e68615954514c4e4e4b5153575f676d78839098a2aca0968b7f72665b5044382b1b1106000000000000000000000000000001070c161b21273845525f6b788586868681786d685f584f473f3a3936302c29241d17110a03000000000000000000000000000000000000000000000600070f18202830394045525a616b6f7b838f949d968f82776c60594f453b30251a0e020600000000000000000000000000000000000000000000000000000007121d28313c46505a606d7983909893939393928d82796d6053463a2d20130700000000000000000000000000000000000000000000000000000000060d1216181920202020202020201f1514120e090200000000000000000000000000000000000000000000000006111c26303b444d575f696e7880878f939a9ea1a8a7a9aaaaaaa9a9aaaaa9a8aaa39f9c96918b837c716c625b51483e332a1f1107000000000008141e29323b4146535353535353555b5d6060606060605c5a545353535353534e4c4841382f251a0f030000000000000000000a16222e39434d555b5d6060606060606060605a57524a40352a1f130700101c2936434f5c6976828f908376695d5043362a1d10030000000000000000000000000000000000000000000000010507070b0b0b0b0b0b0b101d2a3643505d697683908f8276695c4f4336291c1000000000000b16212834404b555c676d747d838a8e9298989a9c9d9e9f9f9f9e9e9c9a9898928e8a837d746d665c544a40352c1d140a0000000000000000000000000000000000000000000000000000000000000007121d2a36424d5764707d8a96a1adaba49f9796969696969696969696969696969696969696969696969696969fa2a9aea2988b7f7265594f4332281e1308000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e373a3b3f4143454646464543413e3b3936302b272018130c0400000000000000000000000000030c151c23282c2d2f2e3a4653606d798699a3afa79a8d8074675a4d4134271a0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000714212d3a46535e697884919a9b9c9d96897c6f625a504a464440434044464b515c67717e8b98a3aeaa9b8f827568554b4135291d1104000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000004101c2834404b55606d78839099a3aba09690837a706b64605d555b5b555d60636a6e79818e959faaa49a9184796d60544a3f33281c0a0000000000000000000000000000000000040a0f1926323f4c5965727f8c93938e827a6f6a6159514440393028201d18120c0600000000000000000000000000000000000000000000000000071019212a323a434b515b636c717d8591959f9991847a6d655b50473d33291f14090000000000000000000000000000000000000000000000000000000000010c161f2a343e45515c676e7b8586868686868686867a6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000106090b0c131313131313131312080705020000000000000000000000000000000000000000000000000000000a141e29323c454d575e666d737c82878d9196989a9c9d9e9f9f9f9f9e9c9b9998928f8a847f786f6a625a51493f362c21180e0000000000020e1925303b444c525f6060606060605d5b5553535353534f54566060606060605a58534a41362b20140800000000000000000006111c27313b434a4f5153515a61646c6c6c6c66635c52473b2f23170a00101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000002080d11131417171717171717171d2a3643505d697683908f8276695c4f4336291c100000000000050c18232e39434b555c606b6f787d8185898b8e9091919292929191908e8c8985827d77706b605c544b42392e231a0b0200000000000000000000000000000000000000000000000000000000000000000e1a26313b4653606d7984919eabb5afaca3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3abadb3ac9f92867a6d6054473d3221160c01000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e4246484c4e505252535252504e4b4746413b373229241d160d0500000000000000000000000000030b12181c1f20222c3844505c667986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000005121e2a36424d576774818e9aa6a9a89b8e81756c605c5453514a504a5153555d606d7983919daaaea2988b7e7165584b3e2f24180d01000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000c18232e3944515c666f7c87929fa4a8a09590847d76716d6769676869676d70757b838e939ea7a59f93887d70665c5142382d22170b000000000000000000000000000000000000000b1825313e4a56626d75818f969490847c706b625b514a423a322a2119110600000000000000000000000000000000000000000000000000040f19222b333c444c555c606d737e869297a09f92877c6f685d53493f352b20170d02000000000000000000000000000000000000000000000000000000000000040d18222934404b555f696e78797979797979797976685e5246392d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c17202a333c454d545c606a6f757b8084888b8d8f91929293929291908e8c8986827d79726d665f5850483f372d241a0f06000000000005111e2a36414c565e6c6c6c6c6c6c6c6a675f554a46444f5960636c6c6c6c6c6c67645c53483c3024180b0000000000000000000008101f2931323a424a505b636c7079797979736e63574b3f3226190c00101c2936434f5c6976828f908376695d5043362a1d10030000000000000000000000000000000000000000050d13191e20212424242424242424242a3643505d697683908f8276695c4f4336291c1000000000000007121d273039434b515960666c7075797c7f81838485858685858483817f7d7975706b636159514b423930271c110800000000000000000000000000000000000000000000000000000000000000000009141f2c3844505c6673808c99a3afbbb9b1acaa9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa7a9afb8bab1a79b8e8174685d5245392c20130400000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b464d5355585b5d5e5f605f5e5d5b5854524d47433d352f281f170f050000000000000000000000000000070c1012131c28343f4a5f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000020e1a25313c4855626f7c88949faaaa9e938a7e726d6662605c545d545c6062676d75808d95a0aca99f92867a6d6154473a2e21140700000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000007121d2834404a54606a727f8c929ca4a7a096918a827d7a7775747475767a7d818790959ea5a59e938d80736b60544b402f261c1106000000000000000000000000000000000000000916222e3a46515b606d7a8491989691867d726d605c544c443c332b2317110a0200000000000000000000000000000000000000000000000a16212b343d454d565e676d757f8a9298a19e938b7f726a60564c41382d23190e050000000000000000000000000000000000000000000000000000000000000000060f18232f39434d575f616c6c6c6c6c6c6c6c6c6c5e564c41362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000020608080c0e111212131312110e0c080705020000000000000000000000000000000000000000050e18212a333b424b51585f626a6e73787b7e80828485858686858483817f7c7975716d66605c544e463f362d251b12080000000000000714202d3946525e68767979797979797771675b4f434854606b70797979797979746e64584c4033271a0d00000000000000000007121a222b333b444c545c606d727e868686868073665a4d4033271a0d00101c2936434f5c6976828f908376695d5043362a1d100b0b0b0b0b0b0b07070501000000000000000000050e171e252a2d2e313131313131313131313643505d697683908f8276695c4f4336291c10000000000000000b151e27303940454f545b6063676d7072747677787879797877767472706d66636159554f45403930271e150b0000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87929facb9b1a7a0939393939393939393939393939393939393939393939b9ea5afb8aca095897c6f63564c4135291d110400000000000000000916222f3c4955626f7c8895a2afa4978b7e7164585053575f6165686a6b6c6c6c6b6a6864615e56544e45403a312921170f0500000000000000000000000000000004060c17232e46535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000915212e3b47535f6a76828f98a2aea59f92877f78726f6d666a696a666d6f7379818d929da7aca2978d8074685d5246392d20130700000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000c18232e39424e58626d73808c929ea1a8a19e948f8a8683828181828386898e93999fa7a39f938f81786d60594f42392e1d140a000000000000000000000000000000000000000006121e29353f45525d686f7c86929f9892877f746d665d564d453d3528231c140c03000000000000000000000000000000000000000000030f1b27323d464e575f686d79818c929fa3a0958e81756d62584e443a2f261b11080000000000000000000000000000000000000000000000000000000000000000000007121d27313c454d53555f60606060606060605f524c443b3025190e020000000000000000000000000000000000000000000000000000000000000000000003090e121415191b1d1e1f201f1f1e1b191514120e090300000000000000000000000000000000000000060f182129303940454e53575f6266696e71747677787979797877767572706d6764605c54504a423c342d241b1309000000000000000814212e3b4754616e7a86868686868683776a5d5144495663707d8686868686868074675a4e4134271b0e00000000000000030b1218242c343d454d565d666d747f87929892857b6e6154473b2e21140800101c2936434f5c6976828f908376695d5043362a1d17171717171717171413110d0802000000000000020d1720293036393a3e3e3e3e3e3e3e3e3e3e3e43505d697683908f8276695c4f4336291c1000000000000000030c151e272e343d424a5053555d60636567696a6b6c6c6c6b6b69676563605c54554f48443e342e271e150c0300000000000000000000000000000000000000000000000000000000000000000000000c17232e3846525e6975828f9ca8b2aca095898686868686868686868686868686868686868686868e939ea9b4aa9d9084776b6054443a2f24190d0100000000000000000916222f3c4955626f7c8895a2afa4978b7e7164545c6064696e72747678797979787674716e68626058514b433b332921170d030000000000000000000000000000000013202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000006121f2b37434e58626f7c86929fa4aca399928b837f7b797777767777797c80858e939da4aea49a92857a6d61564c4135291d110500000000000000000000000000000203101d2a3643505d69768390908376695d5043362a1d100302000000000000000000000007121c27303d46515b646e73808a92979fa3a69f9c9992908f8e8e8f9092989b9fa4a69f99928c81786d665c50473d30271d0b020000000000000000000000000000000000000000010d18232935414c565f6a727e8b939e99938c81786d685f574f473f342e261e150c03000000000000000000000000000000000000000007131f2c38434e5860696e7a828e939ca4a2989183796d605b51463d32281d140a0000000000000000000000000000000000000000000000000000000000000000000000010b151f2a333c4246485253535353535353535346413b32291e1408000000000000000000000000000000000000000000000000000000000000000000060c11151a1e212226282a2b2c2c2c2b2a282522211e1a14100b05000000000000000000000000000000000000060f171e272e343c43474e5355575f626567696a6b6c6c6c6c6b69686663605c5553504a443f38302a221b120901000000000000000814212e3b4754616e7a87939393939084776a5d5144495663707c89939393938d8174675a4e4134271b0e000000000000050c151d2328363e464f575f686d78818c939993877d70695e52463a2d20140700101c2936434f5c6976828f908376695d5043362a24242424242424242421201e19130d05000000000008131e29323a4146474a4a4a4a4a4a4a4a4a4a4a4a505d697683908f8276695c4f4336291c100000000000000000030c151d23282f383f44464b515356585b5d5e5e5f5f5f5e5e5d5b595653514b48443e383328231d150c0300000000000000000000000000000000000000000000000000000000000000000000000006111c2a36424d5763707d8a96a1acaa9d9083797979797979797979797979797979797979797979818e9ba7aea2988b7f7265594f4332281e13080000000000000000000916222f3c4955626f7c8895a2afa4978b7e716460666d71777b7f8183858586858583817e7b756f6a605d554d453b33291f150b0100000000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000030f1b26323c47535f6a717e8b939aa2aaa39f95918c8886848483838485898c92979ea5aaa39f93887d70685e52443a3024190d01000000000000000000000000050a0f12101d2a3643505d69768390908376695d5043362a1d10120f0a05000000000000000000000b151e2b343f49525c646e737e858e92999ea1a8a39f9d9c9a9b9c9d9fa3a9a29f9b948f877f776d665c544a3f352c1e150b00000000000000000000000000000000000000000000070d19242f3a434e58626d75818e95a09f928e827a6e69605951443f3830271e150b00000000000000000000000000000000000000000915222e3b4854606a6f7b8490949ea5a49f92867c6e675d51493f342b20160b02000000000000000000000000000000000000000000000000000000000000000000000000030d18212a31373a3b4546464646464646463b3936302920170d020000000000000000000000000000000000000000000000000000000000000002090e171d1f262b2e2f32353738393939383735322e2d2b261f1c160c07010000000000000000000000000000000000050c151d232831373c4247484d5355585a5c5e5f5f605f5f5e5d5b595653514b46443f38342e261e1810090000000000000000000814212e3b4754616e7a87949f9f9d9084776a5d5144495663707c89969f9f9a8d8174675a4e4134271b0e0000000000060e161e272e344048505960696e7a828e939f948c7f736b60574d42362a1e110500101c2936434f5c6976828f908376695d504336313131313131313131312e2d2a251e170e05000000010d1925303a444c5254575757575757575757575757575d697683908f8276695c4f4336291c10000000000000000000030b12181d262d333839404547494c4e5051525253525251504e4c4a4645403938332c282118120b0300000000000000000000000000000000000000000000000000000000000000000000000000000e1a25303b4653606c7884919eabaca095897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d7a86929facac9f92867a6d6054473d3221160c010000000000000000000916222f3c4955626f7c8895a2afa4978b7e71646a6f787e83888b8e909192939291908e8b86827c746d675e574d453b31271d120700000000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000000a15202b37434e58616c727f8892989fa3a7a09d99999291909090919298999ea2a9a69f98928b7f726c61564c4132281e13080000000000000000000000010910161b1e20202a3643505d69768390908376695d5043362a20201e1b161009010000000000000000030c19222d37404a525c636c717a81868d9196989b9c9e9f9f9f9f9e9d9b9997928e89827c736c655c544b42382e231a0c03000000000000000000000000000000000000000000000008131e28313c46515b606d79839198a29d948f847b706b625b504a423930271d1207000000000000000000000000000000000000000916232f3c4956626f7c85919693939393928a7e716a5f554b40372d22190e040000000000000000000000000000000000000000000000000000000000000000000000000000060f181f262b2d2e3939393939393939392e2d2a251e170e0500000000000000000000000000000000000000000000000000000000000000050d141a22282d31373a3b3f4144454546464544413f3b3a37312c272118120b030000000000000000000000000000000000030b121820262b31373a3c4247484b4d4f51525253535251504e4c494745403a38342e28231c140c06000000000000000000000814212e3b4754616e7a8794a1aa9d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e00000000070f18202830394045525a616b6f7b838f949d968f82776c60594f453b30251a0e0200101c2936434f5c6976828f908376695d50433e3e3e3e3e3e3e3e3e3e3e3a3936302920170d02000005111e2a36414c565e616464646464646464646464646464697683908f8276695c4f4336291c100000000000000000000000070b141c22282b2f35383a3d3f41434445454646454443413f3d3a38342e2c28211c160c070000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2b3844505b66727f8c99a3aea79a8d8174675c606060606060606060606060605765717e8b98a2aea79b8e8174685d5245392c201304000000000000000000000916222f3c4955626f7c8895a2afa4978b7e716c717c838b9095989b9d9e9f9f9f9e9d9b99928f8781796e695e574d43392f23180c03000000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000000040f1a26313c46505a636d727e868e92999da0a8aba39f9e9d9c9d9e9fa2aaaaa29f9b948f867e726d62594f443a3020160c0200000000000000000000010a131b21272b2d2d2d3643505d69768390908376695d5043362d2d2d2b27211b130a01000000000000000007101b252e38404a525a61686d747b8084888b8e90919292929291908e8c8985817c766f6a605b534b423930261c1108000000000000000000000000000000000000000000000000010c161f2a343f45515d676e7c86929fa59f9691857d726d605c544b42392e23180c000000000000000000000000000000000000000d1a2633404d59667380868686868686868680746c61574e43392f251b100700000000000000000000000000000000000000000000000000000000000000000000000000000000060e141a1e21222c2d2d2d2d2d2d2d2d21201e19140d0500000000000000000000000000000000000000000000000000000000000000060f171f252a34393c4247484c4e505152535252514e4c4846423c383329241d150d03000000000000000000000000000000000000070c151b20262b2e31373a3b3e41434445464646454443423f3d3a38342f2c28231c17110a0200000000000000000000000814212e3b4754616e7a8794a1a99d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e000000071019212a323a434b515b636c717d8591959f9991847a6d655b50473d33291f14090000101c2936434f5c6976828f908376695d504a4a4a4a4a4a4a4a4a4a4a4a4746413a32291e130800000713202d3946525e686d7171717171717171717171717171717683908f8276695c4f4336291c10000000000000000000000000020a11171c1f24292c2d3032343637383939393838363432302d2c28231d1c16100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616e7a86929facab9f9285796d60535353535353535353535353535f697683909caaaca095897c6f63564c4135291d1104000000000000000000000916222f3c4955626f7c8895a2afa4978b7e71717e8790959da09e9c9b9a9b9c9ea1a9aba39f9a938e847b6e695e554b403429201509000000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000000000a15202a343e48515b636c717b81878c919597999c9d9e9e9f9f9f9e9d9b9998928e89827b716c625b51473e32281e0e04000000000000000000000009131c252c33373939393943505d69768390908376695d50433939393937332c251c130900000000000000000009131c262e38404850565e61696e73787c7e818384858686858583817f7c79746f6a625f585049413930271e150a0000000000000000000000000000000000000000000000000000040d18222935404b555f6a717e8a939da7a09792877f746d665c544b4034281c10040000000000000000000000000000000000000c1925323f4b57636d737979797979797979746e645a50453c31281d120900000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214151f20202020202020201414110e080200000000000000000000000000000000000000000000000000000000000000060f18212930363e45494d5355595b5d5e5f5f5f5e5d5b5855534d48443d352f271f150d03000000000000000000000000000000000000030a0f151a1e21262b2e2f32343637383939393938363533302d2c29231f1c17110b06000000000000000000000000000814212e3b4754616e7a87949c9c9c9084776a5d5144495663707c89969c9c9a8d8174675a4e4134271b0e0000040f19222b333c444c555c606d737e869297a09f92877c6f685d53493f352b20170d020000101c2936434f5c6976828f908376695d5757575757575757575757575754524c443a3025190d01000714212e3a4754616d7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7e83918f8276695c4f4336291c100000000000000000000000000000060b0f12181d1f202325282a2b2b2c2c2c2b2b2a282623201f1c1812100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3846525e6875828e9ba8ada2978a7e7164574d42464646464646463f4a54626e7b88949fabaa9d9084776b6054443a2f24190d01000000000000000000000916222f3c4955626f7c8895a2afa4978a7e717e8892999e9896918f8e8d8e8f92979b9fa4aca49f9691847b6e675c51453c31261a0e020000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000030e18222d363f49515a61696e747b8084888b8d8f90919292929291908e8c8985817c766e69615a51493f352c20160c000000000000000000000005101b252e373e434646464646505d69768390908376695d504646464646433e372e251b10050000000000000000010a141c262e363e444c52575e61666a6f7274767878797978787675726f6d66626058534e443f382f271e150c03000000000000000000000000000000000000000000000000000000071018242f39434e58616c74818e95a0a9a299928b80786d665c5145382c1f13060000000000000000000000000000000000000a16232f3b47525b63666c6c6c6c6c6c6c6c67645c52483e332a1f160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708121313131313131313080705020000000000000000000000000000000000000000000000000000000000000000030d18212a333b42465055575f6265686a6b6c6c6c6b6a6865615f57544f45403931271f150b010000000000000000000000000000000000000003090e12151a1e21222527292b2c2c2d2c2c2b2a282623201f1c1812100c060000000000000000000000000000000814212e3b4754616e7a878f8f8f8f8f84776a5d5144495663707c898f8f8f8f8d8174675a4e4134271b0e00000a16212b343d454d565e676d757f8a9298a19e938b7f726a60564c41382d23190e05000000101c2936434f5c6976828f908376696464646464646464646464646464615e564c41362a1e1105000a1723303d4a5663707d898a8a8a8a8a8a8a8a8a8a8a8a8a8a8a91958f8276695c4f4336291c100000000000000000000000000000000003070c10131416191b1d1e1f1f201f1f1e1d1b19171313100c07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2a36414c5663707d8996a0aca99c8f8276695e5246382d393939393844505c6673808d99a6aea2988b7f7265594f4332281e130800000000000000000000000916222f3c4955626f7c8895a2afa4978a7e7c86929a96918c8784828181818285898e939aa1a9a8a0969083796d60574e42372b1f14090000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b989f9f998d8073665a4d4033271a0d0000000000000006101b242e373f4850575e61696e73777b7e80828484858686858583827f7d79756f6b625f5750483f372d231a0e0400000000000000000000000a16212c3740494f5353535353535d69768390908376695d5353535353534f4940372c21160a000000000000000000020a131c242c323a41464d5254585f626568696b6c6c6c6c6b6a686663605c54544e47433c332d261d150c03000000000000000000000000000000000000000000000000000000000007121d28313c46505a606d7983909893939393928d82796d6053463a2d20130700000000000000000000000000000000000007131e2a35404952575960606060606060605a58524a40362c21180d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a333c454d525a6164696e72747778787979787774726e69636059514b433931271d12070000000000000000000000000000000000000000000206090e121415181a1c1e1f1f20201f1e1d1b19161413100c070300000000000000000000000000000000000714212d3a4754606d7a8283838383838174675b4e414855626f7c8283838383827f7265584c3f3225190c00030f1b27323d464e575f686d79818c929fa3a0958e81756d62584e443a2f261b110800000000101c2936434f5c6976828f9083767171717171717171717171717171716d685e5246392d201307000a1723303d4a5663707d8993939393939393939393939393939393938f8276695c4f4336291c10000000000000000000000000000000000000000406070a0c0e1011121213131211100e0c0a07060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1925303b4854606b7784919daaac9f93877b6e6153493f33272d2d2d3a4653606d7984919eabac9f92867a6d6054473d3221160c0100000000000000000000000916222f3c4955626f7c8895a2afa3978a7e839098938d847f7b777574747476797c81889297a1a9a89f958d80736a5f53473b30251a0e0200000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b939393938d8073665a4d4033271a0d000000000000000009121c252e363e454d52575f62666a6e71737577787879797978777573706d67636059534d453e362d251b11080000000000000000000000000f1b27333e49525a5f60606060606069768390908376696060606060605f5a52493e33271b0f00000000000000000000010a121a202830363b4246484e5355585b5d5e5f5f5a61646c6c6c6c66635c52473d373127221b140b03000000000000000000000000000000000000000000000000000000000000010c161f2a343e45515c676e7b8586868686868686867a6e6154473b2e211408000000000000000000000000000000000000020d19242e3740474b4d53535353535353534d4c4740382f241a0f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000030613131313131313130d0c0a07020000000000000000000000000003060809131313131313130b0b090501000000000000000007121d27313c464e575e616c71777b7f8183848586858584817f7b76706b605d554b43392f23180c040000000000000000000000000000000000000000000000020608080b0e1011121313131211100f0c0a07060400000000000000000000000000000000000000000713202c3945525d686d767676767676746f64584c4047535f6a6f767676767676726d62564a3e3125180b0007131f2c38434e5860696e7a828e939ca4a2989183796d605b51463d32281d140a0000000000101c2936434f5c6976828f91837e7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7a6d6154473a2e211407000a1723303d4a5663707d868686868686868686868686868686868686868276695c4f4336291c1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141e2c38444f5965727f8c98a3aea4998c7f73655b5044372b1f2a36414c5663707d8a97a1ada79b8e8174685d5245392c2013040000000000000000000000000916222f3c4955626f7c8895a2afa89b8e818e9593878079726e6969686768656c6f757d859297a2ada79f92877b6e62574d42362a1e110500000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8686868686868073665a4d4033271a0d0000000000000000000a131c242c333b42464d5355575f626466696a6b6b6c6c6c6b6a686663605d55544f47423c332d241b130900000000000000000000000000121e2b37434f5a646c6c6c6c6c6c6c6c7683909083766c6c6c6c6c6c6c6c645a4f43372b1e12000000000000000000000000080e161e252a30363a3c4347484b4e504a505b636c7079797979736e63574b3f32262017110a020000000000000000000000000000000000000000000000000000000000000000040d18222934404b555f696e78797979797979797976685e5246392d2014070000000000000000000000000000000000000007121c252e353b3f404646464646464646413f3c362f261d12080000000000000000000000000000000000000000000000000000000000000000000000000000000000060c101220202020202020201a1917130e0800000000000000000000040a0f13151620202020202020181715110c06000000000000000c18242f39434e585f696e767e83888c8e909192929291908e8b87827d746d675d554b40342920150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c565d6069696969696967645c53483c434e585f6269696969696965625b51463a2e221609000915222e3b4854606a6f7b8490949ea5a49f92867c6e675d51493f342b20160b020000000000101c2936434f5c6976828f95918a8a8a8a8a8a8a8a8a8a8a8a8a8a8a897d7063564a3d3023170a000916222f3c4854606b70797979797979797979797979797979797979797670665a4e4135281c0f00000000000000000000000000000000000003080b0d0e13131313131313131313131313131313131313131313131313131313131313131311100e0a06000000000000000000000000000000000000000000000000000000000002101c27333d4754616d7a86929facab9e9184786c6053463a2f242d3946525e6875828f9ba9aca095897c6f63564c4135291d11040000000000000000000000000916222f3c4955626f7c8895a2afaa9e938e9393877e736d67615e575b5a535b60626b707c85929fa6afa3998e8175695e52463a2d20140800000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825313e4a56626d72797979797979736e63584b3f3226190c000000000000000000010a121a212930363c4247485761696b6c6c6c68605c5f5f5e5d5b595653514b48433d37312a211b1209010000000000000000000000000013202d3946535f6c767979797979797979839090837979797979797979766c5f5346392d201300000000000000000000000000050c13191f252a2d32373b3c3f444c545c606d727e868686868073665a4d4033271a0b060000000000000000000000000000000000000000000000000000000000000000000000060f18232f39434d575f616c6c6c6c6c6c6c6c6c6c5e564c41362a1e110500000000000000000000000000000000000000000a131c242a2f323339393939393939393433302b241d140b00000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171c1f2d2d2d2d2d2d2d2d2726231f19120a0200000000000000070f161b1f22232d2d2d2d2d2d2d2524211d181109000000000004101d2935404b555f6a6e7b838a9095989b9c9a989898999c9b9a938f8981796d675c51453d32271b0f00000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a444c52545c5c5c5c5c5c5b58534a41363c464e53555c5c5c5c5c5c585651493f34291e1206000916232f3c4956626f7c85919693939393928a7e716a5f554b40372d22190e04000000000000101c2936434f5c6976828f9393939393939393939393939393939393897d7063564a3d3023170a000713202c38444f5960636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69665e54493d3225190d0000000000000000000000000000000001080f14181a1b2020202020202020202020202020202020202020202020202020202020202020201e1d1a16110b04000000000000000000000000000000000000000000000000000000000b16202d3946525d6875818e9ba7aca096897c7063554b4135292e3a4754616d7a86929facaa9d9084776b6054443a2f24190d010000000000000000000000000916222f3c4955626f7c8895a2afafa59e9b958c7f736c605c55524d4e4e49505359606a717e8a949fabab9f92877b6e6154473b3025190e02000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000916222e3a46515b62656c6c6c6c6c6c66635c52473b2f23170a0000000000000000000000080f171f252a313744505d697378797979746d665e564e504f4c4a4745403938322b2620180f0900000000000000000000000000000013202d394653606c798686868686868686909494908686868686868686796c605346392d2013000000000000000000000000000002080d141a1e20262b343d454d565d666d747f87929892857b6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c454d53555f60606060606060605f524c443b3025190e020000000000000000000000000000000000000000010a12191e2325262d2d2d2d2d2d2d2d2726241f19130b02000000000000000000000000000000000000000000000000000000000000000000000000000000030c151c23282c393939393939393933322f2a241c140a00000000000007101920272b2e2f3939393939393932312e29221b12090000000006131f2c3945515d676e7c8490959d9d9993908d8b8b8b8d8f92999f9c938e82796d60584e43372b1c110600000000000000000000000106090b0c0e06060300000000000000020405060605040200000000000002070a0c0d0b0b0905010000000000000000000000000008131e28323a4145475050505050504e4c4841382f343c4347485050505050504c4a463f372d23180d01000d1a2633404d59667380868686868686868680746c61574e43392f251b100700000000000000101c2936434f5c697682868686868686868686868686868686868686867d7063564a3d3023170a0004101c27333d474f5456606060606060606060606060606060606060605c5a544c42382c211509000000000000000000000000000000020b131a202427272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2927221c150d0500000000000000000000000000000000000000000000000000000005111d2935414c56636f7c8995a0aca89b8e8174675d5145392c37434e5865727f8b99a3aea2988b7f7265594f4332281e1308000000000000000000000000000916222f3c4955626f7c8895a2afb7afa89d9083786d605a514b464241413f44464f58616c76828f9ca9afa3998c7f7266564c41362a1e1105000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000006121e29343f495156586060606060605a58524a40362a1f1307000000000000000000000000050d141a1f263845525f6b788586868681786d685f584f47403d3a38352f2c27211a150e060000000000000000000000000000000013202d394653606c798693939393939393969696969393939393939386796c605346392d201300000000000000000000000000000000050c151d2328363e464f575f686d78818c939993877d70695e52463a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a333c4246485253535353535353535346413b32291e14080000000000000000000000000000000000000000000000070d1316191a20202020202020201a1a17130e0801000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e262e34384646464646464646403f3b362e261c120800000000040f19222b32383b3c464646464646463e3d3a342d241b1106000004111d2935414c55606d798391969f9b938e8783807f7e7f8082878f949e9d948e81746a605447382e23170b00000000000000000000070d121618191b13120f0b06000608080c0e1112131312110f0c09080603080e1317191a181715110c06000000000000000000000000020c1620283035393a43434343434341403c362f262a32373b3c4343434343433f3e3a342d251b110700000c1925323f4b57636d737979797979797979746e645a50453c31281d120900000000000000000f1c2835414e5a66707679797979797979797979797979797979797979706b6054483c2f22160900000b16212b353d44484a535353535353535353535353535353535353534f4e49423a30261b10050000000000000000000000000000010b141d252b3033343939393939393939393939393939393939393939393939393939393939393939393736332e271f170d040000000000000000000000000000000000000000000000000000010d1924303a4854606b7783909daaac9f92857a6d6054473c313b4754606a7783909dabac9f92867a6d6054473d3221160c01000000000000000000000000000916222f3c4955626f7c8895a2afb9ada1968a7d70665c5045403936302d33373d46505a63707d8a97a1adab9d908377685e5246392d201407000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000010d18232d373f464a4c5353535353534d4b4740382e24190e020000000000000000000000000002090e1926323f4c5965727f8c93938e827a6f6a6159514440393029241d1b160e0903000000000000000000000000000000000013202d394653606c798693928d89898989898989898989898989898986796c605346392d2013000000000000000000000000000000060e161e272e344048505960696e7a828e939f948c7f736b60574d42362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000030d18212a31373a3b4546464646464646463b3936302920170d0200000000000000000000000000000000000000000000000002070a0c0d13131313131313130e0d0b0703000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f4453535353535353534d4b4740382e24190e020000000a16202b343d434749535353535353534b4a453f362d22180c01000613202c3945515d6773808d95a09b918c817b767372717273767b828f939e9f93877c6f62544a3f34281c100300000000000000010911181e22252628201f1c17110e121415181b1e1e1f201f1e1c191615130f12191f2326272524211d181109000000000000000000000000040e161e24292c2d3636363636363433302b251d20262b2e2f36363636363632312e29231b13090000000a16232f3b47525b63666c6c6c6c6c6c6c6c67645c52483e332a1f160c0000000000000000000d1925323d49545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f44382c2013070000050f19232b33383c3d4646464646464646464646464646464646464643413d3830281e140a00000000000000000000000000000008131d262f363c404146464646464646464646464646464646464646464646464646464646464646464644423f3931291f150b00000000000000000000000000000000000000000000000000000008131e2c38434f5965727f8b98a2aea2988b7e7165574d4237404b55626f7c8895a0aca79b8e8174685d5245392c20130400000000000000000000000000000916222f3c4955626f7c8895a2afb7ab9e9184786c60544a3f342e2a2522272b343e4653606c7885919eabac9f93877a6e6154473b2e211408000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000002090e1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000007111b252d343a3e3f464646464646403f3b362e261c1208000000000000000000000000000000000b1825313e4a56626d75818f969490847c706b625b514a423a322a211911060000000000000000000000000000000000000013202d394653606c7986938d807d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063564a3d3023170a0000000000000000000000000000070f18202830394045525a616b6f7b838f949d968f82776c60594f453b30251a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000060f181f262b2d2e3939393939393939392e2d2a251e170e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e38424a505f606060606060605a58524a40362a1f13070000030f1b27323d464e545660606060606060585650483f34291d1105000714212d3a4754606d7a85929f9e948c7f746e696765656566696e78818f98a39a8e8175665c5044382b1f12060000000000000009131b23292e3132352d2b28221c1a1e212225282a2b2c2c2b2a282622221f1b1c242a2f323332312e29221b1209000000000000000000000000040c13191d2021292929292929282724201a13151b1f21222929292929292525221e1811090100000007131e2a35404952575960606060606060605a58524a40362c21180d040000000000000000000915212c38424c545a5c6060606060606060606060606060606060606056544f473d33271c100400000008111921272c2f30393939393939393939393939393939393939393635322c261e160c020000000000000000000000000000030f1a252f3841484c4e535353535353535353535353535353535353535353535353535353535353535353514f4a433b31271c11060000000000000000000000000000000000000000000000000000020f1b27323d4754606d7a86929facaa9c908376695f53473845515c6774808d9aa7aca095897c6f63564c4135291d110400000000000000000000000000000916222f3c4955626f7c8895a2afb6ac9a8d8073665b5042382e231d1a171b222b3744505b6574818e9ba7afa49a8a7e7164574b3e31241807000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000040a0f141a1e2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000009131b23292e313239393939393933322f2a241c140a00000000000000000000000000000000000916222e3a46515b606d7a8491989691867d726d605c544c443c332b2317110a02000000000000000000000000000000000013202d394653606c7986938b7e727070707070707070707070707070706b6054483c2f22160900000000000000000000000000071019212a323a434b515b636c717d8591959f9991847a6d655b50473d33291f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000060e141a1e21222c2d2d2d2d2d2d2d2d21201e19140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000001070b0f1112131313131313130a090704000001070b0f1112131313131313130a0907040000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c66635c52473b2f23170a000006131f2b38434e5860626c6c6c6c6c6c6c65625a50453a2e211509000b1825323e4b5865717e8b989e9c8f82756d615e57585858575e666e7b86929f9e9285786d6053463a2d20130700000000000009121b252d353a3e3f413938332d26262b2e2f323537383939383735322f2e2b27262e353b3f403e3d3a342d241b120900000000000000000000000002080d1113141d1d1d1d1d1d1b1a18140f080a0f1215151d1d1d1d1d1d191816120d070000000000020d19242e3740474b4d53535353535353534d4c4740382f241a0f060000000000000000000005101b26303a42494e4f535353535353535353535353535353535353534a48443d352b21160b0000000000080f161c2022232d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c040000000000000000000000000000000814202b36414a53585a6060606060606060606060606060606060606060606060606060606060606060605d5b554d43392e22160a0000000000000000000000000000000000000000000000000000000a16202c3945515d6774818e9aa7ab9f94887b6e62544a3f4653606d7985929fabaa9d9084776b6054443a3024190d0100000000000000000000000000000916222f3c4955626f7c8895a2afafa49a897d7063544a3f30261c120e0b0f1b27333f495364717e8b97abb5ac9a8d8073675a4d402e23180c000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000000000000000002080d161b1f252a2d33404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000010911181e2225252d2d2d2d2d2d2726231f19120a02000000000000000000000000000000000006121e29353f45525d686f7c86929f9892877f746d665d564d453d3528231c140c030000000000000000000000000000000013202d394653606c7986938b7e7265636363636363636363636363636360594f44382c201307000000000000000000000000040f19222b333c444c555c606d737e869297a09f92877c6f685d53493f352b20170d0200000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214151f20202020202020201414110e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000050c12171b1e1f20202020202020171613100b050c12171b1e1f20202020202020171613100b05000000000006121f2c3844505c667679797979797979736e63584b3f3226190c00000815222e3b4754606a6f79797979797979716c62564a3d3124170b000e1b2835414e5b6874818e909192897c6f635b524d4c4b4c4d545e6976828f9ca297887b6e6155483b2e221508000000000009121b252d373f464a4c4e46443f382f31373a3b3f41444546464544423f3c3b37322c3840474b4d4b4a453f362d241a120800000000000000000000000000010407071010101010100e0d0b08030000030608091010101010100c0b0906010000000000000007121c252e353b3f404646464646464646413f3c362f261d12080000000000000000000000000a141e2830383d4143464646464646464646464646464646464646463d3c38332b23190f05000000000000050b10131617202020202020202020202020202020202020201c1c1915100a02000000000000000000000000000000000b1824303c48535c64676c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a675f554a3f33271a0e00000000000000000000000000000000000000000000000000000004111d2935414c55626f7c88959faba6998d8073665c50444d5764717e8a97a2ada2988b7f7265594f4332281e13080000000000000000000000000000000916222f3c4955626f7c8895a2afac9f93867a6d6053473a2d20140a00000b17222d3c4855626f7b8899a4afa99c8f837669554b4034281c10040000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000050c131921272c30363a3b404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000070d121618192020202020201a1917130e0800000000000000000000000000000000000000010d18232935414c565f6a727e8b939e99938c81786d685f574f473f342e261e150c0300000000000000000000000000000013202d394653606c7986938b7e72655856565656565656565656565656544f473d33271c10040000000000000000000000000a16212b343d454d565e676d757f8a9298a19e938b7f726a60564c41382d23190e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205070812131313131313131308070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171e23282a2b2d2d2d2d2d2d2d2322201c160f171e23282a2b2d2d2d2d2d2d2d2322201c160f08000000000713202d3a4653606d78868686868686868073665a4d4033271a0d00000916232f3c4956626f7c868686868686867e7165584b3e3225180b000c1926323f4c5965727f8283848586786d605346423f3e3f424d576773808d9aa995897c6f6256493c2f2316090000000008121b242d373f495157595b53504a42383c4247484b4e5151525352514f4c4947433c39404a52585a585650483f362c241a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a131c242a2f323339393939393939393433302b241d140b00000000000000000000000000020c161e262c32353639393939393939393939393939393939393939302f2c27211911080000000000000000000407090a13131313131313131313131313131313131313100f0d09050000000000000000000000000000000000000d1a2733404c58646e747979797979797979797979797979797979797979797979797979797979797979797771675b4f4236291d10000000000000000000000000000000000000000000000000000000010d19242f3a47545f6a7783909da9ab9e9184796d605346525e6976828f9ca9ac9f92867a6d6054473d3221160c020000000000000000000000000000000916222f3c4955626f7c8895a2afaa9e918477675d5145392c20130200000613202d3a4653606d7986939facab9e918478675c5145382c1f13060000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000000000000070e171e252a32383b4246474b4e596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000070d121618192020202020201a1917130e080000000000000000000000000000000000000000070d19242f3a434e58626d75818e95a09f928e827a6e69605951443f3830271e150b00000000000000000000000000000013202d394653606c7986938b7e7265584b4a4a4a4a4a4a4a4a4a4a4a4a48443d352b21160b000000000000000000000000030f1b27323d464e575f686d79818c929fa3a0958e81756d62584e443a2f261b11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1821282f34373839393939393939302f2c27211921282f34373839393939393939302f2c27211911080000000713202d3a4653606d798693939393938d8073665a4d4033271a0d00000916232f3c4956626f7c8993939393938b7e7165584b3e3225180b000c1825313e4a57636d7275767778796d665c5044383030363f4c5966727f8c99ab96897d7063564a3d3023170a000000040d1a242d363f49515b626568605b544a45464d5355585b5d5e5f5f5e5d5b5955544e47454a525c636665625a50483e362c231a0d0400000000000000000003060809131313131313131313131313131313131313131313131313130b0a0804000000000000000000010a12191e2325262d2d2d2d2d2d2d2d2726241f19130b020000000000000000000000000000040c141b212528292d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2322201c160f0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2734414e5a67748186868686868686868686868686868686868686868686868686868686868686868683776a5d5144372a1e110000000000000000000000000000000000000000000000000000000008131e2b37434e5865717e8b97a2ada1968a7d7063564c54616e7b87939faca79b8e8174685d5245392c201304000000000000000000000000000000000916222f3c4955626f7c8895a2afa89c8f827569554b4035291d1104000006131f2c3845515c677884919eabac9f9386796d6053463a2d2013070000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000000000071019202930363d44484d5254575b5d6673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000010911181e2225252d2d2d2d2d2d2726231f19120a020000000000000000000000000000000000000008131e28313c46515b606d79839198a29d948f847b706b625b504a423930271d1207000000000000000000000000000013202d394653606c7986938b7e7265584b3f3d3d3d3d3d3d3d3d3d3d3d3c38332b23190f0500000000000000000000000007131f2c38434e5860696e7a828e939ca4a2989183796d605b51463d32281d140a0000000000000000000000000000000000000000000002070c0f11121313131313131313131313131313131313131313131313131313131313131313131313131308070502000000000000000000000001070b0f1112131313131313130a09070400000000000000010c17212a333a404345464646464646463d3c38332b232a333a404345464646464646463d3c38332b23190f0500000713202d3a4653606d7986939f9f9f998d8073665a4d4033271a0d00000916232f3c4956626f7c89959f9f9f988b7e7165584b3e3225180b000916222e3a46515b636568696b676d675c544a3f41414142464e586673808d99a399887c6f6255493c2f2216090000010c161f2c363f48515b626d72746c665b545153575f6265686a6b6c6c6b6a68656260585452525c636e73716c625a50483e352c1f160c01000000000000040a0f12151520202020202020202020202020202020202020202020202020171714110c05000000000000000000070d1316191a20202020202020201a1a17130e080100000000000000000000000000000000020a1015191c1c20202020202020202020202020202020202020171613100b05000000000000000000000000000000000000000003090d1012131313131313130e0d0b080300000000000000000000000000000000000000000e1b2734414e5a6774818d939393939393939393939393939393939393939393939393939393939393939083776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000010f1b26323c4753606d7985929faba99b8e8275685d525966737f8c99a4aca095897c6f63564c4135291d1104000000000000000000000000000000000916222f3c4955626f7c8895a2afa79a8d8174675a4e412f24180d01000004101c2834404b556a7683909da9afa49a887b6e6155483b2e2215080000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000061019222b323a41464f54575e6164676a6b73808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000009131b23292e313239393939393933322f2a241c140a00000000000000000000000000000000000000010c161f2a343f45515d676e7c86929fa59f9691857d726d605c544b42392e23180c000000000000000000000000000013202d394653606c7986938b7e7265584b3f3d3d3d3d3d3d3d3d3d3d3d3c39332c231a10050000000000000000000000000915222e3b4854606a6f7b8490949ea5a49f92867c6e675d51493f342b20160b02000000000000000000000000000000000000000000060d13181c1e1f202020202020202020202020202020202020202020202020202020202020202020202020201514120e09030000000000000000050c12171b1e1f20202020202020171613100b05000000000007121e28333c454b5052535353535353534a48443d352b333c454b5052535353535353534a48443d352b21160b00000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2aca4988b7e7165584b3e3225180b0006121e2a353f495157595b5d555c605c554b474e4e4e4e4d52575f6a76838f9c9f92867a6d6054473a2d211407000007131d28313e48505a626d727f81786c665b5c6064696e727477787979787775726f6a65605d5c636e73807e716c615a50473e31281e13080000000000060e151b1f21222d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211c17100800000000000000000002070a0c0d13131313131313130e0d0b0703000000000000000000000000000000000000000005090d0f10131313131313131313131313131313131313130a090704000000000000000000000000000000000000000000070e14191d1f202020202020201b1a17140e08010000000000000000000000000000000000000e1b2734414e5a6774818d9a9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9d9084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000a151f2c3945515d6774808d9aa6ac9f92867a6d6154606b7784919eabaa9d9084776b6054443a3024190d01000000000000000000000000000000000916222f3c4955626f7c8895a2afa6998c807366594d4033261a07000000000c18232e424f5c6975828f9ca8b6ac95887c6f6255493c2f2216090000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000000050e18222b343d444c52596063696e7174767778808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000007111b252d343a3e3f464646464646403f3b362e261c120800000000000000000000000000000000000000040d18222935404b555f6a717e8a939da7a09792877f746d665c544b4034281c10040000000000000000000000000013202d394653606c7986938b7e7265584b4a4a4a4a4a4a4a4a4a4a4a4a49443e362c22170b0000000000000000000000000916232f3c4956626f7c85919693939393928a7e716a5f554b40372d22190e04000000000000000000000000000000000000000000070f171e24282b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d22211e1a140e06000000000000060f171e23282a2b2d2d2d2d2d2d2d2322201c160f08000000000b17232f3a454e565c5e6060606060606056544f473d333a454e565c5e6060606060606056544f473d33271c1004000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00010d18232d373f464a4c4f504b5153514c52545a5a5a5b575e61696f7c87929f9c8f8376675d5145392c20130600010d18242f3a43505a626c727f8b8e81786c66666d71767b7e81848485868584827f7c77726d68606e73808d877e716c61594f433a2f24190d0100000006101820262b2e2f3939393939393939393939393939393939393939393939393931302d28221a1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000811191f25292b2c2d2d2d2d2d2d2726241f1a130b0200000000000000000000000000000000000e1b2734414e5a6774818d9aa7acacb2a9a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000004101d2935404b55626f7b88949faba3998b7e726557636f7c8996a0aca2988b7f7265594f4332281e130800000000000000000000000000000000000916222f3c4955626f7c8895a2afa5988b7f7265584c3f3225190c00000000071b2835424e5b6875818e9ba8b0a396897d7063564a3d3023170a0000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000020c16202a343d464e565e616b6f757b7e8183848587939f96897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000010d18232d373f464a4c5353535353534d4b4740382e24190e0200000000000000000000000000000000000000071018242f39434e58616c74818e95a0a9a299928b80786d665c5145382c1f13060000000000000000000000000013202d394653606c7986938b7e726558575757575757575757575757575550483e33281c100400000000000000000000000d1a2633404d59667380868686868686868680746c61574e43392f251b1007000000000000000000000000000000000000000000060f1921292f343738393939393939393939393939393939393939393939393939393939393939393939393939392e2d2b261f180f0600000000050f1821282f34373839393939393939302f2c27211911080000000f1b2834404b5660686b6c6c6c6c6c6c6c6360594f4438404b5660686b6c6c6c6c6c6c6c6360594f44382c201307000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000007111c252d353a3e3f42434045474c565d616767676869696e727b8491999e938a7d7063554b4135291d11040004111d2935404b55616c717e8893938e81786c70797e83888b8e9091929291908e8c88847f7a726d73808d9292877e716b61554c4135291d11040000040e18222a32373b3c464646464646464646464646464646464646464646464646463e3c39332c241a1005000000000000000000000000020608080c0b09060100000000000000000000000000000000000000000004080a0b0807050200000000000000000000000000000000000205070813131313131313130707050100000000000000000007111a232a313538393939393939393433302b241d140b01000000000000000000000000000000000e1b2734414e5a6774818d9aa9b3b9ada1979191919191919191919191919191919191919191919191919083776a5d5144372a1e110000000000000000000000000000000000000000000000000000000000000c18242f3947535f6a7683909ca9ab9d908376695f6774818e9aa8ac9f92867a6d6054473d3221160c0200000000000000000000000000000000000916222f3c4955626f7c8895a2afa5988b7e7265584b3f3225180c000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a0000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000008131e28323c464e5860686d767c82878a8e9091929399a496897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000006121e29343f495156586060606060605a58524a40362a1f1307000000000000000000000000000000000000000007121d28313c46505a606d7983909893939393928d82796d6053463a2d2013070000000000000000000000000013202d394653606c7986938b7e72656464646464646464646464646464615a5044392d20140800000000000000000000000c1925323f4b57636d737979797979797979746e645a50453c31281d1209000000000000000000000000000000000000000000020d17212b333b404445464646464646464646464646464646464646464646464646464646464646464646464646463b3a37312a21180e030000010c17212a333a404345464646464646463d3c38332b23190f050000111e2a3743505c68727879797979797979706b6054483c43505c68727879797979797979706b6054483c2f221609000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000a131c232a2e3132352f343946525d686d7474747475777b7f8591969e938e81746b6155433a2f24180d01000613202c3945515d67717e87939a9d938e81797d848b9095989b9d9e9f9f9e9d9b9895918c857f79808d929c9992877d70675d5145392c20130600000a15202a343c434748535353535353535353535353535353535353535353535353534a49453e362c22170c0000000000000000000003090e121415191815120d06000000000000000000000000000000000000050c111417171514120e09030000000000000000000000000002090e12141520202020202020201413110d0802000000000000030e19232c353c414546464646464646413f3c362f261d1308000000000000000000000000000000000e1a2734414d5a6774808d97a2adb8ab9e91858484848484848484848484848484848484848484848484848275685c4f4235291c0f00000000000000000000000000000000000000000000000000000000000007121d2b37434e5864717e8a97a1ab9f95887b6e616d7985929faba79b8e8174685d5245392c2013040000000000000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b0000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000010d1925303a444e58606a6f7a82898f94979a9d9e9f9fa4ab96897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d100000000000000000000916222e3a46515b62656c6c6c6c6c6c66635c52473b2f23170a0000000000000000000000000000000000000000010c161f2a343e45515c676e7b8586868686868686867a6e6154473b2e2114080000000000000000000000000013202d394653606c7986938b7e727070707070707070707070707070706c6155493c3023160a00000000000000000000000a16232f3b47525b63666c6c6c6c6c6c6c6c67645c52483e332a1f160c0000000000000000000000000000000000000000000007131e29333d454c5052535353535353535353535353535353535353535353535353535353535353535353535353534846423c332a1f1409000007121e28333c454b5052535353535353534a48443d352b21160b0000121f2b3845525e6b7884868686868686867d7063564a3d45525e6b7884868686868686867d7063564a3d3023170a000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000000010a11181e22252628232e3a4754616d7a808181818284878c929796918b81796d60594f4431281d130700000714202d3a4753606d7a859297a2a59d938e848991969d9fa7a7aaa8a7a7a8aaa8a7a09d97928b858d929ca4a39892857a6d6054473a2d21140700030f1b26323c464e535560606060606060606060606060606060606060606060606060575550483e33281c11040000000000000000060e151a1e21222524221e181109010000000000000000000000000000000810171c21232422211e1a140d060000000000000000000000050d141a1e20212d2d2d2d2d2d2d2d21201d19130c05000000000009141f2a353e474d51535353535353534e4c4741382f241a0e030000000000000000000000000000000815212e3b4854616e7b85929ea4aea99d9083787777777777777777777777777777777777777777777777756f65594d4134281b0e000000000000000000000000000000000000000000000000000000000000010f1a26313c4653606d7985929eaca7998c7f7366717d8a98a2aca095897c6f63564c4135291d11040000000000000000000000000000000000000916222f3c4955626f7c8895a2afa4988b7e7165584b3e3225180b000000010e1a2734414d5a6774808d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000005111d2a36414c565f6a6f7d848f949c9ea6a7a9aaabacafa296897c6f635649505c6976838f9c9286796c5f5346392c201306000000000000000000000000030a0f1d2a3643505d69768390908376695d5043362a1d0f0a03000000000000000b1825313e4a56626d72797979797979736e63584b3f3226190c000000000000000000000000000000000000000000040d18222934404b555f696e78797979797979797976685e5246392d2014070000000000000000000000000013202d394653606c7986938d807d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7e7064574a3d3124170a000000000000000000000007131e2a35404952575960606060606060605a58524a40362c21180d04000000000000000000000000000000000000000000000c18242f3b454f575d5f6060606060606060606060606060606060606060606060606060606060606060606060606055534d453c31261a0e02000b17232f3a454e565c5e6060606060606056544f473d33271c100400121f2b3845525e6b7885919393939393897d7063564a3d45525e6b7885919393939393897d7063564a3d3023170a000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000000070d121618191c212e3b4854616e7b878d8d8e8f9193938f8d89847e756d675c51473e331f160c0100000613202c3945515d676f7c859298a2a59d9591959da0a8aba8a09d9b9a9a9b9d9fa4aca9a19e9691969ca4a39992867d70675d5145392c2013060006121f2b37434e585f626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d21140800000000000000060f181f262b2e2f32312e29231b130a010000000000000000000000000008121a22282d30312e2d2a261f180f06000000000000000000050f171f252a2d2e39393939393939392e2d2a251e160e05000000010d1925313c4750585e5f6060606060605a58524a41362b1f14080000000000000000000000000000000714202d3a46525e69707d8a929da7ab9f958d80736b6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a68655d54493d3125190c000000000000000000000000000000000000000000000000000000000000000a151f2c3845515c6773808d9aa4aa9d9184776a75828e9baaaa9d9084776b6054443a3024190d010000000000000000000000000000000000000916222f3c4955626f7c8895a2afa5988b7e7265584b3f3225180c000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b0000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000713202d3946525e686f7c8691969ea6aab0b4b6b7b8b9afa296897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000060e151a1f2a3643505d69768390908376695d5043362a1f1a150e060000000000000c1925323f4c5865727f8686868686868073665a4d4033271a0d00000000000000000000000000000000000000000000060f18232f39434d575f616c6c6c6c6c6c6c6c6c6c5e564c41362a1e11050000000000000000000000000013202d394653606c798693928d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a86796c605346392d20130000000000000000000000020d19242e3740474b4d53535353535353534d4c4740382f241a0f0600000000000000000000000000000000000000000000000f1c2834404c5761686b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5f574d42372b1e1205000f1b2834404b5660686b6c6c6c6c6c6c6c6360594f44382c20130700121f2b3845525e6b7885919e9f9f9f96897d7063564a3d45525e6b7885919e9f9f9f96897d7063564a3d3023170a000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000000000106090c0c15212e3b4854616e7b87949a9b9c9e938682807d78716c605c554b40352c210d0400000004111d2935404b55606a6f7c869298a2a7a09da0a7a9a29f9996918f8e8d8e90939a9ea1a8a8a19ea1a8a39992877d706b60554c4135291d1104000815212e3b47535f6a7679797979797979797979797979797979797979797979797979716c6155493c3023170a000000000000060f18212a31373a3b3f3e3a342d251c130a01000000000000000000000008121a242c33393c3e3b3a36312921180f0500000000000000020d17212930363a3b4646464646464646463936302820160c02000004101d2935414d58626a6c6c6c6c6c6c6c67645c52473c3024170b00000000000000000000000000000005121e2a36424d57616c74808d95a0aaa79f93887d70685e545e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5c59544b42372c2115090000000000000000000000000000000000000000000000000000000000000004101c2834404b55616e7b87939faca095887b6f7985929faca3988b7f7265594f4332281e1308000000000000000000000000000000000000000916222f3c4955626f7c8895a2afa5988b7f7265584c3f3225190c000000010e1b2834414e5b6774818e9aa7b0a4978a7d7164574a3e3124170b0000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000005121e2a36424d57616d7a849198a1a8b0b7bbc1c3c4c5bcafa296897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000006101820262b2e3643505d69768390908376695d5043362e2b262018100600000000000c1925323f4c5865727f8b939393938d8073665a4d4033271a0d000000000000000000000000000000000000000000000007121d27313c454d53555f60606060606060605f524c443b3025190e020000000000000000000000000013202d394653606c798693939393939393939393939393939393939386796c605346392d201300000000000000000000000007121c252e353b3f404646464646464646413f3c362f261d1208000000000000000000000000000000000000000000000000111e2b3744505d6873787979797979797979797979797979797979797979797979797979797979797979797979797976695f53463a2d21140700111e2a3743505c68727879797979797979706b6054483c2f22160900121f2b3845525e6b7885919eabaca396897d7063564a3d45525e6b7885919eabaca396897d7063564a3d3023170a000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000000000000060b0f12131c212e3b4854616e7b8793939495989a9285817d756e685e574d43392e23180c00000000010d18242f3a434e58606a6f7d86929aa4acaaaca59d97928c88848281818283878b91969fa3ababadac9f92877d706b61594f433a2f24190d01000915222f3c4855626f7c868686868686868686868686868686868686868686868686867e7164574a3e3124170b0000000000050f18212a333c4247484c4a463f372e251c130a0100000000000000000008121a242c363e45494a4846423b332921170e0500000000000009141f29333b42464853535353535353535346413a32281e1308000005121f2b3845515e6a7479797979797979746e64584c3f33261a0d000000000000000000000000000000020e1a25303b454f59606d79839098a2aea49a92857a6e665b5051515151515151515151515151515151514f4d49423930261b100400000000000000000000000000000000000000000000000000000000000000000c18232e3946535f6976828f9ca9a7998c7f737d8a98a2ac9f92867a6d6054473d3221160c02000000000000000000000000000000000000000916222f3c4955626f7c8895a2afa6998c7f7366594c4033261907000000020f1b2835424e5b6875818e9ba8b0a3978a7d7064574a3d3124170a0000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000714212d3a46535f6974818e96a1aab2bac2c7ccd0d1c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c201306000000000000000000061018222a31373a3c43505d69768390908376695d50433c3a37312a22181006000000000c1925323f4c5865727f8b989f9f998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000010b151f2a333c4246485253535353535353535346413b32291e1408000000000000000000000000000013202d394653606c798686868686868686868686868686868686868686796c605346392d2013000000000000000000000000000a131c242a2f323339393939393939393433302b241d140b00000000000000000000000000000000000000000000000000121f2c3845525f6b7885868686868686868686868686868686868686868686868686868686868686868686868686867b6e6155483b2e22150800121f2b3845525e6b7884868686868686867d7063564a3d3023170a00121f2b3845525e6b7885919eabaca396897d7063564a3d45525e6b7885919eabaca396897d7063564a3d3023170a000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00000000020a11171c1f2028232e3b4854616e7b86868687898c9195928e89827a6e695e544a4034281c10040000000007131d28313d464e58606b6f7c87939facaba39f938e857f7b7775747475777a7e848c9299a2a9b3a4978a7e716b61594f473d31281e130800000916232f3c4956626f7c8993939393939393939393939393939393939393939393938a7d7164574a3e3124170b00000000050e172129333c454d5355585651493f372e251c130a010000000000000008121a242c363e4850555755534d453b332920170e0500000000020e1a25303b454d525f60606060606060605f524c443a3025190d01000613202c3946535f6c79868686868686868074675a4e4134271b0e0100000000000000000000000000000009141f29333e45515c676e7b86929fa5aca1978f82786c60594f4444444444444444444444444444444442413d3730271e140900000000000000000000000000000000000000000000000000000000000000000007121d2b37424d5764717d8a97a1aa9d908377818e9baaa79b8e8174685d5245392c20130400000000000000000000000000000000000000000916222f3c4955626f7c8895a2afa79a8d8174675a4e412e23180c000000030f1c2936424f5c6975828f9ca8afa296897c6f6356493c302316090000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000815222e3b4855616e7b87929fa8b2bcc4ccd3d7dcd5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000060f18222a343c43474847505d69768390908376695d50474847433c342a22180f060000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000000000000000000030d18212a31373a3b4546464646464646463b3936302920170d02000000000000000000000000000013202d3946535f6c767979797979797979797979797979797979797979766c5f5346392d201300000000000000000000000000010a12191e2325262d2d2d2d2d2d2d2d2726241f19130b0200000000000000000000000000000000000000000000000000121f2c3845525f6b7885929393939393939393939393939393939393939393939393939393939393939393939393887b6e6155483b2e22150800121f2b3845525e6b7885919393939393897d7063564a3d3023170a00121f2b3845525e6b7885919e9f9f9f96897d7063564a3d45525e6b7885919e9f9f9f96897d7063564a3d3023170a000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000000020b141c22282b2d352e343a46535e69767979797a7c7f848c9399948f847b6e665c5144382c1f150900000000010c161f2b343d45515d67717e8b9aa4afa399928b817a736e6968676768686e72797f879297a2aaa6998c7f73695f53463e352b1f160c010000091623303c4956636f7c89969f9fa8a19e9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c978a7d7164574a3e3124170b000000020b172029333b454d575f6265625b51493f372e251c130a01000000000008121a242c363e48505a6164615f574d453b322920170c0200000005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c5e564c41362a1d1105000613202c3946535f6c798692939393938d8174675a4e4134271b0e01000000000000000000000000000000030d17212834404b555f69717e8a939da8a99f948c7f736b60564c4135373737373737373737373737373534312c261e150c02000000000000000000000000000000000000000000000000000000000000000000000e1a26313c4653606d7984919eaba095887b85929faba095897c6f63564c4135291d110400000000000000000000000000000000000000000916222f3c4955626f7c8895a2afa89b8f827568544a4034281c1004000004101c2934404b556a7683909da9b4aa95887b6f6255483c2f2215090000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0006121e2b37424d576774818d99a3afbac4ced6dfe3e2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c20130600000000000000030e18212a343c464e535554525d69768390908376695d525455534e463c342a21180e0300000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000000000000000000000000000000000000000000000060f181f262b2d2e3939393939393939392e2d2a251e170e05000000000000000000000000000000121e2b37434f5a646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e12000000000000000000000000000000070d1316191a20202020202020201a1a17130e08010000000000000000000000000000000000000000000000000000121f2c3845525f6b7885929e9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f94887b6e6155483b2e22150800121f2b3845525e6b7885919e9f9f9f96897d7063564a3d3023170a00121f2b3845525e6b7885919393939393897d7063564a3d45525e6b7885919393939393897d7063564a3d3023170a000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000a141d262d33383942434045464d575e6c6c666d6d6f72787f87939f969083786d6053463c31261a0e0200000000040f1b27333f4953606d7984919eaca49f92877f746d68615f575b5a565e61676d727d859298a2ac9f92867b6e61564c41362a1e11050000000a1623303d495663707c899aa4aca196918f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8a7d7164574a3e3124170b0000000a141d29323b454d575f696e726d635b51493f372d251c130a0100000008121a242c363e48505a616c716e695f574d443b32291e140a0000000714202d3a46525e6976797979797979797976685e5246392d201307000613202c3946535f6c7986929f9f9f9a8d8174675a4e4134271b0e0100000000000000000000000000000000050f18232e39434d57616c74818e95a0aaa69f92877d6f685d52463f342a2b2b2b2b2b2b2b2b2b2b2b292825211b140c03000000000000000000000000000000000000000000000000000000000000000000000009141f2c3844505c6673808c99a4a79c8f828f97a2aa9d9084776b6054443a3024190d0100000000000000000000000000000000000000000916222f3c4955626f7c8895a2afaa9d908477665c5144382c1f1206000006131f2c3845515c677884919eabaea298877a6d6154473a2e2114070000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000814212d3a47535f697884919eabb5c0ccd6e0e8f1e2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000009151f2a333c464e585f62615e566976839090837669565e61625f584e463c332a1f150900000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000060e141a1e21222c2d2d2d2d2d2d2d2d21201e19140d05000000000000000000000000000000000f1b27333e49525a5f60606060606060606060606060606060606060605f5a52493e33271b0f0000000000000000000000000000000002070a0c0d13131313131313130e0d0b070300000000000000000000000000000000000000000000000000000000121f2c3845525f6b7885929eabacacaea9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a194887b6e6155483b2e22150800121f2b3845525e6b7885919eabaca396897d7063564a3d3023170a00121f2b3845525e6b7884868686868686867d7063564a3d45525e6b7884868686868686867d7063564a3d3023170a000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000006111c262f383f44464f504b51535452535f605c606162666c727f8b95a0958c7f7265574e42372b1e12060000000005121f2b3744505b65727f8c97a1a89c928a7e726d615d56534d4e4e4c52555c606b707c86929fa6a3988e8175685e5246392d2014070000000815222f3b4855626e7b87939fa99e91848383838383838383838383838383838383827d706356493d3023160a000006111b262f3b444d575f696e7b7f726d635b51493f372d251c130a010008121a242c363e48505a616c717d7b6e695e564d443a30261c110600000815212e3b4854616e7b86868686868686867a6d6154473a2e211407000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e01000000000000000000000000000000000007121d27303c45505a606d79839198a3aea39991847a6d615b51463c31281d1e1e1e1e1e1e1e1e1e1c1b191510090200000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939fac9e948f949ea9a3988b7f7265594f4332281e13080000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afac9f9286796d6053463a2d20130900000714202d3a4753606d7a86939facac9f928579685e5246392d2013070000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000815222e3b4855616e7b8896a1adbdc7d1dee8f2efe2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c201306000000000000020e1a26313c454e585f6a6f6d685e69768390908376695e686d6f6a5f584e453c31261a0e02000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000000000000000000000000000000000000000000000000003090e1214151f20202020202020201414110e080200000000000000000000000000000000000a16212c3740494f535353535353535353535353535353535353535353534f4940372c21160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2c3845525f6b7885929eabb8aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a94887b6e6155483b2e22150800121f2b3845525e6b7885919eabaca396897d7063564a3d3023170a00111e2a3743505c68727879797979797979706b6054483c43505c68727879797979797979706b6054483c2f221609000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00000b17222d38424a50535b5d555c60605d564c4a505354545b606c7883909d9e9184786a5f53473a2e211408000000000613202d394653606c7884919ea9a0968d80736c625b524c4642414141464b5159606a717e8a939eaa9f92867a6e6154473b2f24180c0000000814212e3a47535f6975818e97a29d9084787676767676767676767676767676767676706b6054483b2f22160900000b17222d38414d565e696e7b848b7f726d635b51493f372d251b130a08121a242c363e48505a616c717e86847b6e695e564c42382e23170b00000815212e3b4854616e7b87939393939393877a6d6154473a2e211407000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e010000000000000000000000000000000000000b151e2a333e45515d676f7c86929fa5aba1968f82756d62584e433a2f24180f111111111111110f0e0c09040000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3846535e6975828f9ca8a69e9c9ea6ac9f92867a6d6054473d3221160c020000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afaea399887c6f6255493c31261a0d06030615222f3c4855626f7b8899a4afaa9d9084776a564c41362a1e11050000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000b1825313e4b5864717e8b97a8b2bdcfd9e3f0faefe2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c20130600000000000006121e2b37424d575f6a6f7b7a6d686976839090837669686d7a7b6f6a5f574d42372b1e1206000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000000000000000000000000000002050708121313131313131313080705020000000000000000000000000000000000000005101b252e373e4346464646464646464646464646464646464646464646433e372e251b10050000000000000000000000000000000000000003080b0e0e131313131313130a090704000000000000000000000000000000000000000000000000000000121f2c3845525f6b7885929eabb8a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d887b6e6155483b2e22150800121f2b3845525e6b7885919e9f9f9f96897d7063564a3d3023170a000f1b2834404b5660686b6c6c6c6c6c6c6c6360594f4438404b5660686b6c6c6c6c6c6c6c6360594f44382c201307000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00030f1c28333f4a545b6068696b676d6d685d52454446474a505b6573808c99a196887b6e6255483b2f221508000000000a1623303d495663707d8996a0a99e9184786d605a5146413a373130363940454f58616c75828f99a3a3998c7f7266554b4035291d1004000006121e2b37424d57616e7b85929fa0958c80736c6969696969696969696969696969696360594f44382c20130700030f1b27333f49535e696e7b8491918c7f726d635b51493f372d251b13121a242c363e48505a616c717e879291847b6e685e544a3f34281c1003000815212e3b4854616e7b87949f9f9f9f94877a6d6154473a2e211407000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e01000000000000000000000000000000000000030c18212935404b555f6a727f8b939ea8a89e948b7f726a5f554b41352921180d030404040404020200000000000000000000000000000000000000000000000000000000000000000000000000000001070c06111c2a36424d5763707d8a96a1acaaa8aab0a79b8e8174685d5245392c201304000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afb5ab998c7f7266574d42372b1f15120f121c2834404a5465717e8b98abb5a89b8e8175685b4e423025190d010000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000d192633404c5966737f8c99a6b2bfcfd9eaf5ffefe2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000814212d3a47535f696f7c85837a6d68768390908376686d7a83857c6f695f53473a2d211408000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131c252c33373939393939393939393939393939393939393939393937332c251c130900000000000000000000000000000000000001080f14181a1b20202020202020171614100b0500000000000000000000000000000000000000000000000000121f2c3845525f6b7885929eabb4a79a8d8080808080808080808080808080808080808080808080808080808080807a6d6154473a2e21140700121f2b3845525e6b7885919393939393897d7063564a3d3023170a000b17232f3a454e565c5e6060606060606056544f473d333a454e565c5e6060606060606056544f473d33271c1004000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0006121f2b3844505b666c75767778797a6d60544b403a3a3f495364717e8b97a8978a7d7164574a3e3124170b00000003101c28343f4a546773808d9aa8a2978a7e71665c51483f35302b26252a2e343d46505a626e7b87929fab9d908376675d5145382c1f13060000020e1a26313c46525e68717e8a929c9f93887e716c605b535c5c5c5c5c5c5c5c5c5c5c56544f473d32271b10030005121f2b3744505b656e7b8491969c918c7f726d635b51493f372d251b1a242c363e48505a616c717e8792999691837a6d665c5044382b1f1206000815212e3b4854616e7b8794a1acaca094877a6d6154473a2e211407000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000060f18242f39434e58626d75818e96a1aba69f92867c6f675d51453f332a1f150b010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c13181b1e1a25313b4653606c7884919e9f9f9f9f9fa095897c6f63564c4135291d1104000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afb6a99c908376695f53473c3127201f1c1f232c3844515c6675818e9ba8b3a9988c7f7265594c3f32261908000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000d1a2734404d5a6773808d9aa6b3c0cdd9e6f3fcefe2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000815222e3b4855616e7b859290837a6d7683909083766d7a839092857b6e6155483b2e221508000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000000000000000000000000000000000000010406070a0d101112131312100e0b080705020000000000000000000000000000010a131b21272b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a010000000000000000000000000000000000020b131a202427282d2d2d2d2d2d2d2323201c160f08000000000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a73737373737373737373737373737373737373737373737373737373736d685e5246392d20130700121f2b3845525e6b7884868686868686867d7063564a3d3023170a0007121e28333c454b5052535353535353534a48443d352b333c454b5052535353535353534a48443d352b21160b00000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000613202d394653606c7881838485868275665c5145403f414a5464717e8b97a4988b7e7165584b3e3225180b00000006121f2b3844505c667683909da99f9285796d60544a403629241e1a191d2328343e47535f6a7683909ca99f92867a6d6053473a2d2014070000000915202a36414d56616c73808d939d9a92877e736c655d554e5050505050505050504948443d352b21160b00000613202d394653606c79839096a0a39c918c7f726d635b51493f372d25242c363e48505a616c717e879299a3a0959083796d6053463a2d201307000815212e3b4854616e7b8794a1acaca094877a6d6154473a2e211407000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000007121d28313c46515b606d7a849199a3aea3999184796d605a50463c31271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171e23282a2b2d2b3844505b66737f8c999393939393939084776b6054443a302419120b030000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afb7ab9f94887b6e62574e4339312d2b282b2e343f4953606d7985929fabada297897c6f6356493c30231609000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000e1b2835414e5b6874818e9ba7b4c1cedae7f4fcefe2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000713202d3a4653606d78818e9390837a7683909083767a8390938e81786d6053463a2d201307000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000000000020608080d0606030000000000000000000000000000000104080d111314171a1d1e1f201f1f1d1b181414110e080200000000000000000000000000010910161b1e202020202020202020202020202020202020202020201e1b161009010000000000000000000000000000000000010b141d252b30333439393939393939302f2c27211a11080000000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e67676767676767676767676767676767676767676767676767676767615e564c4135291d110500111e2a3743505c68727879797979797979706b6054483c2f22160900010c17212a333b434a4f5053535353534c4a463f372d232a333b434a4f5053535353534c4a463f372d23190f0500000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0006121f2b3844505b6677849091929285796d6058514a4c4b515b6673808d99a9978a7d7164574a3e3124170b0000000713202d3a4653606d7986929fa89b8e8175665c5042392e2419130e0d1218222b37434e5866727f8c99a5a399897c6f6356493c30231609000000030e1925303b44505a606c77818e939c99928b80776d675f585045414343434343433d3b38322b23190f04000005121f2b3744505b65707d869298a2a39c918c7f726d625b51493f372d2c363e48505a616c717e879299a3a39992877e71665c5044382b1f1206000815212e3b4854616e7b87949f9f9f9f94877a6d6154473a2e211407000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000010c161f2a343f45525d686f7c87929fa6aba0968e81756c62584e43392f24180f060000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1821292f3437383939333f4a54616e7a8786868686868686867f7265594f43322c29231d150d0700000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbdb0a69a8d81746a5f554b433c39383338393f44505b65717e8a97a2adab9f9285796d6053463a2d201307000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000e1b2835414e5b6874818e9ba7b4c1cedae7f4fcefe2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c20130600000000000006121f2c3844505c666d78818e9390837a839090837a8390938e81786d665c5044382c1f1206000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000003090e1214151913120f0b06000000000000000000000003070d1013191d202124272a2b2c2d2c2b2a282521201e19140f0a0400000000000000000000000000050a0f1213131313131313131313131313131313131313131313120f0a050000000000000000000000000000000000000008131d262f363c4041464646464646463d3c38332c231a0f0500000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e615a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a54524c443a3025190d01000f1b2834404b5660686b6c6c6c6c6c6c6c6360594f44382c20130700000a16222e39434d555b5d6060606060585651493f34292e39434d555b5d6060606060585651493f34291e120600000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00030f1c28333f4a546774818e9a9f978b7e716a605c5459555d606c7884919da297897c6f6356493c302316090000000714212e3a4754616d7a8798a3a5988b7f7265544a3f30271c1208020007101a26313d495663707c8996a3ab978a7d7164574a3e3124170b0000000008141f29323e44505b656c78818d929f9f928c81796f6a625a514c433c34363636302f2c2721191107000000030f1b27333f4953606b707d869298a2a39c918c7f726d625b51493f37363e48505a616c717e879299a3a39992877e716c61544a3f34281c1003000815212e3b4854616e7b87939393939393877a6d6154473a2e211407000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000040d18222935414c56606a727f8c949fa9a89e938b7e716a5f554b40352921170c03000000000000000000000000000000000000000000000000000000000000000000000000000000010c17212a333a4044454646463a46525e686e797979797979797979726d6256473f3a38342f271f191007000000000000000000000000000000000000000916222f3c4955626f7c8895a2afb4aba39f92877b6e675d554e4846443f44464a5059606c7883909da9b1a89b8e8175665c5044382b1f1206000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000e1b2734414e5a6774818d9aa7b4c0cddae7f6ffefe2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c20130600000000000003101c28343f4a545c666d78818e939084839191838490938e81786d665c544a3f34281c1003000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000060e151a1e212226201f1c17110a0200000000000003060c1012181d2024292c2d30343638393939383735322e2d2a251e1b150d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a252f3841484c4e535353535353534a48443d352c21160b00000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e61544d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4746413a32281e130800000b17232f3a454e565c5e6060606060606056544f473d33271c100400010e1a27333f4a555f676a6c6c6c6c6c65625b51463a2e333f4a555f676a6c6c6c6c6c65625b51463a2e22160900000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00000b17222d3c4956626f7c89949f9f92857c716d66666666676d737f8c96a09f9285796d6053463a2d2013070000000815222f3b4855626e7b8895aaa4978a7d7164574a3e2e24150b000000000915222f3b4855626e7b8895a1a5988b7e7265584b3f3225180c00000000020d172027333f49535b666c74808b92989c938f847c716c605d554e463e362e292322201b160f0700000000000b17222d38414f59606b707d869298a2a39b918c7f726d625b51493f3e48505a616c717e879299a3a39992877e716c615a5042382e23170b00000815212e3b4854616e7b86868686868686867a6d6154473a2e211407000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000061019242f3a444e58606c77828f97a1aba59f92867c6e675d51453e33291e150b00000000000000000000000000000000000000000000000000000000000000000000000000000007131e29333c454c505253535246444d565e616c6c6c6c6c6c6c6c6c65625b51504c47454039312a221910060000000000000000000000000000000000000916222f3c4955626f7c8895a2afaea39992999083796d6760585553504a5053545c606b727f8b95a0acaca095897d7063544a3f34281c1003000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000d192633404c5966737f8c99a6b2bfced9e5f1feefe2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c201300000000000000000c17232e38424a545c666c78818e92909195959191928d81786c665c544a42382e23170c00000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000060f181f262b2d2e332d2b28221c140b08060406060b0f12171c1f24292c2f35393a3d4043444546464543413e3b3936302b272019130c04000000000000000000000000000000000000000000050a0d0f101313100f0d0a05000000000000000000000000000000000000000000000000000814202b36414b53595b6060606060606056554f473d33271c1004000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e615447404040404040404040404040404040404040404040404040403a3935302820160c02000007121e28333c454b5052535353535353534a48443d352b21160b000003101d2936424f5b6771777979797979726d62564a3e3136424f5b6771777979797979726d62564a3e3124180b00000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00000615222e3b4754606a76828f98a29792857e7975737273757a8088939fa1978d8074665c5144382c1f12060000000916222f3c4955626f7c8895a2a396897d7063564a3d30231706000000000714212e3a4754616d7a8794a0a5998c7f7266594c3f3326190c0000000000050e17222d38414a545b606e737e8691969e9691867e756d675f58504840372e261c13100b0400000000000006111b262f3d474f59606b707d869298a2a39b918c7f726d625b514948505a616c717e879299a3a39992877e716c615a50483e30261c110600000714202d3a46525e6976797979797979797976685e5246392d201307000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000000008131e28323d44505b656d7a859199a4aea2989083796d605a50453b30271c120700000000000000000000000000000000000000000000000000000000000000000000000000000c18232f3a454f575c5e60605f53504a4d52545f60606060606060605c5e5f5f5c5853514b433c342a22180c0200000000000000000000000000000000000916222f3c4955626f7c8895a2afac9f928692958f81796f6a6462605b545b6062666d727d87929fa7b0a69d9184786c605346392e23170b00000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000b1824313e4b5764717e8a97a8b2bdc8d4e2edf8efe2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c20110c0600000000000006111c263038424a545b666c77808d929da0a09d928d80776c665b544a423830261c110600000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000030e18212a31373a3b403938332d261d191312101314171c1f23282c2f35393a4145474a4d505152535252504e4b4746413b373229241e160e05000000000000000000000000000000000000030a11161a1c1d20201d1c1a16110a0300000000000000000000000000000000000000000000000b1824303c48535d64676c6c6c6c6c6c6c6360594f44382c201407000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b3434343434343434343434343434343434343434343434342e2d29251e160e04000000010c17212a333b434a4f5053535353534c4a463f372d23190f05000004111d2a3744505d6a778386868686867f7265584c3f323744505d6a778386868686867f7265584c3f3225190c00000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000006131f2b37434e58616e7b869298a097928b8582807f8082858d939aa19892857a6d61544a4034281c10040000000815222e3b4855616e7b8894aaa4978a7d7164574a3e2d22170b000000000815222f3b4855626e7b8895a1a5988b7e7265584b3f3225180c00000000000006111b262f38424a505c636c717c848e939f98928b817a6f6a625a524940382e251c110800000000000000000a141d2b353d474f59606b707d869298a2a39b918c7f726d625b51505a616c717e879299a3a39992877e716c615a50483e362c1e140a00000005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c5e564c41362a1d1105000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000010c162027333f49535e68707d87939fa6aaa0958d81746c61574d42392e23180e05000000000000000000000000000000000000000000000000000000000000000000000000030f1b2834404c5761686b6c6c6c605c544a46475353534c52565d6065696b6c6b6965605c554e463c342a1e140a00000000000000000000000000000000000916222f3c4955626f7c8895a2afa5988b7f8b93938f837c76716e6c666b666c6e72787f879299a3aea99f948a7e71665b5044382b1c110600000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000815222e3b4855616e7b8896a0acb8c6d0dbe7f0f9e2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c211d1711090000000000000a151e263038424a545b656c77808d939d9d938d80776c655b544a423830261e150a0000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000009151f2a333c4247484c46443f382f2925201f1d1f2022282b2e34383a4045474c5254575a5d5e5f605f5e5d5b5854524c47433c35302820170e0500000000000000000000000000000000040d151c2226292a2d2d2a2926221c150d04000000000000000000000000000000000000000000010e1a2733404c59646f7479797979797979706b6055483c2f231609000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e272727272727272727272727272727272727272727272721201d19130c0400000000000a16222e39434d555b5d6060606060585651493f34291e1206000004111e2b3744515e6a7784919393938c7f7265594c3f323744515e6a7784919393938c7f7265594c3f3226190c00000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000030f1b27323d46535f69707d8691969e9f97928e8c8c8d8f92989f9f9691867d6f685e5242392e23180c000000000714212e3a4754616d7a8798a2a5988b7f7265544a3f33281c1107010006101823303c4956636f7c8996a2aa978a7d7164574a3e3124170b000000000000000a141d262f383f44525a616a6f7a818b92989f938e847c716c635b524a40372e231a0d0400000000000000020b19232b353d474f59606b707d869298a2a39b918c7f726d625b5a616c707e879299a3a39992877e716c615a50483e362c241a0c02000000020e1a25303b454d525f60606060606060605f524c443a3025190d01000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000000000040d17222d38414c56606b73808d949fa9a79d928a7e71695f544a40342820170b02000000000000000000000000000000000000000000000000000000000000000000000005111e2a3744505c6873787979796d665c504441454c52565e61686d727678797876726d675f584e463c30261c1106000000000000000000000000000000000916222f3c4955626f7c8895a2afa396897d818e96959087827e7b79787778797b7f848c9299a3abaaa2978f82776c60544a3f33281c0a0000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000714212d3a46535f697784919eaab4bfcad6dee8eee2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f534639302d29221b12090000000000030c151e262f38424a535b656c74818e9b9b8e81746c655b534a42382f261e150c030000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00020e1a26313c454d53555953504a423b35302d2b292c2d2d3338393f44464b5153565d606367696b6c6c6c6b6a6865615e56544e46413a322920170d020000000000000000000000000000030d161f272d32353639393635322d271f160d030000000000000000000000000000000000000000010e1b2834414e5b677481868686868686867d7063564a3d3023170a000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1413110d08020000000000010e1a27333f4a555f676a6c6c6c6c6c65625b51463a2e221609000005111e2b3844515e6b7784919e9f998c7f7266594c3f333844515e6b7784919e9f998c7f7266594c3f3326190c00000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000a15202a36424d57606b707c848c9196999c9b9999999b9d9a97928d847d6f6b60564c4130271c1207000000000613202d394653606c7985929fa79b8e8174665b5044382d2218120d0c1117222b37424d5765727f8c98a5a398897c6f6256493c2f23160900000000000000020b141d262d33404850585f686d757e8690959d9691867e736d645c524940352c1f160c0100000000000000071119232b353d474f59606b707d869298a2a39b918c7f726d62616c707e879299a3a39992877e716c615a50483e362c241a1208000000000009141f29333b42464853535353535353535346413a32281e130800000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000006111b262f3a444f59606d78829097a2ada49f92857b6e665c51443e32291d140a000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885868686786d60534a4c51565e61686d737a7f82858685837f796f6a5f584e42382e23170b000000000000000000000000000000000916222f3c4955626f7c8895a2afa3968a7d7a84919899938f8b888685848486888c91969fa3aba9a29892857b6e655b5042382d22170b0000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0005121e2a36424d576673808c98a2aebac3ccd7dce3e7d5c9bcafa296897c6f635649505c6976838f9c9286796c5f53463e3d39342d241b110600000000060f19232b353d464e58606a6f7c8592989891857c6f6a60584e463d352b23190f060000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0006121e2b37424d575f6166605b544d46413b393835393a3c3f44464a5053555d6064686d70737677787979787674716e68626058524c443a32291e130800000000000000000000000000000a151f2831383e4243464643423e3831281f150a0000000000000000000000000000000000000000010e1b2734414e5a6774818d93939393938a7d7064574a3d3124170a000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e21140d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d070705010000000000000003101d2936424f5b6771777979797979726d62564a3e3124180b000005121e2b3845515e6b7884919ea6998c807366594d40333845515e6b7884919ea6998c807366594d4033261a0d00000713202d3a4653606d798693a0aca69a8d8073675a4d4034271a0700000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000000040e1a26313b454f59606a6f797f848a8d8f9192929291908d8a8580796f6b60594f443a301e150b000000000006121f2b3844505b667683909ca99e9285786c60544a3f3329241d19181b2227343c46535f6976838f9ca99f9286796d6053463a2d2013070000000000000000020b141c2228363e464e565d606c717b838d929f98928b80736e645b51473d31281e13080000000000000000071119232b353d474f59606b707d869298a2a39b918c7f726d6c707e879299a3a39992877e716c615a50483e362c241a1208000000000000020d17212930363a3b4646464646464646463936302820160c0200000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000a141d29323d44505c666e7b85929ea4ada2979083786d60594f443b2f261c11060000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d6976839098897c6f635a56555d60686d737a80858b8f9192928f8b847c6f6a5f544a3f34281c10030000000000000000000000000000000916222f3c4955626f7c8895a2afa4978a7d717d8692989f9c9799929291919298989ea0a8aba69f9792867d70695f53493f2f261c11060000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00020e1a26313b4754616e7a86929fa7b1bac2cbd1d6dcd5c9bcafa296897c6f635653535c6976838f9c9286796c5f53534b49453e362d22170c000000030e18212b353d474f58606a6f7c8592918c8c9191857c6f6a60584f473d352b21180e0300000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000814212d3a47535f696e736c665f57524c484644404547494a5053545c6063676d71757a7d8083848586858583817e7a756f6a615d564c443a3025190d0100000000000000000000000005111c27313a434a4e505353504e4a433a31271c110500000000000000000000000000000000000000010e1a2734414d5a6774808d9a9f9f9f978a7d7164574a3e3124170b000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e2114080101010101010101010101010101010101010101000000000000000000000004111d2a3744505d6a778386868686867f7265584c3f3225190c000005121f2b3845525e6b7885919ea6998d8073665a4d40333845525e6b7885919ea6998d8073665a4d4033271a0d00000713202d3a4653606d798693a0aca79a8e8174675b4e412e23180c00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000009141f29333d474f5860676d72787d8082848586858483807e79736d6760594f473d32281e0c030000000000030f1c28333f4a546673808d99a7a1978a7d70665b50443e352f292423282d333d464f59616e7b86929faa9c908376665c5145382c1f13060000000000000001070d111317242d343c444c525a62696e78808b92999f928c80736d63594f433a2f24190d010000000000000000071119232b353d474f59606b707d869298a2a39b918c7f72707e879299a3a39992877e716c615a50483e362c241a12080000000000000000050f171f252a2d2e39393939393939392e2d2a251e160e050000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000020b172028343f4a545e69707d8a929da7a99f958d80736b61564d42382d22170e05000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9a8e81756c656364676d737a80868d92989c9e9f9e9c9691857c6f665c5044382b1f13080000000000000000000000000000000916222f3c4955626f7c8895a2afa4978a7e71707d8690959da0a39f9e9e9e9fa3aaa9a8a69f9c948f857d706b60574d41382d1d140a000000000000000000000000000613202c3946535f6c7986929f9f9f9a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000914202d3946525e6873808c95a0a8b1bbc0c7cbd0d0c9bcafa296897c6f63606060606976838f9c9286796c606060585650483e34291d110500000915202a333d474f59606a6f7c8592918c7f7f8c9192857c6f6a60594f473d332a20150900000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000815222e3b4855616e7b7f786e69615e565453504b515356545b6063666d70757a7e82868a8d909192939291908e8b86827c746d685e564c41362a1e11050000000000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a00000000000000000000000000000000000000000d1a2633404d596673808c99a6aca4978b7e7164584b3e3125180b000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919393938c7f7265594c3f3226190c000005121f2c3845525f6b7885929ea69a8d8073675a4d40343845525f6b7885929ea69a8d8073675a4d4034271a0d01000713202d3a4653606d798693a0aca89b8f827568544b4034281c1004000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00000000030d17212b353d464e555c60666d70737677787978787674716d67605d554f473d352b20160c000000000000000b17222d3c4956636f7c8995a0a99d9083786c605a50454039352f2e34383f444e58616b75818e99a3a3988c7f7265544b4034281c1004000000000000040c13181d202021222a323a414550575f666d747e8792989c928c7f726b61564c4135291d1307000000000000000000071119232b353d474f59606b707d869298a2a39b918b7f7d879299a3a39992877e716c615a50483e362c241a120800000000000000000000050d141a1e20212d2d2d2d2d2d2d2d21201d19130c05000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000000000000000050e17232e38424d57616c74808d95a0aaa79f93887d70695e544a3f332820160b020000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98938b7f75717071747a80858d92989fa2aaa4a3a5a8a1979083786d6053463a2f24190d0100000000000000000000000000000916222f3c4955626f7c8895a2afa4978a7e716b707c838b9195989b9d9e9f9f9f9e9d9b9894908a827b706b60594f453b2f261b0b02000000000000000000000000000613202c3946535f6c798692939393938d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000005111e2a36414c56606d798390969fa7afb5babfc2c3c4bcafa296897c6f6c6c6c6c6c6c76838f9c9286796c6c6c6c64625a5045392d21150800020f1a26313c464f59606b6f7c8592918b7f72727f8b9192857c6f6b60594f463c31261a0f02000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000815222f3b4855626e7b88827b736d686461605b555d606265666c7074797d81858a8f92999a9c9e9f9f9f9e9d9b99928f87817a6d685e5246392d2013070000000000000000000000010d1a26323e4a545e66696c6c69665e544a3e32261a0d01000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919e9f998c7f7266594c3f3326190c000006131f2c3946525f6c7985929fa79a8d8074675a4d41343946525f6c7985929fa79a8d8074675a4d4134271a0e01000713202d3a4653606d798693a0aca99d908376665c5145382c1f130700091623303c4956636f7c8996a2afa4988b7e7165584b3e3225180b0000000000060f19232b343d434b51545c606366696b6c6c6c6b6a6764605d55514b433d342b23190e04000000000000000615222f3b4854606b7784919da8a0958c7f726c615a514b4541403f4045495058606a707d8a939eaa9f92867a6d6154473a2e23180c000000000000040d161d24292c2d2e2f30302f353e454d545c606c717d8692999f93887d70685d52453a2f24180d01000000000000000000071119232b353d474f59606b707d869298a2a39b918b869299a3a39992877e716c615a50483e362c241a120800000000000000000000000002090e12141520202020202020201413110d080200000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839098a2aea49a92857b6e665b50443d32281d140a0000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b88959b918b827e7d7e81858c92989fa2a29f9a9796989c9f9f958a7d7164554c4135291d110400000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e71646a6e787e84888c8e909192929291908e8b88837d766e6960594f473d33291d140a00000000000000000000000000000613202c3946535f6c79878686868686868074675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000020e1925303b45515c666e7b8490959fa3abaeb4b6b7b8b9afa296897d7979797979797979828f9c92867979797979716c6256493d3024170a0006121f2b37434e58606b707d8692918b7f726d6d727f8b9192867d706b60584e43372b1f1206000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000815222f3b4855626e7b888f86807a75716e6c666b676d6f7175797c81858a8e92989c9fa3aba39f9e9d9d9d9fa3a39f9a938e847a6d6154473a2e2114070000000000000000000000030f1c2935424e5a66707679797670665a4e4235291c0f03000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a6998c807366594d4033261a0d000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919ea6998c807366594d4033261a0d00000613202c3946535f6c7986929fa79a8d8174675a4e41343946535f6c7986929fa79a8d8174675a4e4134271b0e01000713202d3a4653606d798693a0acac9f9286796d6053463a2e23180d060a1723303d4a5663707d8996a3b0a4978b7e7164584b3e3125180b000000000000081119222b303940454a5053575a5c5e5f5f5f5e5d5a5753514b45413a312b22191107000000000000000007131f2c38434f5965727f8b96a1a79f93887e716c605d55524c4c4c4b51535b606a6f7c86929fa5a3988e8174685e5246392d1d12070000000000010c161f282f35393a3b3c3c3d3d3c383b424a515a626b707e87939f9a92857a6d60554b4135291d110400000000000000000000071119232b353d474f59606b707d869298a2a39b999299a3a39992877e716c615a50483e362c241a120800000000000000000000000000000002050708131313131313131307070501000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000040404000a141e29333e45515c676e7b86929fa5aca1978f82786c60594f443a2f261b110600000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a7784919d9b948f8b898a8d92989fa2a29f98928d8a898b90949c9c8f8276675d5145392c20130600000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e71645f666d71777b7f8183858586858583817e7b76706b615e574f473d352b21180b02000000000000000000000000000006121f2c3845525e6a7579797979797979746e64584c3f33261a0d000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000008141e2834404b545e696e7b838d92999fa3aaa9aaabacaea5998f8986868686868686868f949f988986868686867e7164584b3e3125180b000814212e3a47535f6a707d8692918b7f726d62626d727f8b9192867d706a5f53473a2e211408000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000815222f3b4855626e7b8898928d86827e7b797877787a7c7e8285898d92979b9fa2a7a09d9999929190909192999a9ea19f96887b6e6255483b2f221508000000000000000000000003101d2a3643505d69768286868276695d5043362a1d1003000000000000000000000000000000000000000916232f3c4956626f7c8995aab4a79a8e8174675b4e4134281b09000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919ea6998d8073665a4d4033271a0d000006121f2c3844515c667986939fa79b8e8174685b4e41353844515c667986939fa79b8e8174685b4e4135281b0e02000713202d3a4653606d798693a0acaea398897c6f62544b4034281f1612101824313e4b5764717e8a97a4b1a4978a7e7164574b3e3124180b000000000000000810191e272e34383f44464a4d505152535251504d4a47454039352f281f191007000000000000000000030c1b27323d4753606d7984919eaca49a92867e736d67605d565959545c60656c717c859198a2ac9f92867b6e61564c4135291d0c03000000000007131d28313a4045474848494a4a48443d3940445059616c73808c96a0978d8073675d5145392c2013060000000000000000000000071119232b353d474f59606b707d869298a2aba39fa3a39992877e716c615a50483e362c241a12080000000000000000000000000000000000000000060606060606060600000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000306080911111111110c17212834404b555f69717e8a939da8a99f948c7f736b60564c41382d22170d040000000000000000000000000000000000000000000000000000000000000006121e2b37424e5765727e8b95a09e9c9896979a9fa2a39f98928c85817e7d7e838c929f92867a6d6054473a2d21140700000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164545c60646a6e72757778787979787675726e69636159534d453d352b23190f0600000000000000000000000000000004111d2a36424e59636a6c6c6c6c6c6c6c67645c52473c3024170b000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000020c18232e39424d575e696e7880878d9298999c9d9e9fa39fa1999693939393939393939c9fa6a393939393938b7e7164584b3e3125180b000815222f3b4855626e7b8592938b7f726d625b5b626d727f8b9192857b6e6255483b2f221508000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000815222f3b4855626e7b88959f98928e8b878685848586898b8e92979a9ea1a8a09e9995908c89868483838486898d92979e95887b6e6255483b2f221508000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000814212e3b4754616e7a8798a2aea89b8f8275685c4f4230251a0e020000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000005121f2c3845525f6b7885929ea69a8d8073675a4d4034271a0d01000713202d3a4653606d79869aa4a89b8e8175685b4e42353a4653606d79869aa4a89b8e8175685b4e4235281b0f02000713202d3a4653606d798693a0acb4aa998d8073665c51453b3128201f1c1e26323f4c5965727f8c98a5b0a3968a7d7063574a3d3024170a0000000000000000070c151d23282e34383a3d4043444546454543413e3a38352f29241d160d07000000000000000000000b151e2b353d45515c67717d8a9aa4aca298928a8079716d6867666567666d70787e869197a1aaa6998c8073695e53493f372d1e150b00000000010d18242f3a434b51535455565756554f473d343f47505a606d7884919e9f92857a6d6054473a2d211407000000000000000000000000071119232b353d474f59606b707d86929facafacac9f92877e716c615a50483e362c241a1208000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000030a0f1215151e1e1e1e1e1e1e18232e39434d57616c74818e96a0aaa69f93877d70685e53493f33271f160c01000000000000000000000000000000000000000000000000000000000000020e1a26313c4653606c78839097a1a8a4a3a4aaa29f98928d86807a74717072767f8c94998a7d7063574a3d3024170a00000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164585053585f6265686a6b6c6c6c6b6a6865615f57554f46423b332b2319110700000000000000000000000000000000010e1a26313d4751595e5f6060606060605a58524a41362b1f1408000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000007121d27303b454d575e666d747b8186898d8f909192999393939393939393939393939393939393939393938b7e7164584b3e3125180b000814212e3a47535f6a74808d887f726d625b51515b626d727f8b8d80746a5f53473a2e211408000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000815222f3b4855626e7b88949fa29f9b979992919192939a989b9ea1a9a29e9a96918c8883807d7a78767677797c80858b9297887b6e6255483b2f221508000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000613202d394653606c7985929facaa9d9083776a574d42362a1e11050000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929fa79a8d8074675a4d4134271a0e01000714202d3a4753606d7a8693a0a89b8e8275685b4f42353a4753606d7a8693a0a89b8e8275685b4f4235281c0f02000713202d3a4653606d798693a0acb8ab9e9285796d60574d433a322d2c282a2d36424d576774818e9aa7b3a995897c6f6256493c2f231609000000000000000000030b12181c23282b2d30333638393939383734312d2c29241d18130c040000000000000000000007121c27303d474f59606b707d87939facaaa29f928d847e7a767473727375797d838b9298a1a9b3a5998c7f726d625b51493f30271d120700000004111d2935404b555d60616263636360594f4438353e44505c66727f8b98a2988a7e7164574b3e3124180b00000000000000000000000000071119232b353d474f59606b727f8c98a5b2b3a79a8d80746c615a50483e362d241b120900000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e01000000000000000000000000000000000000060e151a1f21222b2b2b2b2b2b2b2b2b27303c45505a606d79849198a3aea49991847a6d655b50443d31281e13080000000000000000000000000000000000000000000000000000000000000009151f2b3844505b666f7c8591969c9f9f9e9c98928d86807a736d686463656d76828f998d8073665a4d4033271a0d00000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b464e5355595b5d5e5f5f5f5e5d5b5855534d48443e363129211911070000000000000000000000000000000000000915202b353f474e52535353535353534e4c4741382f241a0e03000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000000b151e29333b454d545c60696e747a7d808384858686868686868686868686868686868686868686868686867e7164584b3e3125180b0006121f2b37434e58646e74817e726d625b514949515b626d727f80746e64584e43372b1f1206000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000714212d3a4754606d79828b92989ea1a8a39f9e9e9f9fa4aca9a19e9a97928e89847f7b7773706d676a6a666d6f73797f858f887b6e6255483b2f221508000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000005121f2b3744505b657783909daaac9f928579695e52463a2d2014070000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929fa79a8d8174675a4e4134271b0e01000714212d3a4754606d7a8793a0a89b8f8275685c4f42353a4754606d7a8793a0a89b8f8275685c4f4235291c0f02000713202d3a4653606d798693a0acb9ada1978b7e71695e554c443e3a3834363a3d46535e697784909daaada297877a6e6154473b2e2114080000000000000000000000070c11171c1f202427292b2c2c2c2b2a2724201f1d18120d070100000000000000000000000c18232e39424f59606b707d86929aa4aba9aca49c96918b8682807f7f8082858a90959fa3aaaaaca79c918b7f726d625b5142392e23180c0000000613202c3945515d676d6e6f6f70706b6055483d32343f4a54616e7b8899a49a8d8174675a4e4134271b0e010000000000000000000000071119232b353d474f59606b707d86929facacacac9f92877e716c615a50483e362d241b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e01000000000000000000000000000000000006101820262b2e2f3737373737373737373737333e45515d676f7c86929fa5aba1968f82776c60584e433a2f24190d06000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545f6a6f7c848c909292918f8b86807b746e68605d56565b64707d8a998f8275685c4f4235291c0f02000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e4347484c4e505252535252504e4b4846423b38332a251f170f0700000000000000000000000000000000000000040f19242d353d424546464646464646413f3c362f261d130800000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000000030c172129333b424a51575e61676d7073767778797979797979797979797979797979797979797979797979716c6256493d3024170a00020f1a26313c46525c646e74726d625b51493f3f49515b626d72746e645c52463c31261a0f02000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000613202c3945515d676d767e858c9196989b9d9e9f9f9e9d9a9897928e8a85817c77736e696663605d55545c6063676d727a81887b6e6255483b2f221508000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000030f1b27333f49536874818e9ba7aea298877b6e6154473b2e2114080000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667986939fa79b8e8174685b4e4135281b0e02000814212e3b4754616e7a8794a1a89c8f8275695c4f42363b4754616e7a8794a1a89c8f8275695c4f4236291c0f03000713202d3a4653606d798693a0acb1a7a09d92857b6e675d56504846443f4246474f58616e7b8795a0acab9f928578685e5246392d20140700000000000000000000000000060b101213171a1d1e1f201f1e1d1a171413100c070100000000000000000000000004101c2834404a54606b707d869298a3a69f9c9fa4a8a19e99928f8d8c8c8d8f92989da0a7a7a09da0a7a39b918b7f726d62544b4034281c100400000714202d3a4753606d797b7b7c7d7d7063584e4338313a4653606d7986939f9c8f8276695c4f4336291c100300000000000000000000071119232b353d474f59606b707d869298a2a39f9fa3a39992877e716c615a50483e362d241b12090000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929faca79b8e8174685b4e4135281b0e0200000000000000000000000000000000030e18222a31373a3c44444444444444444444444444404b555f6a727f8b939ea8a89e948c7f726a60554c41352922180c010000000000000000000000000000000000000000000000000000000000000b17222d38424e585f6a6f797f83858684827f7a736e69615e56524c4a54606d7987868683776a5e5144372b1e1104000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e373a3b3f4244454546464543423f3b3a36312c28211a140d050000000000000000000000000000000000000000000a16202b343d4347494949494949494846423b33291f140900000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000050f172029303940444d53555d606366696a6b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64625a5045392d21150800000915202a33414a525c646765625b51493f37373f49515b626567645c524a41332a20150900000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0004111d2935414b555d606d717a7f84898c8f9091929291908e8b8885817d79746f6b66615f575653514b4b5153555c60686d757f7b6e6155483b2e221508000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000b17222d3f4c5865727f8b98aab4aa96897c706356493d302316080000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79869aa4a89b8e8175685b4e4235281b0f02000815212e3b4854616e7b8794a1a99c8f8376695c5043363b4854616e7b8794a1a99c8f8376695c504336291d1003000713202d3a4653606d798693a0acaca09590959082796d68615a5553504a4d525459606a74808d9aa7b1a99c8f827669564d41362a1e11050000000000000000000000000000000306070a0d101112131212100e0b07060400000000000000000000000000000006121f2c3844515c66707d869298a3a39c948f939aa0a7aba39f9c9a99989a9b9fa2aaa8a19e9590959ba3a39b918b7f72665c5145382c1f13060003101c2936434f5c6976828788898a85786a605448423f404653606d798699a49c8f8376695c504336291d1003000000000000000000071119232b353d474f59606b707d869298a2a399929299a3a39992877e716c615a50483e362d241b120900000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929faca89b8e8275685b4f4235281c0900000000000000000000000000000000000a15202a343c4347485151515151515151515151515151514e58626d75818f96a1aba69f92877c6f675d51453f34291d110500000000000000000000000000000000000000000000000000000000000006111c262f3c464e585f676d727678797876726d68615e56524c454145515d67757979797771675b4f43362a1d1004000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e312e2f32353738393939383735322e2d2a261f1c170e0903000000000000000000000000000000000000000000030f1b27323d464e545656565656565654534d453b31251a0e02000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000000000050e171e272e343b42464b5153565a5c5d5e5f6060606060606060606060606060606060606060606060585650483e34291d11050000030e18212f38414a52585a585651493f372d2d373f495156585a58524a41382f21180e0300000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00010d18242f3a434b515a62686d72797c7f82848586858583817f7c7974706d6663605955534d494745404045464b51565e616d726e695f53473a2d211408000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000616232f3c4956626f7c8998a3aea5988c7f7265594c3f3025190d0100000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0a89b8e8275685b4f4235281c0f02000815222e3b4855616e7b8894a1a99c908376695d5043363b4855616e7b8894a1a99c908376695d5043362a1d1003000713202d3a4653606d798693a0acaa9d9084909490827a716c6562605c54565e61646b707c87929facb0a6998c7f7266594c3f3025190e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79849197a1a49c918c838790959c9fa4aca9a7a6a5a6a8a8a7a09d96918a848c919ba3a0959084796d6053463a2d20130700000d1a2733404d5a6673808d959697897c6f625b534d4c4d4f58626f7c8895ab9b8e8275685b4f4235281c0f020000000000000000071119232b353d474f59606b707d869298a2a3999286869299a3a39992877e716c615a50483f362d241b1209000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929faca89c8f8275695c4f4230251a0e02000000000000000000000000000000030f1a26313c464e53555e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5b606d7a849199a3aea39991847a6d605a50453a2e211509000000000000000000000000000000000000000000000000000000000000000a141d2a343c464e555d6065696c6c6b6965615e56524d46413b35414b555d6b6c6c6c6a675f564b3f33271b0e02000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e31252226282a2b2c2c2c2b2a282522211e1a14100b05000000000000000000000000000000000000000000000006131f2b37434e586062626262626262615e574d42362a1e1205000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000000000000050c151c232831363a4045474a4d5051525353535353535353535353535353535353535353535353534b49453e362d22170c00000000060f1d262f3841474c4e4b4a453f372d25252d373f464a4b4e4c4741382f261d0f060000000c1925323f4c5865727f8b989f9f998d8073665a4d4033271a0d000007131d28313a414550565d60666d6f727577787979787674726f6c6663605c54544f4846423d3a393534383a40454c525b6265615f574d42372b1e1206000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000713202d3a4653606d7986929faca89b8e817568564c41362a1e110500000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0a89b8f8275685c4f4235291c0f02000815222f3b4855626e7b8895a1a99d9083766a5d5043373b4855626e7b8895a1a99d9083766a5d5043372a1d1004000713202d3a4653606d798693a0aca396897d85929490847d76726e6d666b6b696e71757d859299a3afab9f94887b6e6155483b2e2215080000000000000002060a0c0d1313131313131313131313131313131313131313131312110f0c0701000000000000000006121f2c3844515c666e7c8591979c928c7f767c838a8f939a9a9d9e9f9f9e9d9b9895908b847e777f8c919b9691837a6e665c5145382c1f130600000916232f3c4956626f7c89959f9c8f82756d615e57595959616a73808d99a8998d8073665a4d4033271a0d0000000000000000071119232b353d474f59606b707d869298a2a39992877d7d879299a3a39992877e716c625a50483f362d241b12090000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaa9d9083776a574d42362a1e120500000000000000000000000000000006121f2b37434e585f626a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a686f7c87929facaba0968e81756c62564a3d3124170b00000000000000000000000000000000000000000000000000000000000000020b18222a343c434b5154595d5f5f5e5c5854524c46423b36302f3a434b515e6060605e5b564d44392e22170b00000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e312518191b1d1f1f201f1f1d1b181514120e0903000000000000000000000000000000000000000000000000000815222e3b4754606a6f6f6f6f6f6f6f6e695e53463a2d211407000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000030b12181f252a2f35393a3d404344454646464646464646464646464646464646464646464646463e3d39342d241b110600000000000b141d262f363c40413f3d3a342d251b1b252d343a3d3f413f3c362f261d140b000000000c1925323f4c5865727f8b939393938d8073665a4d4033271a0d0000010c161f282f353f444c52545c606265686a6b6c6c6b6a676562605b5453514a48433d3a36312d2c29282c2f343a414651575955534d453c31261a0e02000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000006121f2c3844515c667683909ca9aa9e918477685e5246392d20130700000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1a89c8f8275695c4f4236291c0f03000915222f3c4855626f7b8895a2aa9d9083776a5d5044373c4855626f7b8895a2aa9d9083776a5d5044372a1d1104000714202d3a4753606d7a8693a0ada194887b7e8b9296918a837f7b79787778797a7d82889297a1abafa4998f8276695f53473a2d211408000000000000070d12161919202020202020202020202020202020202020202020201f1e1b18130c050000000000000004101c2834404a545f6a6e7c8591928c7f736d6f787d82878b8e9091929291908e8b88837e79716d727f8c9191847a6e685e544b4034281c100400000815222e3b4754606a7783909a9e948c7f756e69676666676b707c86929fa096897c6f6356493c3023160900000000000000071119232b353d474f59606b707d869298a2a39992877e70717e879299a3a39993877e716c625a50483f362d241b120900000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facac9f928579695e52463a2d2014060000000000000000000000000000000815212e3a47535f6a6f777777777777777777777777777777777777777777777f8c99a5b2a89e938b7e7165584b3e3225180b0000000000000000000000000000000000000000000000000000000000000000061018222a313a4145474c50525352504c4746413a36302a2528313a414547535353514f4b443b32281d110600000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180c0f111212131312100f0c080705020000000000000000000000000000000000000000000000000000000916232f3c4956626f7c7c7c7c7c7c7c7b6e6154483b2e211508000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000000000000000000070c141a1d24292c2d303336373839393939393939393939393939393939393939393939393931302d29221b1209000000000000020b141d242b30333432312e29231b12131b23292e31323433302b241d140b02000000000c1925323f4c5865727f8686868686868073665a4d4033271a0d000000040d161d2429323a41454a505356595c5d5e5f5f5e5d5b585553504a4644403938322d2a2620201d1c1f232930363f464a4c4847423c332a1f150900000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000004101c2834404a5466737f8c99a9aca096877a6d6154473a2e21140a00000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1a99c8f8376695c504336291d1003000916232f3c4956626f7c8995a2aa9d9084776a5d5144373c4956626f7c8995a2aa9d9084776a5d5144372a1e1104000714212d3a4754606d7a8793a0ada194877b74818e949e95908c888685848585878a8f939aa1a9afa59f93877c6f62574d42372b1e120600000000010a12191e2325262d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b2b28241e170f06000000000000000c18232e39424e575f6a6e7c858c80736d63666d70767b7e81838485858584817f7c77726d67626d727f8b847b6e685e564c42392e23180c00000006131f2b38434e5863707d88939f9c918c817b7673727374777d859298a29e9184786d6053463a2d201307000000000000071119232b353d474f59606b707d869298a2a39992877e706c6c717e879299a3a49993877e716c625a50483f362d241b1209000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaea298877b6e6154483b2d22170b0607080808060200000000000000000915222f3c4855626f7c8484848484848484848484848484848484848484848484919daab7afa59f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000610181f282f35393a3f43454645433f3a3936302a251f191f282f35393a46464644433f39322920160b0000000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b020405060606050402000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c79878989898989898074675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000000000000000000003090e13181d20202327292a2b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2524211d1711090000000000000000020b131a1f2426272524221d1811090911181d2224252726241f1a130b0200000000000b1825313e4a56626d72797979797979736e63584b3f3226190c00000000040c131820282f35383f4446494c4f5152535252504e4c4946443f3a38342e2c27211e1a1413101013181e252a353a3e3f3b3a37312a21180e0300000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000c18232e3c4956626f7c8997a2ada8978a7e7164574a3e31261b0f03000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a1a99c908376695d5043362a1d100300091623303c4956636f7c8996a2aa9e9184776b5e5144383c4956636f7c8996a2aa9e9184776b5e5144382b1e1105000714212e3a4754616d7a8794a0b4ab94877a6d78828f939f9d989a939291919298979b9fa4acaba39f938d80736a6054453c31261a0e02000000000a131c232a2f3233393939393939393939393939393939393939393939393837342f2921180f0500000000000007121c27303c454e575f6a6e7c7f736e635b5c6064696e717477787979787775726f6a65605d5b626d727e7b6e695e564d443b30271d1207000000030f1b27323d4854606b73808d939f9c938e8783807f8081848a9297a19f928a7d70665c5044382b1f12060000000000071119232b353d474f59606b707d869298a2a39992877e716c61616c717e879299a3a49993877e716c625a50483f362d241b12090000000000000000000000000000060606060606060600000000000000000000000613202c3946535f6c7986929facb4aa978a7d7064544a3f33281c131313151514120f0a030000000000000916222f3c4955626f7c889191919191919191919191919191919191919191919196a0acb8b8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000060d161d24292c2d323639393836322e2d2a251e19140d161d24292c2d3939393736332e2820170e040000000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c798692959595958d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000001070d111314171a1d1e1f202020202020202020202020202020202020202020202020181715110c060000000000000000000001080e14171a1b181815120c060000060c121518181b1a17140e08010000000000000916222e3a46515b62656c6c6c6c6c6c66635c52473b2f23170a000000000001070d161e24292e34383a3c3f42444546464543413f3c3938332d2c28231c1b16120e09060404070c131923292e31322e2d2b261f180f060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000713202d3a4653606d7985929eaba79b8e817468584e43372b1f1206000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a1a99d9083766a5d5043372a1d1004000a1623303d495663707c8996a3ab9e9184786b5e5145383d495663707c8996a3ab9e9184786b5e5145382b1e1205000814212e3b4754616e7a87949f9fa39986796d6d79818c92989fa29f9e9e9e9fa2aaa8a9aaa29f99928b81786d60584e43332a1f15090000000007121c252e353b3e40464646464646464646464646464646464646464646464544403a332b21170c010000000000000b151e2a333c454e575f6a6e726d635c525053575e6164676a6b6c6c6b6a6865625f585351515b626c716e695e574d443b32291e150b00000000000a16202c38444f59606c77808c92989f9992908d8c8c8e91969e9f99928c80736b61544a3f34281c100300000000040f19232b353d474f59606b707d869298a2a49992877e716c615a5a616c717e879299a3a49993877e716c625a50483f362d241b110600000000000000000002050708131313131313131307070501000000000000000613202c3946535f6c7986929facb4a79a8e8174665b5044382d22201f202222211f1a150e0600000000000916222f3c4955626f7c88959d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9da0a8b2acacac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000040c13181d2021262a2c2c2b292521201d19130e09040c13181d20212d2d2d2b2a27221d160e05000000000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929fa2a29a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000000000000000000000000000010406070a0d1011121313131313131313131313131313131313131313131313130b0a0805000000000000000000000000000003080b0d0e0c0b090501000000000106090b0c0e0d0b0803000000000000000006121e29343f495156586060606060605a58524a40362a1f130700000000000000040c13191c23282b2d2f323537383939383734322f2d2b28221f1c18120f0a0502000000000002080d181e22252622211e1a150e06000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000006121f2b3844505c6674818e9baaab9e9184786a5f53473a2e21150a000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aa9d9083776a5d5044372a1d1104000a1723303d4a5663707d8996a3ab9e9185786b5e5245383d4a5663707d8996a3ab9e9185786b5e5245382b1f1205000815222e3b4855616e7b889393939392867966676d787f868d92989a9c9e9e9f9f9e9d9c9998928d877f746d665c50463d3221180e03000000020d19232e3740464b4c5353535353535353535353535353535353535353535352504c453d33291e1307000000000000030c18212a333c454e575f6266635b524944464d5354585b5d5e5f5f5e5d5b5855534e474549515a6265615e574d453b322920170c03000000000004101c27323d44505b656c777f868e92999b9c9a99999a9d9b99938f867f736e63594f42382e23170b00000000000b16212b353d474f59606b707d869298a2a49993877e716c615a50505a616c717e879299a3a49993887e716c625a51483f372d23180c0100000000000002090e12141520202020202020201413110d080200000000000613202c3946535f6c7986929facb8ab9e9185786c60544a3f332d2c2c2d2f2f2e2b2620180f06000000000916222f3c4955626f7c88959f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000001070d111314191d1f201f1d191413110d0802000001070d1113142020201e1d1b17110b0400000000000000000000000000000000000916222f3c4955626f7c8895a2aca4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b989f9f998d8073665a4d4033271a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18232d373f464a4c5353535353534d4b4740382e24190e02000000000000000001080d11171c1f202326292a2b2c2c2b2a282522201f1c1712100c070000000000000000000000070d121618191514120e090300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000003101c28343f4a5464707d8a98a2ada196887b6f6255483c31261a0f000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2aa9d9084776a5d5144372a1e1104000a1724303d4a5763707d8a96a3ab9e9285786b5f5245383d4a5763707d8a96a3ab9e9285786b5f5245382c1f0600000916232f3c4956626f7c86868686868685786b5c666c727b80858a8d8f9192929291908f8c8a86807b726d605c544a3f342b200f060000000006121e2a354049515759606060606060606060606060606060606060606060605e5c574f453a2f24180c00000000000000060f18212a333c454e53555957514940383b4246484b4e5051525252514f4c4847433c393f4850565854534d453b332920170e05000000000000000b162127333f49535b656c727b81868b8e9091929291908e8b87827c726d635c52473e30261c11060000000003101b27323d474f59606b707d869298a2a49a93877e716c615a504848505a616c717e879299a4a49a93887e716c625b51493f34291d11050000000000050d141a1e20212d2d2d2d2d2d2d2d21201d19130c05000000000613202c3946535f6c7986929facb4aba1978a7e71665b50443f3a39383a3b3b3a37312a22180e030000000916222f3c4955626f7c8893939393939393939393939393939393939393939393939393939393939285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000010406070c10121312100c070705010000000000000104060713131311100e0b06000000000000000000000000000000000000000916222f3c4955626f7c88959f9f9f978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929f9f9f9a8d8174675a4e4134271b0e000c1925323f4c5865727f8b939393938d8073665a4d4033271a0d00000000000000000000000000000000000000000000000000000000000000000000040613131313131313131312110e09040000000000000000000000000000000000040613131313131313131312110e0904000000000000000000000000000000000007111b252d343a3e3f464646464646403f3b362e261c1208000000000000000000000000060b10121316191c1e1f201f1f1d1b191613120f0b060400000000000000000000000000000106090b0c08080602000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000000b17232e3a4753606d7985929faca8998c7f7366584e43372b1c11060000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2aa9e9184776b5e5144382b1e1105000a1724313d4a5764707d8a97a3ab9f9285786c5f52452e3d4a5764707d8a97a3ab9f9285786c5f52452e23170b00000815222e3b4754606a6f797979797979787368545b60696e74797d808284858685858482807d7a746e69625b504a42382e22190f00000000000a16232f3b46515b63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6861574c4034281b0f0000000000000000060f18212a333c4247484c4b463f372b31363a3b3e41444546464544423f3c3a37312c363f454a4b4846423b332920170e050000000000000000050b17222d384149535b606a6e757a7e81838585868584817f7b756f6a635b524940352c1e140a00000000000713202c38444f59606b707d869298a2a49a93887e716c615a50483e3e48505a616c717e879399a4a49a93887f726d625b51453a2e22150900000000050f171f252a2d2e39393939393939392e2d2a251e160e050000000613202c3946535f6c7986929facaea399929183786c6059504947454546484847433c342a20150a0000000916222f3c4955626f7c8686868686868686868686868686868686868686868686868686868686868686796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8893939393938b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c798692939393938d8174675a4e4134271b0e000c1925323f4c5865727f8686868686868073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000000000001070c10132020202020202020201f1d1a150f080000000000000000000000000001070c10132020202020202020201f1d1a150f08000000000000000000000000000000000009131b23292e313239393939393933322f2a241c140a000000000000000000000000000000030607090c0f1112131312100e0c090606030000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000006131f2c3845515d6774818e9ba8aa9d9184776a5f5347382e23170b0000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3ab9e9184786b5e5145382b1e1205000b1824313e4b5764717e8a97a4ac9f9285796c5f4a3f343e4b5764717e8a97a4ac9f9285796c5f4a3f34281c10030006131f2b37434e5860626c6c6c6c6c6c6b68615750575e61676d7073767778797978777673706d67615e5751443f3830261c100700000000000c1925323e4b57636d73797979797979797979797979797979797979797979797873685c5044372b1e11000000000000000000060f18212a31373a3b3f3e3a352e25252a2d2e313437383939383735322f2e2b26242d343a3d3e3b3a36312921170e050000000000000000000006111b262f38414950575f62686e717477787979787775726e69625f58514940372e231a0c0200000000000916222f3b4854606b707d869298a2a49a93887e716c625a50483e36363e48505a616c717e879399a4a49a93887f726d62564a3d3124180b000000020d17212930363a3b4646464646464646463936302820160c0200000613202c3946535f6c7986929facac9f9286928c7f736b605b53535151535555534e463c31261a0f0200000815222e3b4754606a76797979797979797979797979797979797979797979797979797979797979797974695d5144382b1f120500000000000000000000000000000000000003080c0e0e131313131313130f0e0c09040000000000000000000000000000000000000000000000000000000000000003070b0d0e131313131313130e0e0c08030000000000000916222f3c4955626f7c868686868686867e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c79878686868686868074675a4e4134271b0e000b1825313e4a56626d72797979797979736e63584b3f3226190c000000000000000000000000000000000000000000000000000000000000030b12181c1f2d2d2d2d2d2d2d2d2c2c2a26201912090000000000000000000000030b12181c1f2d2d2d2d2d2d2d2d2c2c2a262019120900000000000000000000000000000000010911181e2225252d2d2d2d2d2d2726231f19120a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000004101d2935404b5563707d8996a1aca095887b6f62544a3f34281c100300000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9e9185786b5e5245382b1f1205000b1825313e4b5864717e8b97a4ac9f938679665c5044383e4b5864717e8b97a4ac9f938679665c5044382b1f120600030f1b27323d464e54566060606060605f5c574f444d53555c606367696b6b6c6c6b6a696663605d55534d453f342e261e140a0000000000000d192633404c5966737f8686868686868686868686868686868686868686868685786b5e5245382b1f1200000000000000000000060f1820262b2e2f33322f2a231c1a1e212125282a2b2c2c2b2a282522211f1b1b22292e31322e2d2a251f170f050000000000000000000000000a141d262f383f444e53565e6165686a6b6c6c6b6a6865615e57534e463f372e251c11080000000000000a1623303d495663707d869298a2a39f93887f716c625a50483e362c2c363e48505a616c717e879399a4a49a93887e7265584b3f3225180c00000009141f29333b42464853535353535353535346413a32281e1308000005121f2b3744505b657986939faca79a8d818d93877d726c6562605d5c6062625f584e43372b1f1206000006131f2b37434e5860626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6962584d4135291c10030000000000000000000000000000000001090f14181a1b202020202020201c1b191510090200000000000000000000000000000000000000000000000000000001080e1317191a202020202020201b1a18140f0901000000000815212e3b47535f6a7679797979797979716c6256493d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3845525e6a7579797979797979746e64584c3f33261a0d000916222e3a46515b62656c6c6c6c6c6c66635c52473b2f23170a0000000000000000000000000000000000000000000000000000000000030d151d23292c3939393939393939393836312b241b1208000000000000000000030d151d23292c3939393939393939393836312b241b12080000000000000000000000000000000000070d121618192020202020201a1917130e08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050a0d0f101313100f0d0a0500000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000000000c18242f394653606c7884919eaba7998c8073665c5044382b1f140900000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3ab9e9285786b5f5245382c1f0600000b1825323e4b5865717e8b98a4afa49986796d6053463a3e4b5865717e8b98a4afa49986796d6053463a2d20130700000a16202b343d43474953535353535352504c453b42464b5153575a5c5e5f5f5f5e5d5c595754514c46423b3328231c140c020000000000000d192633404c5966737f8c93939393939393939393939393939393939393939185786b5e5245382b1f120000000000000000000000060e151a1e21222625221e18120e121415181b1d1e1f1f1f1e1c191515120f11181d21242521211e1a140d0500000000000000000000000000020b141d262d333c42474c5254585b5d5e5f5f5e5d5b5854524d47433c342d251c130a000000000000020f1c2935424f5c6875828f949fa39b918b7f726d625a50483e362d24242c363e48505a616c717e879399a49e938e8175685b4e4235281b0f0200020e1a25303b454d525f60606060606060605f524c443a3025190d01000613202d394653606c78869aa4afa396897d869292877f78726e6d67676d6e6e6a5f53473a2e2114080000030f1b27323c464e5455606060606060606060606060606060606060606060606060606060606060605f5d5850463b3025190d00000000000000000000000000000000030b131a202427282d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000000000000000020b12191f2326272d2d2d2d2d2d2d282724201a130b0300000006131f2b37434e585f626c6c6c6c6c6c6c64625a5045392d2115080000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2a36424e59636a6c6c6c6c6c6c6c67645c52473c3024170b0006121e29343f495156586060606060605a58524a40362a1f130700000000000000000000000000000000000000000000000000000000010b151f272f343846464646464646464645423d352d24190f0400000000000000010b151f272f343846464646464646464645423d352d24190f0400000000000000000000000000000000000106090b0c1313131313130d0c0a07020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11161a1c1d20201d1c1a16110a030000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000000007121f2b3844505b6673808c99a3ab9e9184796d6053463b30251a0e01000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3ab9f9285786c5f52452e23170b00000c1825323f4b5865727e8b98a5b5a093867a6d6053473a3f4b5865727e8b98a5b5a093867a6d6053473a2d2014070000040f19222b32373b3c4646464646464544403a3136394045474a4d4f5152535252514f4d4a4745413a3631292117110a02000000000000000d192633404c5966737f8c999999999999999da0a7a9a29f999999999999999185786b5e5245382b1f1200000000000000000000000003090e121415191816120d07020507080b0e1112131312110f0c09080603060c111517181514120e0903000000000000000000000000000000020b141b222731373b4146474b4e5152525352514e4c4846423b37312a221c130a01000000000000000714202d3a4753606d79828f949b918b7f726d625a50483f362d241b1a242c363e48505a626c717e87939a938e81786d6053463a2d201307000005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c5e564c41362a1d1105000713202d3a4653606d798693a0b6a295887c818e99928c837f7b7a7979797b7c6e6255483b2f2215080000000a15202b343c4347495353535353535353535353535353535353535353535353535353535353535352514d463e342a1f1408000000000000000000000000000000010b151d252b303435393939393939393534312c261e150c000000000000000000000000000000000000000000000000000b141d242b303334393939393939393534302b251d150b010000030f1b26323c464e535560606060606060585650483e34291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a26313d4751595e5f6060606060605a58524a41362b1f140800010d18232d373f464a4c5353535353534d4b4740382e24190e020000000000000000000000000000000000000000000000000000000007121d2731394045535353535353535353524e473f352b2015090000000000000007121d2731394045535353535353535353524e473f352b20150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d151c2226292a2d2d2a2926221c150d0400000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000030f1c28333f4a54616e7b87929faca1968a7d7063574d42362a1d1307000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4ac9f9285796c5f4a3f34281c1003000c1925323f4c5865727f8b98a5ada093877a6d6054473a3f4c5865727f8b98a5ada093877a6d6054473a2d21140700000007101920272b2e2f3939393939393837342f252a2f34383a3d404344454646454443403d3a39352f2a251f170f060000000000000000000d192633404c5966737f8c8c8c8c8c8c8c8c9095a0a297928c8c8c8c8c8c8c8c85786b5e5245382b1f120000000000000000000000000000020608080c0c0a060200000000000001040506060504020000000000000105090b0b08070502000000000000000000000000000000000000020a111720262b3036393b3e41444546464544423f3b3a36302b262018100a01000000000000000006131f2c3845515c676d79828f918b7f726d625b51483f362d241b12121a242c363e48505a626c717e88938e81786d665c5044382b1f120600000714202d3a46525e6976797979797979797976685e5246392d201307000714202d3a4753606d7a8693a0ada194887b7c88949f95918c8886858586888073675a4d4034271a0d000000040f19222b32373b3c464646464646464646464646464646464646464646464646464646464646464644413b342c22180d0200000000000000000000000000000009131d272f373c40414646464646464642413d3730271e0e050000000000000000000000000000000000000000000000030d1d262e363c3f414646464646464641403c372f271d13090000000a15202a343c434749535353535353534b49453e362d22170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000915202b353f474e52535353535353534e4c4741382f241a0e03000007111b252d343a3e3f464646464646403f3b362e261c120800000000000000000000000000000000000000000000000000000000000c18232f39434b515f606060606060605f5e5951473d31261a0e010000000000000c18232f39434b515f606060606060605f5e5951473d31261a0e0100000000000000000000000000000000000000000000000000000000000106090b0c131313130c0b09060100000000000000000000000000000000000000000000000000000000000000030d161f272d32353639393635322d271f160d03000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000000b17222d3846525e6975828f9ba7a89b8f8275695e52463a2f24180d000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4ac9f938679665c5044382b1f1206000c1926333f4c5966727f8c99a5ada094877a6d6154473a3f4c5966727f8c99a5ada094877a6d6154473a2e21140700000000070f161b1f22232d2d2d2d2d2d2c2b28241a1d23292c2d3034363838393938373633302d2c29241e1a140d0500000000000000000000091623303c4956636f7d808080808080808083909d9f928580808080808080807f7265594c3f3226190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b151a1e252a2d2e323537383939383735322e2d2a251f1a150e060000000000000000000004101c2934404b555c676d79828a7f726d625b51493f362d241b120909121b242d363e48505a626c717e8681786d665c544a3f34281c100300000815212e3b4854616e7b86868686868686867a6d6154473a2e211407000714212d3a4754606d7a8793a0ada194877a76828f99a09d9895989292988d8073675a4d4034271a0d0000000007101920272b2e2f39393939393939393939393939393939393939393939393939393939393939393835302a221a1006000000000000000000000000000000030f1a252f3941484d4e535353535353534f4d4942393020170d02000000000000000000000000000000000000000000010b151f2e3840474c4d535353535353534e4d4841392f251a0f030000040e18222a32373b3c464646464646463e3d39342d241b1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19242d353d424546464646464646413f3c362f261d13080000000009131b23292e313239393939393933322f2a241c140a000000000000000000000000000000000000000000000000000000000004101c2934404b555c6c6c6c6c6c6c6c6c6c6a63594e42362a1d1104000000000004101c2934404b555c6c6c6c6c6c6c6c6c6c6a63594e42362a1d110400000000000000000000000000000000000000000000000000000000070d1216181920202020181815120c060000000000000000000000000000000000000000000000000000000000000a151f2831383e4243464643423e3831281f150a000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000000000006111c2a36424d5763707d89959fac9f92867b6e61554b4135291d12070000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4afa49986796d6053463a2d201307000d192633404c5966737f8c99a6ada194877a6e6154473b404c5966737f8c99a6ada194877a6e6154473b2e2114080000000000040a0f1315162020202020201f1e1c180e12181c1f202427292b2c2c2c2b2a29262421201d19130e090300000000000000000000000915222f3b4854606b6f7373737373737374818e9b9e91847873737373737373726d62574a3e3125180b0000000000000105090b0b1313131307060405090b0b131313130706040005090b0b13131313070604000000000000000000000000000000000000000000000000000000000000000003090e14191e202125282a2b2c2c2b2a282521201e1a140f0a030000000000000000000000000c18232f39434b555c676d797d726d625b51493f372d241b1209000009121b242d363f48505a626c717d786d665c544a42382e23170b0000000815212e3b4854616e7b87939393939393877a6d6154473a2e211407000814212e3b4754616e7a8794a1aca093877a6f7c87929fa5a5aaa29f9f9a8d8073675a4d4034271a0d0000000000070f151b1f22222d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b29251f181008000000000000000000000000000000000814202b37414b53595b606060606060605c59544b4232291f140900000000000000000000000000000000000000000007121d2731404a52585a606060606060605b59534b41372b20140800000006101820262b2e2f3939393939393931302d29221b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b242b313638393939393939393433302b241d140b0100000000010911181e2225252d2d2d2d2d2d2726231f19120a02000000000000000000000000000000000000000000000000000000000006131f2c3845515c67767979797979797979756a5e5245382c1f1206000000000006131f2c3845515c67767979797979797979756a5e5245382c1f12060000000000000000000000000000000000000000000000000000010911181e2225252d2d2d2d2524221d1811090000000000000000000000000000000000000000000000000000000005111c27313a434a4e505353504e4a433a31271c11050000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000000000000e1a25303b4854606b7683909da8a3998d8073675d5145392e23180c0000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b5a093867a6d6053473a2d201407000d1a2633404d596673808c99a6aea194887b6e6155483b404d596673808c99a6aea194887b6e6155483b2e221508000000000000000306080913131313131312110f0c01070c101314171a1c1e1f201f1f1e1c1a171413110d0801000000000000000000000000000713202c38444f5960636666666666666874818e9b9e9184786b66666666666665625b51463a2e2216090000000000060c111517182020201f141310111517182020201f1413100c111517182020201f1413100c07010000000000000000000000000000000000000000000000000000000000000002080d111414181b1e1f1f201f1e1b191514120e0903000000000000000000000000000007121d273139434b555c676d716c625b51493f372d251b12090000000009121b242d363f48505a626b706d665c544a423830261c11060000000815212e3b4854616e7b87949f9f9f9f94877a6d6154473a2e211407000815222e3b4855616e7b88949f9fa39986796d73808c939fa2aaaaaba69a8d8073675a4d4034271a0d000000000000040a0f131516202020202020202020202020202020202020202020202020202020202020201f1f1c19140d0600000000000000000000000000000000000c1824303c48535d64686c6c6c6c6c6c6c68655d54443b3025190e0000000000000000000000000000000000000000000c18232f3943525c64676c6c6c6c6c6c6c68645d53483c3024180c00000000060e151b1f21222d2d2d2d2d2d2d2524211d1711090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121920262a2c2c2d2d2d2d2d2d2726241f1a130b0200000000000000070d121618192020202020201a1917130e08000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d798686868686868687796c5f5346392c20130600000000000714202d3a4753606d798686868686868687796c5f5346392c201306000000000000000000000000000000000000000000000000000009131b23292e31323939393932312e29231b13090000000000000000000000000000000000000000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a0000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000000009141f2c38444f5964717e8a96a0ab9f92857a6d60544b4034281d120700000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5ada093877a6d6054473a2d211407000d1a2733404d5a6673808d99a6aea195887b6e6255483b404d5a6673808d99a6aea195887b6e6255483b2f2215080000000000000000000000060606060606050503000000000406070a0d10111213131211100d0a07060401000000000000000000000000000000030f1b27323d474f545659595959595b6874818e9b9e9184786b5e5959595959595751493f35291e1206000000000911181d2124252d2d2d2c201f1c1d2124252d2d2d2c201f1c181d2124252d2d2d2c201f1c18120b030000000000000000000000000000000000000000000000000000000000000000010507080b0e1112131312110f0c0807050200000000000000000000000000000000010b151f273139434b555c6064615a51493f372d251b130900000000000009121b242d363f4850596063605c544a423830261e140a000000000815212e3b4854616e7b8794a1acaca094877a6d6154473a2e211407000915222f3c4855626f7b8893939393928679666c77818c92989b9e9f9f9a8d8073675a4d4034271a0d000000000000000003060809131313131313131313131313131313131313131313131313131313131313131312100d08020000000000000000000000000000000000000e1a2734404d59646f7479797979797979756f65564d42362a1c11060000000000000000000000000000000000000004101c2934404b55646e7479797979797979746f64594d4034271a0e0000000000040a0f13151620202020202020181715110c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f151a1d1f202020202020201b1a17140e08010000000000000000000106090b0c1313131313130d0c0a070200000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693939393939286796c5f5346392c20130600000000000714202d3a4753606d7a8693939393939286796c5f5346392c2013060000000000000000000000000000000000000000000000000007111b252d343a3e3f464646463f3d3a342d251b110600000000000000000000000000000000000000000000000000010d1a26323e4a545e66696c6c69665e544a3e32261a0d0100000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000000002101b27323d4653606c7884919da8a2978b7f72665c5145392e23180c01000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5ada094877a6d6154473a2e211407000d1a2734404d5a6773808d9aa6aea295887b6f6255483c404d5a6773808d9aa6aea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212b353d4448494d4d4d4d4e5b6874818e9b9e9184786b5e514d4d4d4d4c4a463f372d23180d0100000009121b22292e3132393939392d2c29292e3132393939392d2c2923292e3132393939392d2c29231d150d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d151f273139434b5153575550483f372d251b1309000000000000000009121b242d363f474f545653504a423830261e140c02000000000815212e3b4854616e7b8794a1acaca094877a6d6154473a2e211407000916222f3c4955626f7c86868686868685786c656c777f868b8e919292928d8073675a4d4034271a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2835414e5b687481868686868686868175695e5246382d22170b0000000000000000000000000000000000000006131f2c3845515c677480868686868686868174685b4e4135281b0e0000000000000003060809131313131313130b0a080500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090e1112131313131313130e0d0b080300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939f9f9f9f9286796c5f5346392c20130600000000000714202d3a4753606d7a86939f9f9f9f9286796c5f5346392c201306000000000000000000000000000000000000000000000000010d18232d373f464a4c535353534b4a463f372d23180c01000000000000000000000000000000000000000000000000030f1c2935424e5a66707679797670665a4e4235291c0f0300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000000000000000b161f2b3844505b66717e8b96a0a99e9184796d60554b4034281e1308000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6ada194877a6e6154473b2e211408000e1b2734414e5a6774818d9aa7afa295887c6f6255493c414e5a6774818d9aa7afa295887c6f6255493c2f2216090000000000000105080b0b1313131313130c0b090501000000000000000000000000000002070a0c0d1313131313130b0a08050000000000000000040f19232b32383b3c404040414e5b6874818e9b9e9184786b5e51454040403f3e3a352d251b110700000006111b242d343a3d3e464646463a3834343a3d3e464646463a38342f343a3d3e464646463a38342f271f150b0100000000000000000000000000000000000000030608090d1012131312110f0b0707050100000306060b0f121312110e080705020000000000000000000000000000030d151f2731394045474a49453e362d251b13090100000000000000000009121b242d353d44484a46443f3830261e140c0200000000000815212e3b4854616e7b87949f9f9f9f94877a6d6154473a2e211407000815222e3b4754606a767979797979797873695b656c727a7f8284858685837e7164574b3e3124180b00000000000004090c0e0f131313131313131313131313131313131313131313131313131313131313131313100f0d09050000000000000000000000000000000000000916232f3c4956626f7c89959393939392867b6e61544a3f33281c0f030000000000000000000000000000000000000714202d3a4753606d7985929393939395897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050a0d0f101313100f0d0a05000000000000000000000000000714202d3a4753606d7a8693a0acac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0acac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000000006121e29343f4951565860606060585651493f34291d120600000000000000000000000000000000000000000000000003101d2a3643505d69768286868276695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000000000030f1c28333f4a54606d7884919da7a1968b7e72675c51453a2f24190d030000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6aea194887b6e6155483b2e221508000e1b2834414e5b6774818e9aa7afa295897c6f6256493c414e5b6774818e9aa7afa295897c6f6256493c2f2316090000000000060c11151718202020202020181815110c06000000000000000000000000070e1316191a202020202020181715110c060000000000000007111921272c2f30333335414e5b6874818e9b9e9184786b5e514538333332312e29231b130a000000010c18222d363f454a4b535353524745403f454a4b53535352474540393f454a4b535353524745403931271d12070000000000000000000000000000000000040a0f1315161a1d1f1f201f1e1b181413110d080b0f1213181c1f201f1e1b1514120e090300000000000000000000000000030d151f272f34383a3e3c39332c241b130901000000000000000000000009121b232b33383c3d3a38342e261e140c020000000000000815212e3b4854616e7b87939393939393877a6d6154473a2e2114070006131f2b37434e5860626c6c6c6c6c6c6c6961535b60686d72757778797876716c6155493d3023170a0000000002091015191b1c2020202020202020202020202020202020202020202020202020202020202020201d1c1915100a03000000000000000000000000000000000915222e3b4854606a7783909daa9fa3998c7f73665b5044382b1f1409000000000000000000000000000000000006121f2b37434e5864717e8a97a29f9f9d9083776b6054483b2f22150900000000000000000000000000000000000000000406070a0c0f11111213131312110f0d0b070705010000000000000000000000000000000000000000000000000003060809131313131313130b0a08050000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11161a1c1d20201d1c1a16110a0300000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000000916222e3a46515b62656c6c6c6c65625b51463a2e22150900000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000000000000b17222d3844505c66717e8a95a0a89e9184796d60564c4135291f14090000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6aea195887b6e6255483b2f221508000e1b2835414e5b6874818e9ba7afa396897c706356493d414e5b6874818e9ba7afa396897c706356493d3023160a000000000911171d2124252d2d2d2d2d2d2524221d181109000000000000000000010a12191e2325262d2d2d2d2d2d2524211d17110900000000000000070f161b202223262835414e5b6874818e9b9e9184786b5e5145382b262625221e18110a0100000005111d29343f485056586060605f53514b485056586060605f53514b43485056586060605f53514b43392f23180c00000000000000000000000000000003090e151b1f2222272a2b2c2c2c2a282521201d1913171c1f2024292b2c2c2a2821211e1a140d0500000000000000000000000000030d151d23292c2d31302d28221a1209010000000000000000000000000009111921272c2f302d2b28231c140c02000000000000000815212e3b4854616e7b86868686868686867a6d6154473a2e21140700030f1b27323c464e54556060606060605f5d574950565d6065686b6c6c6b6a64615a5045392d211408000000030c141b212528292d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292826211b140c0400000000000000000000000000000007131f2c38434e5865727e8b98a2aeab9e9184786c6053463b30251a0e00000000000000000000000000000000000814212e3a47535f6a7683909ca9aea2988b7f7265594f43382c1f1307000000000000000000000000000000000001070c10131417191b1d1e1f20201f1f1e1c1a171413110d0804010000000000000000000000000000000000000000040a0f13151620202020202020181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000040d151c2226292a2d2d2a2926221c150d04000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000000b1825313e4a56626d7279797979726d62564a3d3124180b00000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000000000000000006111c28343f4a54606c7883909da6a1968c7f72685d52453b31261a0c0300000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6aea295887b6f6255483c2f221509000f1b2835424e5b6875818e9ba8b0a396897d7063564a3d424e5b6875818e9ba8b0a396897d7063564a3d3023170a00000009121b22292d303139393939393932312e29231b120900000000000000000a131c242a2f323339393939393931302d29221b120900000000000000040b0f1315161b2835414e5b6874818e9b9e9184786b5e5145382b1e191816120d0700000000000915212e3a45505a62656c6c6c6c605c55505a62656c6c6c6c605c554b505a62656c6c6c6c605c554b4034291c100400000000000000000000000000060e141a20262b2e2f3336383939383735322e2d2a251e22282b2d313638393937342e2d2a251f170f0500000000000000000000000000030b12181c1f202423211c17100800000000000000000000000000000000080f161c202223201f1c17110a0200000000000000000714202d3a46525e6976797979797979797976685e5246392d20130700000a15202b343c43474953535353535352514c3f444c5254585b5e5f5f5f5d575550483e33281d11050000020c151e262c3134353939393939393939393939393939393939393939393939393939393939393939393635322d261e160c030000000000000000000000000000030f1b27323d4754606d7a85929facaca1968a7d7063574d42362a1c110600000000000000000000000000000004101c2934404b55626e7b88949fabac9f92867a6d6054473d32271b0f03000000000000000000000000000000050b1012181c1f202326282a2b2c2c2c2c2c2a29272421201d1913100d07010000000000000000000000000000000000060e151b1f21222d2d2d2d2d2d2d2524211d171109000000000000000000000000000000000000000000000000000000000000000000000000030d161f272d32353639393635322d271f160d030000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000000c1925323f4c5865727f868686867f7265584b3f3225180c00000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000000000000000000b17232e3844505b66707d89949fa89e92857a6d60574d42362a1e150a00000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000e1b2734414e5a6774818d9aa7afa295887c6f6255493c2f221609000f1c2835424f5b6875828e9ba8b0a3968a7d7063574a3d424f5b6875828e9ba8b0a3968a7d7063574a3d3024170a000006111b242d34393d3e4646464646463f3d3a342d241b0b02000000000000030d1c252e353b3f404646464646463e3d39342d241b110600000000000000000307090e1b2835414e5b6874818e9b9e9184786b5e5145382b1e120b0906010000000000000b1724313d4a56626c71797979796d675c56626c71797979796d675c5156626c71797979796d675c5145382c1f1306000000000000000000000000080f181f262a32373b3c40434546464544423e3a3936302a2d3338393e4245464544413b3a36312921170d030000000000000000000000000001070c101314171714110c05000000000000000000000000000000000000050b101316171312100b060000000000000000000005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c5e564c41362a1d11050000040f19222b32373b3c464646464646454441333a4145474b4f51525352504b49453e362c22170c00000009141e2730373d414246464646464646464646464646464646464646464646464646464646464646464643413e3830281e140a0000000000000000000000000000000a16202c3945515d6774818e9aa7b1a89b8f8275695e5246382e23170b00000000000000000000000000000006131f2c3845515c6774808d9aa6b0a79b8e8174685d5245392b21160a0000000000000000000000000000040b10161c1d23292c2d30333537383839393938373633312e2d2a25201d18120b0600000000000000000000000000000006101820262b2e2f3939393939393931302d29221b120900000000000000000000000000000000000000000000000000000000000000000000000a151f2831383e4243464643423e3831281f150a0000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000000c1926323f4c5965727f8c93938b7f7265584c3f3225190c00000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000000000000006111c28333f4a54616b76828f99a4a1978d8073695f53463d30261c1106000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000e1b2834414e5b6774818e9aa7afa295897c6f6256493c2f231609000f1c2936424f5c6975828f9ca8b0a3978a7d7064574a3d424f5c6975828f9ca8b0a3978a7d7064574a3d3124170a00010c17222d363f45494b5353535353534b4a453f372d1d140a0000000000010b151f2e3740474b4d5353535353534b49453e362d22170c00000000000000000000020e1b2835414e5b6874818e9b9e9184786b5e5145382b1e12050000000000000000000b1825323e4b5865717e86868686796d605865717e86868686796d60535865717e86868686796d6053473a2d20140a0000000000000000000000081119212a31363c4347494d5052525352514e4b4746413a36383f44464b4f525352514e4846423b33291f1409000000000000000000000000000000000406070b0a0805000000000000000000000000000000000000000000000407090a070603000000000000000000000000020e1a25303b454d525f60606060606060605f524c443a3025190d0100000007101920272b2e2f393939393939393835272f35393a3f4244454645433e3d39332c241a1006000004101b26303942494d4f535353535353535353535353535353535353535353535353535353535353535353504e49423a30261b1005000000000000000000000000000004111d2935414b55626f7c88959fabac9f92877b6e61544a3f34281c100300000000000000000000000000000714202d3a4753606d7985929eabaca095897c6f63564c413529190f0400000000000000000000000000060b161b21282c2f34383a3d3f42444445464646454442403e3a3936302c29241d17110a02000000000000000000000000040e18222a32373b3c464646464646463e3d39342d241b110600000000000000000000000000000000000000000000000000000000000000000005111c27313a434a4e505353504e4a433a31271c110500000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99988c7f7265594c3f3226190c00000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000b17222d38424f59626f7c87939fa99f92867b6e61594f42382e23170c020000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000e1b2835414e5b6874818e9ba7afa396897c706356493d3023160a00101c2936434f5c6976828f9ca9aca4978a7d7164574a3e434f5c6976828f9ca9aca4978a7d7164574a3e3124170b0005111d29343f48505658606060606060585651493f2f261b11060000000007121d27314049525759606060606060585650483e34291d1105000000000000000205070e1b2835414e5b6874818e9b9e9184786b5e5145382b1e12050000000000000000000a1723303d4a5663707d8993988a7d70635763707d8993988a7d7063575663707d8993988a7d7063574a3d31261b0f03000000000000000000060f19232b333b42464e54555a5d5e5f5f5f5d5b5854524c4641424a5053575c5e5f5f5d5b54534d453b31251a0e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b42464853535353535353535346413a32281e13080000000000070f151b1f22222d2d2d2d2d2d2c2b281e24292c2d3235383939383731302d28221a12080000000915212c37424b54595c6060606060606060606060606060606060606060606060606060606060606060605c5a544c42382d2115090000000000000000000000000000010d18242f3a47535f6a7683909da9afa3998c7f73665c5044382b1f14090a0a0a0a0a0a0a0a0a0a0a0a0a0a121f2b37434e5864717e8b97a2adaa9d9083776b6054443a2f241907000000000000000000000000020a111721272c3338394045474a4c4e50515253535252514f4d4a4746413a39352f28231c140c0600000000000000000000000a15202a343c434749535353535353534b49453e362d22170c0000000000000000000000000000000000000000000000000000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a00000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000000d192633404c5966737f8c99998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000000000000000000006111c262f3d47535f6a74818e97a2a3988e82756b60544a3f34281f14090000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b0a396897d7063564a3d3023170a00101d293643505c6976838f9c9f9f9f978b7e7164584b3e43505c6976838f9c9f9f9f978b7e7164584b3e3125180b000815212d3945505a62646c6c6c6c6c6c65625b5141382d22170b000000000c18232f3943525b63666c6c6c6c6c6c64625a5045392d211508000000000002090e1114141b2835414e5b6874818e9b9e9184786b5e5145382b1e12050000000000000000000815222f3b4855626e7b88959a8d81746758626e7b88959a8d8174675855626e7b88959a8d817467584e43372b1f12060000000000000000030e18222b353d454d53585f6266696b6c6c6b6a6865615e56524c4c545b6064696b6c6c6a67615e574d42362a1e1205000000000000000000000000000000010406070b0e101213131312100e0b07060401000000000000000000000000000000000000000000000000000000000000020d17212930363a3b4646464646464646463936302820160c02000000000000040a0f1315162020202020201f1e1c13191d202125282b2c2c2c2a2423211d171008000000000c1925313d49545d65686c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69665e54493e3226190d00000000000000000000000000000007131d2b37434e5864717e8b97a2adab9e9184786d6053463b31251a16161616161616161616161616161616212e3a47535f6a7683909ca9aea2988b7f7265594f4332281e13080000000000000000000000030b141c222832383e44484b515356595b5d5e5f5f5f5f5f5d5c5a5754524c47454039342e261e170f07000000000000000000030f1b26323c464e535560606060606060585650483e34291d110500000000000000000000000000000000000000000000000000000000000000000d1a26323e4a545e66696c6c69665e544a3e32261a0d00000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000000d1a2633404d596673808c99998c7f7366594c403326190d00000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000000000000000000a141d2b37434e58616d7a85929fa79e93897d70665c50443b30251a0d0300000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b0a3968a7d7063574a3d3024170a00101d2a3643505d6976839093939393938b7e7165584b3e43505d6976839093939393938b7e7165584b3e3225180b000b1724303d4956626c71797979797979726d6253493f33271b0f03000004101c2934404b55636e73797979797979716c6256493d3024170a00000000050d14191e2021272835414e5b6874818e9b9e9184786b5e5145382b1e12050000000000000000000714202d3a4753606d7a86979e9184786a5f606d7a86979e9184786a5f53606d7a86979e9184786a5f53473a2e21150800000000000000000a15202a343d474f575f616a6f7376787979787775716d68615e56565d666c717578797877746e695e53463a2d2114070000000000000000000000000001070d111314181b1d1f1f201f1f1d1b181413110d07010000000000000000000000000000000000000000000000000000000000050f171f252a2d2e39393939393939392e2d2a251e160e0500000000000000000003060809131313131313121210080d111314181c1e1f201f1d181714110c0600000000000e1b2834414d59656f757979797979797979797979797979797979797979797979797979797979797979797670665a4e4135281c0f000000000000000000000000000000010f1b26323c4753606d7985929fabada1968a7d7063574d42362a23232323232323232323232323232323232934404b55626e7b88949fabac9f92867a6d6054473d3221160c0100000000000000000000030c151d262d333d44484f55555c606366686a6b6b6c6c6c6b6a696664615e5653514b443f38302921191007000000000000000006131f2b37434e585f626c6c6c6c6c6c6c64625a5045392d21150800000000000000000000000000000000000000000000000000000000000000000f1c2935424e5a66707679797670665a4e4235291c0f00000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99998c807366594d4033261a0d00000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000000000000000000000020b1b26323c46525e68727f8c95a0a59d9083786d60574d42362a1f150b01000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8b0a3978a7d7064574a3d3124170a00101d2a3743505d6a7683868686868686867f7265584b3f43505d6a7683868686868686867e7265584b3f3225180c000b1825313e4b5864717e8686868686867f72655b5044372b1f150a000006131f2c3845515c6773808686868686867e7164584b3e3125180b000000050e171f252a2d2e342d35414e5b6874818e9b9e9184786b5e5145382b1e120500000000000000000006131f2c3945515d677885929e96887b6f625d677885929e96887b6f62555d677885929e96887b6f6255483c3025190d01000000000000020f1a26313c464f5960696e767c80838585868583817e7a746d68605d686d787e8285868584817b6e6154483b2e211508000000000000000000000002080e13181d202024272a2b2c2d2c2b2a272421201d18130e090300000000000000000000000000000000000000000000000000000000050d141a1e20212d2d2d2d2d2d2d2d21201d19130c05000000000000000000000000000006060606060606050300010406070c0f11121312100b0a0805000000000000000f1c2935424f5c6875828686868686868686868686868686868686868686868686868686868686868686868276695c504336291d10000000000000000000000000000000000a151f2c3845515d6774808d9aa6b0a89c8f8275695e5346382e3030303030303030303030303030303030303845515c6774808d9aa6b0a79b8e8174685d5245392c20130400000000000000000000000b151e272f383f444f54596163676d70727577777879797978777573716d6865605d55504a423b332a22190f06000000000000000815212e3b47535f6a7679797979797979716c6256493d3024170a0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d69768386868376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9a998d8073665a4d4033271a0d00000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000000000000000000000000a15202a36414c56606d7883909aa4a0958c7f72695e52463e31271d1207000000000000121f2c3845525f6b7885929eabaca194877a6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9aca4978a7d7164574a3e3124170b00101c2936424f5b66717679797979797979726d62564a3d424f5b66717679797979797979726d62564a3d3124180b000713202d3a4653606d7984919393939184786c6053463c31261a0f02000714202d3a4753606d7985929393939184796d6053463a2d2013070000020d17202930363a3b413a38414e5b6874818e9b9e9184786b5e5145382b1e120500000000000000000004101d2935404b556a7783909d998c7f7266566a7783909d998c7f726656556a7783909d998c7f7266564c41362a1d110500000000000006121f2b37434e58606b707b82888d9091929292908e8b86817a706b606d7a828a8f91929290897d7063564a3d3023170a00000000000000000000050d14191d24292c2d31343738393939383634312d2c29241d1a140d050000000000000000000000000000000000000000000000000000000002090e12141520202020202020201413110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2935424f5c6875828f939393939393939393939393939393939393939393939393939393939393938f8276695c504336291d100000000000000000000000000000000004101d2935404b55626e7b88949fabac9f93877b6e61544a3f3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d4753606d7985929eabaca095897c6f63564c4135291d11040000000000000000000007121d273039424a505960636b7075797d7f81838485868685858482807d7a76716d67605c544d453c342a21180c030000000000000916222f3c4955626f7c868686868686867e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9a9a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000040d1925303a44515c666f7d88939fa79f92867b6e61594f43392f24180c020000000000121f2c3845525f6b7885929e9f9f9f94877a6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000000101d293643505c6976838f9c9f9f9f978b7e7164584b3e3125180b000e1a26323e4a555f666a6c6c6c6c6c6c6c65625b51453a3e4a555f666a6c6c6c6c6c6c6c65625b51453a2e2215090006131f2c3845515c66727f8c97a2a0958a7d7063584e43372b1e13080714202c38444f5965717e8b97a1a2978c7f72665c5144382c1f1206000009141f29323b4246474d4745404e5b6874818e9b9e9184786b5e5145382b1e1205000000000000000000000c18242f424f5c6875828f9b9c908376685e6875828f9b9c908376685e5c6875828f9b9c908376685e5246392d2013070000000000000814212e3a47535f6a707d858f94999c9e9f9c9b9c9b98928e857d706b75828f949c9e9f9f96897d7063564a3d3023170a000000000000000000080e171e252a2f35393a3e4143454646464543413e3a39352f2a251f170f09000000000000000000000000000000000000000000000000000000000002050708131313131313131307070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2935424f5c6875828f9b9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9c8f8376695c504336291d1000000000000000000000000000000000000c18242f3947535f6a7683909ca9afa4998c8073665c504949494949494949494949494949494949494949494e5864717e8b97a2adaa9d9083776b6054443a2f24190d01000000000000000000040e18232e39434b545b606b70767d8185898c8e90919292929292908f8d8a86837e79726d665f574e463c332a1e150b0000000000000916222f3c4955626f7c8893939393938b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9a9a8d8074675a4d4134271a0e01000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000030709090c0c0c0c0c0c0c0c0c0c0c0c0c0c08131e2834404a54606b74818e97a1a2988e81756b61554b4035291e140a0000000000121f2c3845525f6b7885929393939393877a6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000000101d2a3643505d6976839093939393938b7e7165584b3e3225180b000a16222d38434d555b5d60606060606060585651493f3438434d555b5d60606060606060585651493f34291d11050004101c2834404b54606d7a85929fa89c8f82766a5f53473a3025190d0916232f3c4855606b7783909da99f92857a6d60544a4034281c100400020e1925303b444d52545a53514b4e5b6874818e9b9e9184786b5e5145382b1e120500000000000000000000071a2734414d5a6774808d9a9f93867a6d616774808d9a9f93867a6d615a6774808d9a9f93867a6d6154473a2e23180c000000000007131f2c38434e58626e7c8692989fa29f97928f8e8f9196999792877d707d89949ea69e989291897d7063564a3d3023170a00000000000000010a121a202930363a4045474b4e505252535252504e4b4745413a363029211b120a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2935424f5c6875828f939393939393939393939393939393939393939393939393939393939393938f8376695c504336291d10000000000000000000000000000000000007121d2b37434e5864717e8a97a1adab9e9184796d6056565656565656565656565656565656565656565656565f6a7683909ca9aea2988b7f7265594f4332281e1308000000000000000000020c16202834404b555c666c737d838a8e9298999b9d9e9e9f9f9f9e9d9c999993908b857f786e695f584e453c30271d120700000000000916222f3c4955626f7c88959f9f9f978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9a9a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000040b0f1315161919191919191919191919191919191918232e39424f59616d7a85929ea69e938a7d70675d51453c30261c110600000000121f2c3845525f6b7885868686868686867a6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000000101d2a3743505d6a7683868686868686867e7265584b3f3225180c0005111c27313b434a4f50535353535353534b4a453f372d313b434a4f50535353535353534b4a453f372d23180c0100000c18232e3945515d6773808d98a39f94887c6f62564c41362a1c12121f2b37434e5863707d8995a0a3988c8073675d5142392e23180c000005111e2a36424d565e6167605c554e5b6874818e9b9e9184786b5e5145382b1e1205000000000000000000000c1926323f4c5965727f8c98a4998b7e716465727f8c98a4998b7e71645465727f8c98a4998b7e7164544a4034281c1004000000000915222e3b4854606a76828f98a2a298928b8583828284878c929792857b818e9aa69e948f8684867d7063564a3d3023170a000000000000000a131c242c323b41464b5153575a5d5e5f605f5e5d5a5754514b46423b332d241c140a01000000000000000000000000000000000000000000000000000106090b0c13131313131313090806030000000000000000000000000003060809131313131313130b0b0905010000000000000000000000000000000000000000000f1c2935424f5c6875828686868686868686868686868686868686868686868686868686868686868686868376695c504336291d100000000000000000000000000000000000010f1a26313c4653606d7985929eacada1968a7d70646363636363636363636363636363636363636363636363636e7b88949fabac9f92867a6d6054473d3221160c0100000000000000000008131e28323a45515c676d78808990959b9fa2aaaba39f9d9d9c9d9ea1a9aba49f9d97928b837b6f6a5f574d42392e23180c02000000000916222f3c4955626f7c8895a2aca4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000020e1b2835414e5b6874818e9b9a8e8174675b4e4134281b0e01000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000070f161b20222325252525252525252525252525252525252527303d46525e68717e8a949ea59e9184796d60584e42382e23170b02000000111e2b3744505d6873787979797979797976685e5246392d20140700000000000000000000000000000000000000000000000000000000000000101c2936424f5b66717679797979797979726d62564a3d3124180b00000a151f2931383e4243464646464646463f3d3a342d242931383e4243464646464646463f3d3a342d241b110600000007121d2935414c55616e7b86929fa69a8e8174685e5246392e231814212e3a47535f6a76828f9ca79f92867a6d61554b4030271c120700000714202d3a46525e696e746d675f585b6874818e9b9e9184786b5e5145382b1e1205000000000000000000000b1724313e4a5764717d8a97ab9b8e82756664717d8a97ab9b8e8275665c64717d8a97ab9b8e8275665c5144382c1f1206000000000916232f3c4956626f7c89949fa79f92867e79767576777b7f858f948f8283909daa9c8f82797779796d6053473a2d20140700000000000009121c252e363e444c52555d6064676a6b6c6c6c6b696764605d55524d453f362e261c1309000000000000000000000000000000000000000000000000060d12161819202020202020201615130f0a04000000000000000000040a0f13151620202020202020181715110c0600000000000000000000000000000000000000000e1b2834414d59656f757979797979797979797979797979797979797979797979797979797979797979797670665a4e4135281c0f00000000000000000000000000000000000009151f2c3845515c6673808d9aa4afa99c8f82757070707070707070707070707070707070707070707070707074808d9aa6b0a79b8e8174685d5245392c201304000000000000000000010d1925303a44515b606d79828d929d9fa7a8a19e999992919090919297979b9fa4a9a19e9590857c6f695f544b4034281e1408000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9b9b8e8174685b4e4135281b0e02000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000007111921272c2f30323232323232323232323232323232323232323235414c56616c75828f98a2a1968d80736a5f544a3f34281d140a0000000f1c2834404c5761686b6c6c6c6c6c6c6c6c5e564c41362a1e1105000000000000000000000000000000000000000000000000000000000000000e1a26323e4a555f666a6c6c6c6c6c6c6c65625b51453a2e2215090000030d171f272d3236373939393939393932312e29231b1f272d3236373939393939393932312e29231b120900000000000d19242f3a46525e6874818e9aa49f92867a6d61544a4034281c1d2a36414c56626e7b88949fa3998d8174685e52433a2f1e150b0000000814212e3b4754616e7b80796f6a605b6874818e9b9e9184786b5e5145382b1e1205000000000000000000000916232f3c4956626f7c8995ab9f9285796d626f7c8995ab9f9285796d60626f7c8995ab9f9285796d6053463a2d201309000000000d1a2733404d5a6673808d99a69f958a7d716d666869696e737a828e938f90959fa298887b6f676d6d675c5145382c1f13060000000000050f1b242e37404850565e61676d71747678797979787674716d67615e57504840382e251b0f06000000000000000000000000000000000000000000010911181e2224252d2d2d2d2d2d2d23221f1b160f0700000000000000070f161b1f22232d2d2d2d2d2d2d2524211d171109000000000000000000000000000000000000000c1925313d49545d65686c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69665e54493e3226190d00000000000000000000000000000000000004101c2834404b54616e7b87939facac9f93877d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d85929fabaca095897c6f63564c4135291d110400000000000000000005111d2935414c56626d75818e949ca4aba39f96918c88868483838485878a8f939a9fa7a79f9791857b6e665c51453b3025190d000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9b9b8e8175685b4e4235281b0f02000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000040f19232b32383b3c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f44505a616e7b86929fa69f92877c6f665c50443c2f261b110600000c18242f3b454f575d5f606060606060605f524c443b3025190e02000000000000000000000000000000000000000000000000000000000000000a16222d38434d555b5d60606060606060585651493f34291d1105000000040d151c2226292a2d2d2d2d2d2d2d2524221d1811151c2226292a2d2d2d2d2d2d2d2524221d18110900000000000008131e2a36414d56626e7b87939fa3988c7f73665c5144382c1f202d3946525e6874818e9aa69f92877b6e61564c4131281d0c030000000815212e3b4854616e7b87837c726c656874818e9b9e9184786b5e5145382b1e1205000000000000000000000814212e3b4754616e7a8799a3a297897c70636e7a8799a3a297897c7063616e7a8799a3a297897c706356493d31261a0e02000000101d293643505c6976838f9ca99d9083766c605c54575e61686d78818e949d9fa79f9285796a5f60605c554b4034291c100400000000030d17212d364049515a61686e747a7e8183858586858583817e7a746e69625a524a40372d21180e03000000000000000000000000000000000000000009131b23292e3132393939393939392f2e2b2720191007000000000007101920272b2e2f3939393939393932312e29221b12090000000000000000000000000000000000000915212c37424b54595c6060606060606060606060606060606060606060606060606060606060606060605c5a544c42382d211509000000000000000000000000000000000000000c18232e3946535f6976828f9ca9afa499938a89898989898989898989898989898989898989898989898989899297a2adaa9d9084776b6054443a2f24190d010000000000000000000713202d3946525e68727f8b939ea6aba399928c84807c7977767677787a7e828790959ea5a9a1979083796d60564c41362a1c11060000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9b9b8e8275685b4f4235281c0f02000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000203101d2a3643505d69768390908376695d5043362a1d10030200000000000000000b16212b353d4448494c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c525e69727f8b949fa3999083786d60574d41382d22170b000007131e29333d454c5052535353535353535346413b32291e1408000000000000000000000000000000000000000000000000000000000000000005111c27313b434a4f50535353535353534b4a453f372d23180c0100000000030a11161a1c1d20202020202020181815110c060a11161a1c1d20202020202020181815110c0600000000000000010e1925303b47535f6975828f9ba69e9184796d6053463d32272834404b55616d7a86929fa69b8e8175695f53443a301f160c000000000815212e3b4854616e7b8790867f776e6974818e9b9e9184786b5e5145382b1e1205000000000000000000000613202d394653606c7986929fa99a8d8073676c7986929fa99a8d807367606c7986929fa99a8d807367574d42372b1e1206000000111e2b3744515e6a7784919da6998d80736659504a4d52565e666d78829099a3aa9e9184776b585353514b43392f23180c000000000009141f29333f48515b636c717a80868a8d909192939291908d8a86817b716d645c52493f332a2015090000000000000000000000000000000000000009121b252d343a3e3f464646464646463c3b38322b22190f04000000040f19222b32383b3c464646464646463e3d3a342d241b1108000000000000000000000000000000000004101b26303942494d4f535353535353535353535353535353535353535353535353535353535353535353504e49423a30261b10050000000000000000000000000000000000000007121d2a36424d5764707d8a96a1adaba49f9796969696969696969696969696969696969696969696969696969fa2a9aea2988b7f7265594f4332281e130800000000000000000003101c28343f4a54616d7a85929fa5aea39992877f79736f6d666a696a686e71757c838f939ea7a9a0958c8073685e5246382d22170b0000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b0204050606060504020000000000000000000000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9c9b8f8275685c4f4235291c0f02000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000050a0f12101d2a3643505d69768390908376695d5043362a1d10120f0a050000000000030f1b27323d474f54565858585858585858585858585858585858585858585858585857606c77828f97a2a0958c7f72695f53493f33271b0f0300020d17212b333b404445464646464646463b3936302920170d020000000000000000000000000000000000000000000000000000000000000000000a151f2931383e4243464646464646463f3d3a342d241b110600000000000000050a0e1010131313131313130c0b0905010000050a0e1010131313131313130c0b09050100000000000000000008141f2b37424d57626f7c89949fa1978a7e7164594f44382c2c3845515c67737f8c98a39f94887c6f62574d4232291e0d04000000000815212e3b4854616e7b8798928c827b7174818e9b9e9184786b5e5145382b1e12050000000000000000000005121f2b3744505b657784919eaa9d91847769657784919eaa9d918477695f657784919eaa9d918477695f53473a2d211408000000121e2b3845515e6b7884919ea5988b7e7265584b3f42464c545c666f7c87929faa9d9084776a5d514745403931271d120700000000020e1a25313b45505a636d737e858d92989a9d9a9998999a9c9a98928d867e736e645b51463c31261a0f04000000000000000000000000000000000008111a242d373f464a4c535353535353534947433d342b20160a0000000a16202b343d434749535353535353534b4a453f362d241a1107000000000000000000000000000000000009141e2730373d414246464646464646464646464646464646464646464646464646464646464646464643413e3830281e140a0000000000000000000000000000000000000000000e1a26313b4653606d7984919eabb5afaca3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3abadb3ac9f92867a6d6054473d3221160c0100000000000000000006121f2b3844505c6673808d97a2aba79f92877d726d6762605c545d565e61646a6f79818f95a0aba79f92867a6e61544a3f33281c0f0300000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180c0e101213131312100e0b08070502000000000000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000003101c2936434f5c6976828f9c9c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000010910161b1e20202a3643505d69768390908376695d5043362a20201e1b161009010000000713202c38444f596063656565656565656565656565656565656565656565656565656565656e7b85929fa79f92867b6e655b5044372b1f12050000060f1921292f343738393939393939392e2d2a251e170e0500000000000000000000000000000000000000000000000000000000000000000000030d171f272d3236373939393939393932312e29231b12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c4854606a7683909ca79d9083776b6054483b312d3a4653606d7985919ea79c8f82766a5f54453b3120170d00000000000815212e3b4854616e7b879298948f857e74818e9b9e9184786b5e5145382b1e120500000000000000000000030f1b27333f49536976838f9ca9a096887b6e6976838f9ca9a096887b6e616976838f9ca9a096887b6e6155483b2f24190d010000111e2a3744515d6a7784909da5988b7f7265544a413d3b424b545f6a75828f9ca89d9084776a5d514438342f271f150b010000000005121e2a36424d57626c737f8a92979f9f97918e8c8b8c8e91969e9f98928b80736d62584e43372b21160b0000000000000000000000000000000007101a232c363f495156586060606060606056544e463d32271b0f0300030f1b27323d464e545660606060606060585650483f362c2319100700000000000000000000000000000000020c151e262c3134353939393939393939393939393939393939393939393939393939393939393939393635322d261e160c0300000000000000000000000000000000000000000009141f2c3844505c6673808c99a3afbbb9b1acaa9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa7a9afb8bab1a79b8e8174685d5245392c201304000000000000000000000713202d3a4653606d7985929b9d9e9f958b7e716b605c5553514a504c5254585f676d78839099a3aea2988c8073665b5044382b1f120600000916222f3c4955626f7c8895a2afa4978b7e7164584b3e312518191b1d1f1f201f1f1d1b181414110e080200000000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000003101d293643505c6976838f9c9c8f8276695c4f4336291c1003000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000010a131b21272b2d2d2d3643505d69768390908376695d5043362d2d2d2b27211b130a0100000915222f3b4854606b6f7272727272727272727272727272727272727272727272727272727272727e8b97a1a3989082776c605346392d201306000000070f171e24282b2c2d2d2d2d2d2d2d21201e19140d05000000000000000000000000000000000000000000000000000000000000000000000000040d151c2226292a2d2d2d2d2d2d2d2524221d181109000000000000000000000105070810101010101010101010101010101010101010101008070501000000000000000000000000000000000915202c38434e5863707d8a95a0a095897c6f63574d423638444f5964717e8b97a1a095897d7063584e43332a1f0e0500000000000613202d394653606c787f86909597928a81818e9b9e9184786b5e5145382b1e120500000000000000000000000b17222d414e5b6874818e9ba7a8988c7f726874818e9ba7a8988c7f72656874818e9ba7a8988c7f7265554c4135291d11040000101c2936434f5c6976828f9ca79a8d8074665c524c4a4847464e5865717e8b98a49d9084776a5d51443729231d150d0300000000000714212d3a46535e69717e8b919fa297928b85817f7f8081848a9196a09f928c7f726a5f53473d32271b10010000000000000000000000000000061019222c353e48515b62656c6c6c6c6c6c6c6260584e43382b1f13060006131f2b38434e5860626c6c6c6c6c6c6c65625a50483e352b22190f0600000000000000000000000000000000030c141b212528292d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292826211b140c040000000000000000000000000000000000000000000003101c28343f4a54616e7b87929facb9b1a7a0939393939393939393939393939393939393939393939b9ea5afb8aca095897c6f63564c4135291d1104000000000000000000000a1623303d495663707c898c8e9092979083786c6059514b464440434146474e555d666f7c86929facaa9e9184786c605346392d20130600000916222f3c4955626f7c8895a2afa4978b7e7164584b3e31252225282a2b2c2d2c2b2a282521201e19140f0a040000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000003101d2a3643505d697683909c9c8f8376695c504336291d1003000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000009131c252c33373939393943505d69768390908376695d50433939393937332c251c13090000091623303c4956636f7c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f85919eaa9f948b7f7265584b3f3225180c00000000060d13181c1e1f202020202020201414110e08020000000000000000000000000000000000000000000000000000000000000000000000000000030a11161a1c1d20202020202020181815110c0600000000000000000002080d1114141c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1414110d08020000000000000000000000000000030f1b27323d4653606c7884919da79b8f8275695f53463a3c4854606b7783909da89d9083776b6054463c3221180e00000000000006121f2b3844505b666c727c838c9299938e8e939e9e9184786b5e5145382b1e12050000000000000000000000061a2633404d596673808c99a6a99c8f82766773808c99a6a99c8f8276676673808c99a6a99c8f8276675d5145392c20130600000c1926333f4c5966727f8c99a59e9184796d605d5656555453505663707c8996a39d9084776a5d5144372a18120b03000000000006121f2b37434e58616e7b86929fa29792857e787473727374787d849095a09f92867c6e62594f44382c1e130800000000000000000000000000060f18222b343e47505a626d72797979797979796f6a6054473b2e221508000815222e3b4754606a6f79797979797979716c625a50473d342b21180f050000000000000000000000000000000002091015191b1c2020202020202020202020202020202020202020202020202020202020202020201d1c1915100a030000000000000000000000000000000000000000000000000c17232e3846525e6975828f9ca8b2aca095898686868686868686868686868686868686868686868e939ea9b4aa9d9084776b6054443a2f24190d01000000000000000000000814212e3b4754616e7b7e7f81838587887e71655b5045403a38343036393c434b545f6a75818e9baaada196897c6f6256493c2f23160600000916222f3c4955626f7c8895a2afa4978b7e7164584b3e312d2e32353738393939383735312e2d2a251f1b150d0701000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000004101d2a3743505d6a7683909d9c908376695d5043362a1d1003000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000005101b252e373e434646464646505d69768390908376695d504646464646433e372e251b1005000e1b2734414e5a6774808b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b9197a1ada69b8e8175685b4f4235281c0f000000000002070c0f11121313131313131308070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000050a0e1010131313131313130c0b090501000000000000000000050d14191e202129292929292929292929292929292929292929292921201e19140d0500000000000000000000000000000a161f2b3744505b65717e8b96a19f93877b6e61554c41424e5763707d8995a0a0968a7e7164594f44342a200f06000000000000030f1c28333f4a545b606a6e787f8690959b9b9ea59e9184786b5e5145382b1e120500000000000000000000000b1825323e4b5865717e8b98a4ac9f92867a6d717e8b98a4ac9f92867a6d65717e8b98a4ac9f92867a6d6054473a2d22170b00000915222f3c4855626f7c88939ea0968c7f746d6865636261605c5f626f7b8895a29d9084776a5d5144372a1e07010000000000000815212e3a47535f6a76828f98a29f92857b716c66666566656c707a839099a3989083766b6054483a2f24190d010000000000000000000000050e17212a343d474f59616c727f868686868686867c6f6256493c2f231609000916232f3c4956626f7c868686868686867e716c61594f463c332a21170e05000000000000000000000000000000000004090c0e0f131313131313131313131313131313131313131313131313131313131313131313100f0d0905000000000000000000000000000000000000000000000000000006111c2a36424d5763707d8a96a1acaa9d9083797979797979797979797979797979797979797979818e9ba7aea2988b7f7265594f4332281e130800000000000000000000000714202d3a46525e696e71737476787a7c796d6053493f46464544423f3b3a39424e5863707d8998a2aea8998c7f7266594c3f2d22170b00000916222f3c4955626f7c8895a2afa4978b7e7164584b3e373a3b3f4143454646464543413e3b3936302b272018130c040000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000004111d2a3744505d6a7783909d9d9083766a5d5043372a1d1004000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a16212c3740494f5353535353535d69768390908376695d5353535353534f4940372c21160a000e1b2734414e5a6774818d9898989898989898989898989898989898989898989898989898989898989ea1a9b3a89b8e8175685b4f4235281c0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a2d2e3636363636363636363636363636363636363636362e2d2a251e170e0500000000000000000000000000030f1b27333f4953606d7984919ea4998d8074675d514547535f6a75828f9ca79e9184786d6053463d3320190e00000000000000000b17222d38424a50585f666d727c838c9299a0a79e9184786b5e5145382b1e120500000000000000000000000a1723303d4a5663707d8996a3aea3998a7d71707d8996a3aea3998a7d7164707d8996a3aea3998a7d7164544a3f33281c0f03000815212e3a47535f6a75828f97a29c918c807a7572706e6d6d666c6c6f7b8895a29d9084776a5d5144372a1e1104000000000003101c28343f4a54626f7c88949fa0958a7e7169605b5458535b60686e7b86929f9f95897d7063564c4135291d110400000000000000000000040d172029333c464f59616b717e88939393939791847a6d6154473a2e211407000714212e3a4754616d7a84919793939392877e706b60584e453c332920160d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a25303b4653606c7884919eabaca095897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d7a86929facac9f92867a6d6054473d3221160c01000000000000000000000005111e2a36424d575e616466686a686d6f6d675d515152535352514e4c4847423c4653606c7885929faba89b8f82756853493f33271b0f03000916222f3c4955626f7c8895a2afa4978b7e7164584b3e4246484c4e505252535252504e4b4746413b373229241d160d0500000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000004111e2a3744515d6a7784909d9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000f1b27333e49525a5f60606060606069768390908376696060606060605f5a52493e33271b0f000e1b2734414e5a6774818d9aa5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5abadb3aca89b8e8275685b4f4235281c0f00000000000000020507080c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0b0906010000000000000000000000000000000000000000000000020d1720293036393b4343434343434343434343434343434343434343433b3936302920170d02000000000000000000000000000b17222d3844515c66727f8c97a29f92857a6d60544a4c56626e7b87939fa1978b7e72665c5044382b1f1207000000000000000006111c262f383f444e545c606a6f788087909593939184786b5e5145382b1e120500000000000000000000000815222f3b4855626e7b8895a99f9f9b8e81746e7b8895a99f9f9b8e8174666e7b8895a99f9f9b8e8174665b5044382b1f12060006121f2b37434e58616e7b8592979f9c928d86827f7d7b7a79797978787c8895a29d9084776a5d5144372a1e1104000000000006121f2b3844505c6674818d9aa69d9083786c6057504a4c4950565f6974818d9aa79b8e8175685d5245392c201306000000000000000000030d161f29323b454e58606b707d87929aa4a29791857b6e685e5246392d201307000713202d3946525e686e7b859197a2a39992867d706a60574e453b32281f160c030000000000000000000000000000060a0e1011131313131313130b0a08080b0d0e131313131313130e0d0b07030000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2b3844505b66727f8c99a3aea79a8d8174675c606060606060606060606060605765717e8b98a2aea79b8e8174685d5245392c201304000000000000000000000000020e1a25303b454d525457595b565d6062605d555c5e5f5f5f5f5d5b5955534d4644505b6576838f9ca9aa9e918477655b5044372b1f1205000916222f3c4955626f7c8895a2afa4978b7e7164584b464d5355585b5d5e5f605f5e5d5b5854524d47433d352f281f170f05000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000004111e2b3744515e6a7784919d9d9084776a5d5144372a1e1104000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000121e2b37434f5a646c6c6c6c6c6c6c6c7683909083766c6c6c6c6c6c6c6c645a4f43372b1e12000e1b2734414e5a6774818d9a9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9b8e8275685b4f4235281c0f000000000003090e12141519191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191816120d070000000000000000000000000000000000000000000008141e29323b4146474f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4746413b32291e14080000000000000000000000000006111b2834404a54606d7a85929fa2988b7f72665b50525e6874818d9aa49e9285796d60544a3f34281c10030000000000000000000a141d262d333c424a50585f666d737c838686868684786b5e5145382b1e120500000000000000000000000714202d3a4753606d7a8697939393939285796d7a8697939393939285796c6d7a8697939393939285796c605346392d20130600030f1b26313c46535e696f7c858f949c9f98928f8c898887868685858584919eaa9d9084776a5d5144372a1e110400000000000713202d3a4653606d7885929fa9988b7f72655b50443f3f3f444d57626f7c8897a19f92867a6d6054473a2d2114070000000000000000030c151f28313b444d575f6a6f7d869299a3a29892857c6f695f564c4135291d11050005111d2935414c565f696f7c859298a2a39892867c6f6a5f574d443a31281e150c020000000000000000000000040b11161a1d1e2020202020202018171514171a1b202020202020201a1a17130e08010000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616e7a86929facab9f9285796d60535353535353535353535353535f697683909caaaca095897c6f63564c4135291d11040000000000000000000000000009141f29333b4246474a4c4e4c52545c606366696b6c6c6c6b6a6865625f5753504a536773808d9aa6ac9f9286796c605346392d201306000916222f3c4955626f7c8895a2afa4978b7e7164585053575f6165686a6b6c6c6c6b6a6864615e56544e45403a312921170f050000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000005111e2b3844515e6b7784919e9d9184776a5e5144372b1e1104000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000013202d3946535f6c767979797979797979839090837979797979797979766c5f5346392d2013000e1b2734414e5a6774808d9393939393939393939393939393939393939393939393939393939393939393939393938e8275685b4f4235281c0f00000000060d141a1e2122262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262525221e1811090100000000000000000000000000000000000000010d1925303b444c52545c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c54524c443b3025190d01000000000000000000000000000c18232e3945515d6773808d98a39e9184786c605354616d7a86929fa2988c7f73675c5142382e23170b00000000000000000000020b141c222830383f444e545c606a6f77797979797872685c5043372a1d1104000000000000000000000006131f2c3945515d677885868686868686867c6f7885868686868686867c6f677885868686868686867c6f6256493c2f23160900000a15202a36424d57606a6f7b828a8f9299999b9896959499929292919196a1aa9d9084776a5d5144372a1e110400000000000915222f3c4855626f7c8897a2a197887b6e6153493f332d333b4653606c7985929ea399897d706356493d3023160a00000000000000020b151e27313a434c565f696f7c859298a2a39992867d6f6a5f574d443a3025190d0100010d1925303a444d575f6a6f7d869299a3a29892857c6e695e564c433a30271e140a00000000000000000000050d151c2227292a2d2d2d2d2d2d2d2524211f2426272d2d2d2d2d2d2d2726231f19120b0200000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3846525e6875828e9ba8ada2978a7e7164574d42464646464646463f4a54626e7b88949fabaa9d9084776b6054443a2f24190d0100000000000000000000000000020d17202930363a3b404850565d60666d70737677787979787775726e6964605c545966727f8c99a5aea399877a6d6154473a2e211407000916222f3c4955626f7c8895a2afa4978b7e7164545c6064696e72747678797979787674716e68626058514b433b332921170d0300000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000005121e2b3845515e6b7884919e9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000013202d394653606c798686868686868686909494908686868686868686796c605346392d2013000e1b2734414e5a67748086868686868686868686868686868686868686868686868686868686868686868686868686868175685b4f4235281c0f000000060f181f262a2d2e3232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232312e29231b13090000000000000000000000000000000000000005111e2a36414c565e61696969696969696969696969696969696969696969615e564c41362a1e11050000000000000000000000000007121c2935414b55616e7a86929fa0968a7d7064585c66737f8c98a29f92857a6d60554b4030261c11060000000000000000000000020a11171e262e343c424a51585f626a6c6c6c6c6b6860564b3f33271b0f02000000000000000000000004101d2935404b55687378797979797979796f6a7378797979797979796f6a687378797979797979796f6a6054483b2e2215090000030e1a25313b454e5860696e767d8286898c8e8f90909191919292929399a4aa9d9084776a5d5144372a1e110400000000000b1825323e4b5865717e8b98a99e928578695f5341382d222b3744505b6575828f9cab998c7f7266594c3f3326190c000000000000000a141d263039434c565e686e7b859197a2a49a92877d706b60584e453b32281e130800000008131e28323b454e58606b707d879299a4a19791847b6e685e554b433930261c11060000000000000000040d171f272e3336373939393939393931302d2b303334393939393939393433302b241d140b010000000000000000000000000000000000000000000000000000000000000000000000000006111c2a36414c5663707d8996a0aca99c8f8276695e5246382d393939393844505c6673808d99a6aea2988b7f7265594f4332281e1308000000000000000000000000000000050e171f252a38404a525a61686d73797d8082848586868584817f7b77716d66605865717e8b98a4b4ab94887b6e6155483b2e221508000916222f3c4955626f7c8895a2afa4978b7e716460666d71777b7f8183858586858583817e7b756f6a605d554d453b33291f150b01000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000005121f2b3845525e6b7885919e9e9184786b5e5145382b1e1205000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000013202d394653606c7986939393939393939c9f9f9c9393939393939386796c605346392d2013000d1a26333f4c58646e747979797979797979797979797979797979797979797979797979797979797979797979797979756f65594d4034271b0e0000030d18212931363a3b3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3e3a342d251b11070000000000000000000000000000000000000714202d3946525e686e7676767676767676767676767676767676767676766e685e5246392d20140700000000000000000000000000000d18242f3a46525e6874818e99a49c9083766a60606d7984919ea3998d8073685d5243392f1e140a0000000000000000000000000000060c141c2328303940444e54555d606060605e5c564e443a2f23170b000000000000000000000000000c18242f39435761686b6c6c6c6c6c6c6c6260686b6c6c6c6c6c6c6c626061686b6c6c6c6c6c6c6c6260584e43382c1f130700000009141f29333c464e575f626c70757a7d7f8182838484848585858687939faa9d9084776a5d5144372a1e110400000000000e1b2734414e5a6774808d9aa79d9083766a574d422f261b27333f49536774808d9aa79b8f8275685c4f4235291c0f00000000000006111b262f38424b555d686e7a849197a1a49f93887e716b61594f463c332a20160c02000000020c16202a333c464f59616b717e87939fa3a19691847a6d675d554b42382e2317130a000000000000000b151f2931393f4244464646464646463e3d39363c3f4146464646464646413f3c362f261d120800000000000000000000000000000000000000000000000000000000000000000000000000000d1925303b4854606b7784919daaac9f93877b6e6153493f33272d2d2d3a4653606d7984919eabac9f92867a6d6054473d3221160c01000000000000000000000000000000020c16202c36404a525c646c717a8085898d8f9192929292908e8c88837e786f6a6264717d8a97a4aea195887b6e6255483b2f221508000916222f3c4955626f7c8895a2afa4978b7e71646a6f787e83888b8e909192939291908e8b86827c746d675e574d453b31271d1207000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000005121f2c3845525f6b7885929e9e9185786b5e5245382b1f1205000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000013202d394653606c798689898989898989909595908989898989898986796c605346392d2013000b1724303c47525c64676c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c68655d53483d3125180c000009141f29333b4246484c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4a463f372d23180d0100000000000000000000000000000000000814212e3b4754616e7a8282828282828282828282828282828282828282827a6e6154473b2e211408000000000000000000000000000007131d2a36414c56626e7b87939f9f94887c6f6264717e8b97a19f92867b6e61564c4131271d0c02000000000000000000000000000000020a11171e272e343c434749515353535351504b443c32281d12070000000000000000000000000007121d2731454f575d5f6060606060606056545d5f606060606060605654575d5f6060606060606056544e463d32271b0f030000020e1a25313b454d5354575a6164686d7072747576777778787878797c8895a29d9084776a5d5144372a1e110400000000000f1c2936424f5c6975828f9ca89b8e8175685b4e42312817222d3f4c5865727f8b98a59d9083766a5d5043372a1d100000000000091217222d38414a545d676d7a839096a0a49c928b7f726c61594f473d342a21180e040000000000040e18212a343d464f59616c727f8b919ca4a0969083796d675c544a3f3428251c1209000000000006111c27313b434a4f51535353535353534b494541474c4e535353535353534d4c4740382f24190e030000000000000000000000000000000000000000000000000000000000000000000000000008141e2c38444f5965727f8c98a3aea4998c7f73655b5044372b1f2a36414c5663707d8a97a1ada79b8e8174685d5245392c2013040000000000000000000000000000000008131e28323e48525c646e737e858d9297999c9e9f9f9f9e9d9b9895908b847c726d64717d8a97a4aea295887b6f6255483c2f221509000916222f3c4955626f7c8895a2afa4978b7e716c717c838b9095989b9d9e9f9f9f9e9d9b99928f8781796e695e574d43392f23180c030000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000006121f2c3945525f6c7885929f9e9285786b5f5245382c1f1205000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1723303d4a5663707d7d7d7d7d7d7d7d839090837d7d7d7d7d7d7d7d7063564a3d3023170a0008141f2b36414a52585a60606060606060606060606060606060606060606060606060606060606060606060606060605b59534b41372c20140800020e1a26313b454d535559595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959585651493f34291e120600000000000000000000000000000000000815212e3b4854616e7b878f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f877b6e6154483b2e2115080000000000000000000000000000010e1925303b47535f6975828f9ba69b8e8175686b7783909da49a8e8174695e52443a301f150b000000000000000000000000000000000000060c151c232832373b3c444646464645433f3a322a20160c0100000000000000000000000000010b151f333d454c505253535353535353494850525353535353535349484c5052535353535353534948433d342b21160a00000005121e2a36424d575e6163646566676663666869696a6b6b6b6b6c6f7b8895a29d9084776a5d5144372a1e11040000000000101d2a3643505d697682909ca79a8d8174675a4e4134271b25313e4b5864717e8b97a49d9184776a5e5144372b1e110000000008121b2427333f49535c666d79829095a0a59d928c7f736d625a50473e352b22180f0600000000000000060f18222b343d47505a626d727f8c929da59f958f82796d665c504440372e241b1208000000000a16222e39434d555b5d606060606060605856504a52585a606060606060605a58524a40362b1f13070000000000000000000000000000000000000000000000000000000000000000000000000002101c27333d4754616d7a86929facab9e9184786c6053463a2f242d3946525e6875828f9ba9aca095897c6f63564c4135291d1104000000000000000000000000000000010d1925303a44505a646e73808a92979ea1a9a9a8a19e9c9b9a9b9d9f9d9591877f736e717d8a97a4afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa4978b7e71717e8790959da09e9c9b9a9b9c9ea1a9aba39f9a938e847b6e695e554b4034292015090000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000006131f2c3946525f6c7985929f9f9285786c5f5245392c1f1200000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000916222f3c4854606b70707070707070768390908376707070707070706b6054483c2f22160900030e1a242f3841474c4e53535353535353535353535353535353535353535353535353535353535353535353535353534f4d4841392f251a0f040005121e2a36424d575f616565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565625b51463a2e22160900000000000000000000000000000000000815212e3b4854616e7b87949c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c94877b6e6154483b2e21150800000000000000000000000000000008141e2b37424d57626f7c89949f9f92867b6e707d8995a09f93877c6f62574d4232281e0d0300000000000000000000000000000000000000030b121820262b2e2f37393939393837332f2820180f05000000000000000000000000000000030d212b333b404445464646464646463c3b4445464646464646463c3b404445464646464646463c3b38322b22190f040000000714212d3a46535e696e7071727374736d63545c5d5d5e5e5e5f626f7b8895a29d9084776a5d5144372a1e11040000000000111e2a3744515d6a7783909da69a8d8073675a4d4034271a24313e4a5764717d8a97a49e9185786b5e5245382b1f12000000060f1a242d363f44505b656d78828f949fa69e938d80746d635b51483e352c23191006000000000000000000061019222c353e48515b636d73808d939da59f948f81786d605c52493f362d241a0f060000000e1a27333f4a555f676a6c6c6c6c6c6c6c64625a525c64676c6c6c6c6c6c6c67645c52473c3023170b00000000000000000000000000000000000000000000000000000000000000000000000000000b16202d3946525d6875818e9ba7aca096897c7063554b4135292e3a4754616d7a86929facaa9d9084776b6054443a2f24190d0100000000000000000000000000000005111d2935414c56616c73808d929fa2a9aaa29f9996918f8e8d8e9092999d99928c8073717d8a97a4afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa4978a7e717e8892999e9896918f8e8d8e8f92979b9fa4aca49f9691847b6e675c51453c31261a0e0200000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000000613202c3946535f6c7986929f9f9285796c5f52462e23170b00000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000713202c38444f5960636363636363697683909083766963636363636360594f44382c201307000008131d262f363c3f41464646464646464646464646464646464646464646464646464646464646464646464646464642403d372f271e130900000714212d3a46535f696e72727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272726d62564a3e3125180b00000000000000000000000000000000000815212e3b4854616e7b8794a1a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a194877b6e6154483b2e211508000000000000000000000000000000020e1a26313c4754606a7683909ca3998c807375828f9ca69c8f82756a5f53453b3020160c00000000000000000000000000000000000000000000070c151b1f22222a2d2d2d2d2b2a27231d160f0600000000000000000000000000000000000f1921292f343738393939393939392f2e3738393939393939392f2e343738393939393939392f2e2c2721191007000000000815212e3b4854616e7b7d7e7f7f807f73665b50505151515256636f7c8996a29c8f8376695c504336291d10030000000000111e2b3844515e6b7784919ea6998c807366594d4033261a24303d4a5763707d8a96a39f9285796c5f5246392c1f130000030e18212c363f48515b606c77818e949ea69e948e81776c605b52493f362c231a1007000000000000000000000007101a232c363f49515b646e74818e939ea69e938e81746e635b51483f362c21180e030000101d2936424f5b67717779797979797979716c6258646e7479797979797979746e64584c3f33261a0d000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56636f7c8995a0aca89b8e8174675d5145392c37434e5865727f8b99a3aea2988b7f7265594f4332281e1308000000000000000000000000000000000713202d3946525e68717e8a929da4ada79f98928d88848281818183868b91959f928b7f727d8a97a4afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa4978a7e7c86929a96918c8784828181818285898e939aa1a9a8a0969083796d60574e42372b1f140900000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000006121f2b3844505c667986939f9f9286796c5f4a3f34281c1003000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000004101c27333d474f5456565656565d69768390908376695d5656565656544f473d33271c10040000010b141d242b30333439393939393939393939393939393939393939393939393939393939393939393939393939393534312c251e150c0200000815222e3b4855616e7b7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7265584c3f3225190c00000000000000000000000000000000000815212e3b4854616e7b87949f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f94877b6e6154483b2e211508000000000000000000000000000000000915202b38434e5863707d8a95a09e9285797b87939f9f94897c6f63584e4333291f0e040000000000000000000000000000000000000000000000040a0f1315161e202020201e1d1b17120c05000000000000000000000000000000000000070f171e24282b2c2d2d2d2d2d2d2d23222b2c2d2d2d2d2d2d2d2322282b2c2d2d2d2d2d2d2d23221f1b160f0700000000000b1724313e4a5764717d8a8b8b8c8d86786c60544c4a494a4e5764717e8b97a49b8e8275685b4f4235281c0f020000000000111e2a3744515d6a7783909da6998d8073665a4d4033271a24313d4a5764707d8a97a39f9285786c5f5245392c1f1200000915202a333e48505a636d73808d939ea69f948f82786d655b504940372d241a11080000000000000000000000000008111a242d374049525c606d78818f949fa59d938d80736d635a50483e332a2015090000111e2a3744515d6a7783868686868686867e71645a677480868686868686868074675a4d4134271a0e0000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a4854606b7783909daaac9f92857a6d6054473c313b4754606a7783909dabac9f92867a6d6054473d3221160c0100000000000000000000000000000004111d2935414c56616d7a85929ea4aea79f959086807b7875747475767a7e848c939992867c7d8a97a4afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa3978a7e839098938d847f7b777574747476797c81889297a1a9a89f958d80736a5f53473b30251a0e02000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000000713202d3a4653606d79869aa49f938679665c5044382b1f1206000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b16212b353d44484a4a4a4a505d69768390908376695d504a4a4a4a48443d352b21160b00000000020b131a1f2426272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282725201a130c030000000a1724303d4a5763707d8a8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c86796c5f5346392c201300000000000000000000000000000000000815212e3b4854616e7b8793939393939393939393939393939393939393877b6e6154483b2e21150800000000000000000000000000000000030f1b27323d4653606c7883909da1978b7e808d9aa49c9083766b6054463c3121170d000000000000000000000000000000000000000000000000000003060809111313131312110f0b07010000000000000000000000000000000000000000060d13181c1e1f2020202020202016151e1f2020202020202016151c1e1f202020202020201615130f0a040000000000000814212e3b4754616e7a8793989998897d70665e56565657585f6975818e9ba7998c7f7266594c3f3326190c000000000000101d2a3643505d697682909ca79a8d8174675a4e4134271b24313e4b5764717e8a97a49e9184786b5e5245382b1f1200020f1a26313c46505a626d727f8c929da5a0959082796d665c53493f372e251b120800000000000000000000000000000008121b242e374044505c666d79828f959fa59c928c7f726c625a50463c31261a0f0200111e2a3744515d6a77849093939393938b7e71645a6774818d93939393938d8074675a4d4134271a0e00000000000000000000000000000000000000000000000000000000000000000000000000000008131e2c38434f5965727f8b98a2aea2988b7e7165574d4237404b55626f7c8895a0aca79b8e8174685d5245392c201304000000000000000000000000000000000713202c3945525d6873808d97a1adaa9f9590837b736e6969686768676d71797f87929890837e8a97a4afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa89b8e818e9593878079726e6969686768656c6f757d859297a2ada79f92877b6e62574d42362a1e1105000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0a49a86796d6053463a2d201307000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000050f19232b33383c3d3d3d43505d69768390908376695d50433d3d3d3c38332b23190f05000000000001080e14171a1b20202020202020202020202020202020202020202020202020202020202020202020202020201c1b18140f0902000000000a1724303d4a5763707d8a96989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989286796c5f5346392c201300000000000000000000000000000000000815212e3b4854616e7b8686868686868686868686868686868686868686867b6e6154483b2e21150800000000000000000000000000000000000a161f2b3744505b65717e8b96a19e918486929fa0958a7d7064594f43342a200f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002070c0f111213131313131313090911121313131313131309090f1112131313131313130909070300000000000000000714202d3946525e6875828f9aa49d9083786e6865636363656a6e7b86929f9f95887c6f6255483c2f2215090000000000000f1c2935424f5c6875828f9ba79b8e8174685b4e4130251a25323f4b5865727e8b98a59d9083776a5d5144372a1e110006121f2b37434e58616c717f8b919ca4a09690837a6d675d544a41382d251c1309000000000000000000000000000000000009121c2528343f4a545c676d79839095a0a49c918b7e716c61584e43372b1f120600111e2a3744515d6a7784909d9f9f9f978b7e71645a6774818d9a9f9f9f9a8d8074675a4d4134271a0e000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b27323d4754606d7a86929facaa9c908376695f53473845515c6774808d9aa7aca095897c6f63564c4135291d1104000000000000000000000000000000000714212d3a4754606d7a85929fa9aea2989083796e69625f575b5a555d60666d737e8692958f828f9ca8afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afaa9e938e9393877e736d67615e575b5a535b60626b707c85929fa6afa3998e8175695e52463a2d201408000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0a093867a6d6053473a2d201407000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000005101a232c33393c3d3d3d43505d69768390908376695d50433d3d3d3c39332c231a10050000000000000003080b0d0e13131313131313131313131313131313131313131313131313131313131313131313131313130f0e0c08040000000000000a1724303d4a5763707d8a969f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9286796c5f5346392c201300000000000000000000000000000000000714212d3a46535e697679797979797979797979797979797979797979797976695e53463a2d2114070000000000000000000000000000000000030f1b27333f4953606d7984919ea096919298a29d9184786c6053463d3220180e0000000000000000000000000000000000000000000000000000020507080c1011131311100c0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c56626f7c87939f9f958f827a757270707072757c849198a39a9083766a5f53473a2e2115080000000000000e1b2734414e5a6774818d9aa79c90837669574d42362a1e2733404d5a6673808d99a69c8f8276695c4f4336291c10000814212e3a47535f6a717e87939fa3a19691847a6e685d554b42382f261b130a010000000000000000000000000000000000000a1317232e38424b555d676d7a839196a1a39f92877e716a5f53473a2e21140800111e2a3744515d6a7784909daaaca4978b7e71645a6774818d9aa7aca79a8d8074675a4d4134271a0e000000000000000000000000000000000000000000000000000000000000000000000000000000000a16202c3945515d6774818e9aa7ab9f94887b6e62544a3f4653606d7985929fabaa9d9084776b6054443a3024190d0100000000000000000000000000000004111d2935414c5665727e8b98a2aeab9f92867b6e675e57534d4e4e4b51545c606c717e8a92948f949eaaafa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afafa59e9b958c7f736c605c55524d4e4e49505359606a717e8a949fabab9f92877b6e6154473b3025190e020000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000000714212e3a4754616d7a8794a0a093877a6d6054473a2d211407000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b17222c363e44494a4a4a4a505d69768390908376695d504a4a4a4a49443e362c22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a93939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939286796c5f5346392c2013000000000000000000000000000000000005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e574d42362a1e12050000000000000000000000000000000000000b17222d3844515c66727f8c97a2a09e9fa2a1968b7e71655b5044372b1f120600000000000000000000000000000000000000000000000003090e121415191c1e1f1f1e1c191514120e090300000000000000000000000000000000000105090b0b1313131307060400000105090b0b13131313070604000000000000000000000000000000000000000000000000010d1925303b4754606a73808d939f9e948f86817e7d7c7d7f82879196a09f93887d6f63584e43372b1f12060000000000000b1825323e4b5865717e8b98a99e918578695e52463a2d232b37424d576875828e9ba79a8d8074675a4d4134271a0e000815222f3b4855626e7b869299a4a29891847b6e685e564c433930261d140a01000000000000000000000000000000000000000006111c263039434b555e686e7b849197a2a39992867b6e6255483b2f22150800111e2a3744515d6a7784909daab1a4978b7e71645a6774818d9aa7b3a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c55626f7c88959faba6998d8073665c50444d5764717e8a97a2ada2988b7f7265594f4332281e1308000000000000000000000000000000000713202c3945525d687683909caaaea3998c8073695e554d4742414140454a515a616c74808d979c9ea6b0afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afb7afa89d9083786d605a514b464241413f44464f58616c76828f9ca9afa3998c7f7266564c41362a1e11050000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e211407000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000004101c28333e48505557575757575d69768390908376695d57575757575550483e33281c10040000000000000000000000000000000000000000000000000000000000000000050a0d0f101313100f0d0a05000000000000000000000000000000000a1724303d4a5763707d8686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796c5f5346392c20130000000000000000000000000000000000020e1a25313b454d535f6060606060606060606060606060606060606060605f534d453b31251a0e0200000000000000000000000000000000000006111b2834404a54606d7a85929393939393939184796d6053493f33271b0f030000000000000000000000000000000000000000000002090e141a1e212226292b2c2c2b292521211e1a140e09020000000000000000000000000000060c111517182020201f1413100c070c111517182020201f1413100c07010000000000000000000000000000000000000000000008141e2b38434e58606d78818c92999f98928e8b89898a8b8f92999f98928b7f726b6054463c31261b0f030000000000000915222f3c4855626f7c8897a2a197877b6e6154483d342e303947535f697784919ea7978b7e7164584b3e3125180b000a1723303d4a5663707d8999a3ab9f92857b6f695e564c433a31271e150b02000000000000000000000000000000000000000000000a141e27303a434c565e696e7b85929faba398897d7063564a3d3023170a00111e2a3744515d6a7784909daaa89f978b7e71645a6774818d9aa7a09f9a8d8074675a4d4134271a0e00000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a47545f6a7783909da9ab9e9184796d605346525e6976828f9ca9ac9f92867a6d6054473d3221160c02000000000000000000000000000000000714212d3a4754606d7a86929facac9f92867a6d61574d433b37312f35394044505a606d7a85919eaab0b8afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afb9ada1968a7d70665c5045403936302d33373d46505a63707d8a97a1adab9d908377685e5246392d2014070000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1a194877a6e6154473b2e211408000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000814202d3944505a616464646464646976839090837669646464646464615a5044392d201408000000000000000000000000000000000000000000000000000000000000030a11161a1c1d20201d1c1a16110a0300000000000000000000000000000916232f3c4855616b707979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746a5e5145382b1f1200000000000000000000000000000000000009141f29333b4246485353535353535353535353535353535353535353534846423b33291f140900000000000000000000000000000000000000000c18232e3945515d67738086868686868686867f72665c5141382d22170b00000000000000000000000000000000000000000000050d141a1f262a2d2e32363839393836322e2d2a251f19140d050000000000000000000000000911181d2124252d2d2d2c201f1c1812181d2124252d2d2d2c201f1c18120b03000000000000000000000000000000000000000000020f1b27323d44505c666d777f868e92999a9b98969696989b9a98928e867f726d62594f44342a20150a000000000000000713202d3a4653606d7985929fa9988b7e7165594f443f3f3f424c56616e7b8896a0a095877b6e6154483b2e211508000a1723303d4a5663707d8996a1a9a2988b7e716b61584e463c332920160d03000000000000000000000000000000000000000000030c161f29323c454e58606b717e87939fa9a196897d7063564a3d3023170a00101d2a3743505d6a7683909d9e9b93938b7e71645a6773808d9aa19393938d8074675a4d4134271a0e000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2b37434e5865717e8b97a2ada1968a7d7063564c54616e7b87939faca79b8e8174685d5245392c20130400000000000000000000000000000000000a1724313d4a5764707d8a99a3afa99c8f8276685e52453b312b2624292e343e45525d68727f8c98a2aebaafa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afb7ab9e9184786c60544a3f342e2a2522272b343e4653606c7885919eabac9f93877a6e6154473b2e2114080000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000000815222e3b4855616e7b8894a1a194877b6e6154483b2e211508000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1623303c4955616c70707070707070768390908376707070707070706c6155493c3023160a0000000000000000000000000000000000000000000000000000000000040d151c2226292a2d2d2a2926221c150d04000000000000000000000000000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a62584d4135291d10000000000000000000000000000000000000030d17212931363a3b4646464646464646464646464646464646464646463b3a36312921170d03000000000000000000000000000000000000000007121c2935414b55636e737979797979797979726d62544a402f261b1106000000000000000000000000000000000000000000080e171f252a31363a3b3f4344464644433f3b3a36312a251f170e070000000000000000000009121b22292e3132393939392d2c29231d22292e3132393939392d2c29231d150d030000000000000000000000000000000000000000000a162028343f4a545c656c737b82868b8e909192929291908d8b86817b726d625b51473d3222180e040000000000000006121f2b3844505c6674808d9aa69c9083766b6157504a4c4c4e545d68737f8c99a89d908377695e53463a2d211407000814212e3b4754616e7a849197a2aa9f92877d706a60584e453b32281f150c0200000000000000000000000000000000000000020b151e28313b444d57606a707d879299a4a29791847a6e6154473b2e21140800101d293643505c6976828f9c938e8686867e7164596673808c9997898686868074675a4d4134271a0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000010f1b26323c4753606d7985929faba99b8e8275685d525966737f8c99a4aca095897c6f63564c4135291d110400000000000000000000000000000000000d1a2733404d5a6673808d99abb5ab988b7f7265564c4133291f1a181c232935414c56606d7a85929fabb8afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afb6ac9a8d8073665b5042382e231d1a171b222b3744505b6574818e9ba7afa49a8a7e7164574b3e312418070000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000010406070c0b0a09080815222f3b4855626e7b8895a1a194887b6e6155483b2e22150808090a0b0c07070501000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1724313d4a5764707d7d7d7d7d7d7d7d839191837d7d7d7d7d7d7d7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000030d161f272d32353639393635322d271f160d0300000000000000000000000004101c28333e474f5557606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605f5e5850473c3125190d00000000000000000000000000000000000000050f171f252a2d2e3939393939393939393939393939393939393939392e2d2a251f170f05000000000000000000000000000000000000000000000d18242f3a43525c63666c6c6c6c6c6c6c6c65625b5142392e1d140a00000000000000000000000000000000000000000009111a202930363b4246484c4f515252514f4c4846423b36302920191109000000000000000006111b242d343a3d3e464646463a38342f272d343a3d3e464646463a38342f271f150b010000000000000000000000000000000000000000040b17232e38424a535b60696e757a7e8183848586858483817e7a756e69625b51493f352b211006000000000000000003101c28343f4a54626e7b88949e9f94897d7069605c5458595860666d7a85929fa1978b7f7265574d42362a1e1205000714202d3946525e686f7c859298a3a39992867d6f6a5f574d443a31271e140a000000000000000000000000000000000000000a141d27303a434c565f696f7c869299a3a29892857c6f685e5246392d201407000f1c2935424f5c6875828f9b8e81797979716c625965727f8c989285797979746e64584c3f33261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151f2c3945515d6774808d9aa6ac9f92867a6d6154606b7784919eabaa9d9084776b6054443a3024190d010000000000000000000000000000000003101c28343f4a546975828f9ca8afa399887c6f6255493c3022170d0d1219242f3a45525d6875818e9ba8b4afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afafa49a897d7063544a3f30261c120e0b0f1b27333f495364717e8b97abb5ac9a8d8073675a4d402e23180c0000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000001080d11131419181716151415222f3c4855626f7b8895a2a195887b6e6255483b2f22151415161718181413110d080200000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000013202d394653606c79868a8a8a8a8a8a8a919595918a8a8a8a8a8a8a86796c605346392d2013000000000000000000000000000000000000000000000000000000000a151f2831383e4243464643423e3831281f150a000000000000000000000000000b16212c353e44484a5353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353514d473e352a1f14090000000000000000000000000000000000000000050d141a1e21212d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d21211e1a140d05000000000000000000000000000000000000000000000007131d2831404a52585a6060606060606060595751493f30271c0b02000000000000000000000000000000000000000009121b232b333b42464d5355595c5e5f5f5e5c5854534d46423b322b231b1209000000000000010c18222d363f454a4b535353524745403931363f454a4b535353524745403931271d120700000000000000000000000000000000000000000006111c263038414950575f62686d71747778787978787674716d68615f5751493f372d23190f000000000000000000000b17232e3847535f6a75828f97a29e92857b716d66666566676a6f78828f97a29e9285796d6053473b31251a0e020005111e2a36414c565f6a6f7d869299a3a29892857c6e695e564c433930261c1106000000000000000000000000000000000006111c262f39434c565e686e7b859298a2a39992867d6f6a5f564c41362a1e1105000f1b2835424e5b6875818e9b9083766c6c64625a5865727e8b989386796d6c67645c52473c3023170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55626f7b88949faba3998b7e726557636f7c8996a0aca2988b7f7265594f4332281e1308000000000000000000000000000000000006121f2b3844505c667884919eabac9f9286796d6053463a2d2013070008131e2935414c5664717d8a97a8b2afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afac9f93867a6d6053473a2d20140a00000b17222d3c4855626f7b8899a4afa99c8f837669554b4034281c100400101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000040c13191d20212524232221201f222f3c4955626f7c8895a2a295887b6f6255483c2f221f20212223242521201d19130c04000000000000000000000203101d2a3643505d69768390908376695d5043362a1d1003020000000000000013202d394653606c798693939393939393939393939393939393939386796c605346392d201300000000000000000000000000000000000000000000000000000005111c27313a434a4e505353504e4a433a31271c110500000000000000000000000005101a232c33383c3d464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464645413c352c23190e0300000000000000000000000000000000000000000003090e1214152020202020202020202020202020202020202020201514120e0903000000000000000000000000000000000000000000000000010c161f2e3840474b4d53535353535353534c4a463f372d1e150b000000000000000000000000000000000000000007111b242d353d454d52575f6165696b6c6c6b6965615e57524d443d352c241b1107000000000005111d29343f485056586060605f53514b43393f485056586060605f53514b43392f23180c000000000000000000000000000000000000000000000a141e262f383f444d53565e6165676a6b6c6c6c6b696764605d56534d453f372d251b11070000000000000000000006111c2b37434e58616e7b85929fa19792857e797573727274777c838f949f9e938b7e71675d514539291f14090000020e1925303b444e58606b707e87929fa3a29791847b6e685d554b42382e23171309000000000000000000000000000000091317222d38424b555d686e7a849197a1a39f92877d706b60584e443b3025190e02000d1a2633404d596673808c99918477695e5856505663707d89969a877b6e615a58524a40362b1f1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3947535f6a7683909ca9ab9d908376695f6774818e9aa8ac9f92867a6d6054473d3221160c0200000000000000000000000000000000000713202d3a4653606d7986929facaa9e918477665c5145382c1f130600010d19242f3a4754616d7a8796a0acafa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afaa9e918477675d5145392c20130200000613202d3a4653606d7986939facab9e918478675c5145382c1f130600101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000040d161e24292c2d3231302f2e2d2c292f3c4956626f7c8995a2a295887b6f6255483c2f292c2d2e2f3031322e2d29241e160e0400000000000000050a0f12101d2a3643505d69768390908376695d5043362a1d10120f0a05000000000013202d394653606c798686868686868686868686868686868686868686796c605346392d20130000000000000000000000000000000000000000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a0000000000000000000000000008111a21282c2f3039393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393835312a231a11070000000000000000000000000000000000000000000000000205070813131313131313131313131313131313131313131308070502000000000000000000000000000000000000000000000000000000040d1c262e363b3f4046464646464646463f3e3a352d251b0c0300000000000000000000000000000000000000050e19232d363e474f575e61696e72767779797776726e69615e564f473e362c23190e04000000000915212e3a45505a62656c6c6c6c605c554b4045505a62656c6c6c6c605c554b4034291c1004000000000000000000000000000000000000000000020c141d262d333c42474c5254585b5d5e5f5f5f5e5d5a5854524c46423b332d251b13090000000000000000000000000f1a26313c46525e69717e8a939aa197928b8581807f7f80848890959f9f948e81756c62554b403529170d0300000008141e29323c464f59616c717e8b919ca4a19691837a6d675d544a3f3428251b12080000000000000000000000000008121b2528333f4a545c676d7a839096a0a49c918b7e716b61594f463c32291e140800000b1724313e4a5764717d8a9796877b6e6154474754616e7a8797978a7e7164544a4740382f24190e030000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2b37434e5864717e8a97a1ab9f95887b6e616d7985929faba79b8e8174685d5245392c2013040000000000000000000000000000000000000815212e3b4854616e7b8799a3afa99c8f827669544b4034281c100400000813202d3946525d687784919eaaafa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa89c8f827569554b4035291d1104000006131f2c3845515c677884919eabac9f9386796d6053463a2d20130700101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000010c161f282f35393a3f3e3d3c3b3a38352f3c4956636f7c8996a2a295887c6f6255493c2f34383a3b3c3d3e3f3a3935302820160c0200000000010910161b1e20202a3643505d69768390908376695d5043362a20201e1b1610090100000013202d3946535f6c767979797979797979797979797979797979797979766c5f5346392d20130000000000000000000000000000000000000000000000000000010d1a26323e4a545e66696c6c69665e544a3e32261a0d01000000000000000000000000000810161c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b29251f191108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141c242a2f3233393939393939393932312e29231b130900000000000000000000000000000000000000020c17202b353e48505960696e747b7f8284858584827f7b746e69605950483e352b20160c020000000b1724313d4a56626c71797979796d675c51454a56626c71797979796d675c5145382c1f130600000000000000000000000000000000000000000000020b141b222731373a4146474b4e505152535251504e4b4745413a36312a211b1309010000000000000000000000000a15202a36424d57616c727f8892979f9e97928e8c8b8c8d90959d9f99938d82796d605a5043392f24180500000000020d17202a343d47505a626c737f8c929da5a0959082796d665c504440372d241a1107000000000000000000000007111a242d373f44505b666d79828f95a0a59d928c7f726c62594f463d342a20170d0200000815222f3b4855626e7b8897978b7e7164574d46525e697885929a8e8174665c5044382c261d12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010f1a26313c4653606d7985929eaca7998c7f7366717d8a98a2aca095897c6f63564c4135291d11040000000000000000000000000000000000000916222f3c4955626f7c8895abb5a79b8e8174685b4e412e23180c00000005111d2935414c566875828f9ba8afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa79a8d8174675a4e412f24180d01000004101c2834404b556a7683909da9afa49a887b6e6155483b2e22150800101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000008131e28313a4145474c4b4a49484745404443495663707c8996a3a295897c6f625649434440454748494a4b4b4746413a32281e1308000000010a131b21272b2d2d2d3643505d69768390908376695d5043362d2d2d2b27211b130a010000121e2b37434f5a646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e120000000000000000000000000000000000000000000000000000030f1c2935424e5a66707679797670665a4e4235291c0f030000000000000000000000000000050b1014161720202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201f1d19140e070000000000000000000000000000000000000000000002070a0c0d131313130e0d0b0803000407090a131313131006050300000000000000000000000000000000000000000000000000000000000000000000020a12191f2326272d2d2d2d2d2d2d2d2625221e181109010000000000000000000000000000000000000008131e29323d47505a626b707b81878c8f919292918f8b87817b706b615a50473d32281e13080000000b1825323e4b5865717e86868686796d6053474b5865717e86868686796d6053473a2d20140a0000000000000000000000000000000000000000000000020a11171f262b3035393a3e4144454546454543413e3a3935302a261f180f090100000000000000000000000000030e1a25303b45505a626d727e858d92989a9c9b9998999a9d9b99938f8780786d675c51483e31281d12070000000000050e18222b353e47505a636d74808d939ea69f948f82786d605c52493f362c23191007000000000000000000071019232c363f49525c606c78818f949fa69e938d80746d635a50473e342b22180e050000000713202d3a4653606d7985929b8f8275695f53464d566975828f9c9184796d6053463e31271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151f2c3845515c6773808d9aa4aa9d9184776a75828e9baaaa9d9084776b6054443a3024190d010000000000000000000000000000000000000a1623303d495663707c8996a3afa69a8d8073675a4d4034271a07000000010d192430414d5a6774808d9aa7afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa6998c807366594d4033261a07000000000c18232e424f5c6975828f9ca8b6ac95887c6f6255493c2f22160900101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000010d19242f3a434c5154585756555453514b504f4e5663707c8996a3a296897c6f63564e4f504b5153545556575854524c443a3024190d01000009131c252c33373939393943505d69768390908376695d50433939393937332c251c130900000f1b27333e49525a5f60606060606060606060606060606060606060605f5a52493e33271b0f000000000000000000000000000000000000000000000000000003101d2a3643505d69768286868276695d5043362a1d1003000000000000000000000000000000000407090a131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131312100d090300000000000000000000000000000000000000000000070e1316191a202020201b1a18140f0b10141617202020201d13120f0b0600000000000000000000000000000000000000000000000000000000000000000000080e1317191a2020202020202020191816120d070000000000000000000000000000000000000000010d1925303a444f59626c717d858e92999c9a98989a9c99928e857d716c61594f443a3024190d0200000a1723303d4a5663707d8993988a7d7063574a4a5663707d8993988a7d7063574a3d31261b0f03000000000000000000000000000000000000000000000000060b151a1e25292d2e32343738393939383634312d2c29241e1a140e060000000000000000000000000000000009141f29333e48515b626c707a80858a8d909192939291908e8b87827c736d665c554b40362d1f160c01000000000000061019232c353f48515b606c78818e949fa69e948e81746e635b51483e352b22190f0600000000000000060f18222b353e48515b636e74808d939ea69f948e81776c605b51483f352c221910060000000006121f2b3844505c6675818e9b93877b6e61574d4b5864717e8b98978a7e7164594f43392f23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b55616e7b87939faca095887b6f7985929faca3988b7f7265594f4332281e1308000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0a6998c807366594d4033261a0d00000000081926323f4c5965727f8c98a5afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa5988b7f7265584c3f3225190c00000000071b2835424e5b6875818e9ba8b0a396897d7063564a3d3023170a00101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000004111d2935414c555d606564636261605d555d5c5b5a63707d8996a3a396897c70635a5b5c5d555c606162636465615d564c4135291d11050005101b252e373e434646464646505d69768390908376695d504646464646433e372e251b1005000a16212c3740494f535353535353535353535353535353535353535353534f4940372c21160a000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a12191f2325262d2d2d2d282724201a161c2022232d2d2d2d2a201f1b17110a0200000000000000000000000000000000000000000000000000000000000000000002070a0c0d13131313131313130c0b09060100000000000000000000000000000000000000000005111d2a36414c56606b717e8792979e96918d8c8c8d91969e9792877e716b60564c4135291e130800000815222f3b4855626e7b88959a8d817467584e4855626e7b88959a8d817467584e43372b1f12060000000000000000000000000000000000000000000000000003090e13191d202125282a2b2c2c2c2b2a272521201d19130e09030000000000000000000000000000000000020d17202c363f49515a61686d73797d8083848586858583817e7b756f6a605c544b43392f241b0d04000000000000000007101a232d364044505b666d79828f95a0a69d938d80736d625a50473d342a21180d040000000000040d18212a343d47505a626d73808c929da59f958f82786d655b50493f362d231a1007000000000003101c28343f4a5463707d8995998d8074695e534754606d7a86929d9083766b61554b4034291c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3946535f6976828f9ca9a7998c7f737d8a98a2ac9f92867a6d6054473d3221160c02000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a5998c7f7266594c3f3326190c000000000b1825323e4b5865717e8b98a4afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa5988b7e7265584b3f3225180c000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a00101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000613202c3945515d676d7271706f6e6d676b6a69686766707d8a96a3a396897d70666768696a6b676d6e6f7071726d685d5246392d201307000a16212c3740494f5353535353535d69768390908376695d5353535353534f4940372c21160a0005101b252e373e4346464646464646464646464646464646464646464646433e372e251b1005000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000000010406070a0d10111213131211100d0a07060400000000030505060606060606000000000000000000000000000000000000040613131313131313131312110e0904000000000000000a131c242a2f3233393939393433302b2521272c2f3039393939372d2b27221b140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e68707d87929997918a84807f7f81848a92979992877d6f685d52453a3024190d01000714202d3a4753606d7a86979e9184786a5f534753606d7a86979e9184786a5f53473a2e21150800000000000000000000000000000000000000000000000000000002080d111314181b1d1e1f201f1e1d1b181413110d08020000000000000000000000000000000000000000050e1a242d373f4850565e61676d70747678797979787774716e68625f58504a423931271d12090000000000000000000008111b2428333f4a545c676d79839096a0a59c928b7f726c61594f463c332a1f160c01000000010c161f2a333c464f59616c727f8b929ca4a0969083796d665c53493f372e241b1108000000000000000b17232e394653606c7883909d92867b6e615a50515d6774818e99958a7d70675c5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2b37424d5764717d8a97a1aa9d908377818e9baaa79b8e8174685d5245392c20130400000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1a5988c7f7265594c3f3226190c000000000b1824313e4b5764717e8a97a4afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b00101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000714212d3a4754606d797f7e7d7c7b7a79787776757473727d8a97a3a3968a7d72737475767778797a7b7c7d7e7f7a6d6154473a2e211407000f1b27333e49525a5f60606060606069768390908376696060606060605f5a52493e33271b0f000009131c252c33373939393939393939393939393939393939393939393937332c251c130900000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000001080d111314171a1d1e1f1f201f1e1c1a171413100c07010c0f111213131313131309090703000000000000000000000001070c10132020202020202020201f1d1a150f08000000000007121c252e353b3f404646464641403c362f2b33383c3d46464646433937332d261d140a00000000000000000000000000050a0d0f10131313130b0a0805050a0d0f10131313130b0a08050000000000000000000000000000000000000000000000000000000000000005111e2a36414c56616d7a8592999691857e7774727274787e8591969992857a6d60564c4135291d11040006131f2c3945515d677885929e96887b6f625548515d677885929e96887b6f6255483c3025190d0100000000000000000000000000000000000000000000000000000000010507070b0e111212131212100e0b07070401000000000000000000000000000000000000000000000008121b252d363e444c52555c606467696b6c6c6c6b6a6865615e56544e443f3830271f150b000000000000000000000000091217222d38424b555d676e7a849197a1a49f93887e716b60584e453b31281d130700000007131d28313b454e58606b717e87939fa4a19691847a6d675d544a41382d251c1209000000000000000006121f2b3744505b65717e8a94988f82756c61554c55616e7b8692939184796d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c4653606d7984919eaba095887b85929faba095897c6f63564c4135291d110400000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a5988b7f7265584c3f3225190c000000000b1724313e4a5764717d8a97a4afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa4988b7e7165584b3e3225180b000000010e1a2734414d5a6774808d9aa7b1a4978b7e7164584b3e3125180b00101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000815212e3b4854616e7b878a898887868584838281807f7e808d9aa7a79a8d807e7f808182838485868788898a887b6e6255483b2f22150800121e2b37434f5a646c6c6c6c6c6c6c6c7683909083766c6c6c6c6c6c6c6c645a4f43372b1e120000010a131b21272b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a0100000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000003090e13191d20212427292b2b2c2c2c2b292724201f1c18120e181c1e1f2020202020201615130f0a040000000000000000030b12181c1f2d2d2d2d2d2d2d2d2c2c2a2620191209000000020e19242e3740474b4d535353534e4c484138353d44484a535353535046443f382f261b110600000000000000000000030a1016191c1d20202020181714111016191c1d20202020181714110c0600000000000000000000000000000000000000000000000000000000000714202d3946525e6874808d979891847b716c676565656c717b849198978d8073685d5245392c2013070004101d2935404b556a7783909d998c7f7266564c4b556a7783909d998c7f7266564c41362a1d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b242c323a41464b5153575a5d5e5f605f5e5d5b5854524d47433c342e261e150d030000000000000000000000000006111c262f39434c555e686e7b859298a2a49a92877d706a5f574d433a2f24180d0100010d18242f3a434d575f6a707d869299a4a29791847b6e685e554b42392f261b130a000000000000000000030f1b27333f4953616c7682868686867d7064574a535e69748086868686807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2c3844505c6673808c99a4a79c8f828f97a2aa9d9084776b6054443a3024190d0100000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1a5988c7f7265594c3f3226190c000000000b1825313e4b5864717e8b97a4afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa5988b7e7265584b3f3225180c000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b00101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000815212e3b4854616e7b8794969594989291908f8e8d8c8b8d929da9a99d928d8b8c8d8e8f9091929894959695887b6e6255483b2f2215080013202d3946535f6c767979797979797979839090837979797979797979766c5f5346392d2013000000010910161b1e202020202020202020202020202020202020202020201e1b161009010000000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000060e141a1e24292c2d3033363738393939383634302d2c29231d1a24282b2c2d2d2d2d2d2d23221f1b160f07000000000000030d151d23292c3939393939393939393836312b241b1208000007131f2a354049525759606060605b59534a413d474f5456606060605d53504941382d22170b000000000000000000040d151b212628292d2d2d2d2423211d1b212628292d2d2d2d2423211d171008000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a86929f92867c6e69615a59535b60696e7c86929f92867a6d6054473a2d21140700000c18242f424f5c6875828f9b9c908376685e524f5c6875828f9b9c908376685e5246392d20130700000000000000000000000106090b0c13131313130d0c0a070200050a0d0f1013131313130a0907040000000000000000000000000000000000000000000000000000000000000109111a20283035394045474a4d505152535252504e4b4746413b373228231c150c030000000000000000000000000000000a141d27303a434c565f696f7c869299a3a39992867c6f695f554b4035291d11040004111d2935404b555f696f7c869298a3a39892857c6f695e564c433930271d140a01000000000000000000000b17222d3841505a66707679797979706c6155494d57646e7479797979736e63574b3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939fac9e948f949ea9a3988b7f7265594f4332281e13080000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a5998c7f7266594c3f3326190c000000000c1825323f4b5865727e8b98a5afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa5988b7f7265584c3f3225190c000000010e1b2834414e5b6774818e9aa7b0a4978a7d7164574a3e3124170b00101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0acac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0acac9f9286796c5f5346392c20130600000000000000000815212e3b4854616e7b8794a1a2aaa29f9e9d9c9b9a99989a9da4aeaea49d9a98999a9b9c9d9e9fa2aaa2a195887b6e6255483b2f2215080013202d394653606c798686868686868686909494908686868686868686796c605346392d20130000000000050a0f1213131313131313131313131313131313131313131313120f0a0500000000000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000070f181f262a2f35393a3d404344454646454443403d3a38342f2a252f3437383939393939392f2e2c272119100700000000010b151f272f343846464646464646464645423d352d24190f04000a16232f3b47525c63666c6c6c6c67645d5346444f5960636c6c6c6c6a605b53493f33271b110600000000000000000d161f262d3235363939393931302d28262d3235363939393931302d28221a12080000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b99998c7f736a5f57504c4950575f6a73808d99988a7e7164574b3e3124180b0000071a2734414d5a6774808d9a9f93867a6d61544d5a6774808d9a9f93867a6d6154473a2e23180c00000000000000000000070d1216181920202020201a1917130e0a1015191c1d2020202020161613100b05000000000000000000000000000000000000000000000000000000000000080e161e25292f34383a3d4143454646464544413e3b3936302b262017110a0300000000000000000000000000000000020b151e28313b444d57606a707d87929aa4a29892857b6e675d5145392c201306000613202c3945515d676e7b859198a2a39992867d6f6a5f574d443a31281e150b02000000000000000000000006111b262f3e48545e66696c6c6c6c64615a504445525c64676c6c6c6c66635b52473b2f23160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17232e3846535e6975828f9ca8a69e9c9ea6ac9f92867a6d6054473d3222170b020000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a6998d8073665a4d4033271a0d000000000d192633404c5966737f8c99a6afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa6998c7f7366594c4033261907000000020f1b2835424e5b6875818e9ba8b0a3978a7d7064574a3d3124170a00101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a86939f9f9f9f9286796c5f5346392c20130600000000000714202d3a4753606d7a86939f9f9f9f9286796c5f5346392c20130600000000000000000815212e3b4854616e7b8794a1aaa29f9e9d9c9b9a999796999ca4aeaea49c999697999a9b9c9d9e9fa2aaa195887b6e6255483b2f2215080013202d394653606c798693939393939393969696969393939393939386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000030b1218212a31363a4145474a4d505152525352514f4d4a4745403936313a4044454646464646463c3b38322b22190f0400000007121d2731394045535353535353535353524e473f352b201509000c1925323f4b57636e7379797979746f64584e4854606b7079797979766c655b5044382d22170b0000000000000008111f2831383e4243464646463e3d393431383e4243464646463e3d39342c241a100600000000000000000000000000000000000000000000000000000f1c2835424f5b6875818e9b92867a6d61574e453f3f444e58616e7b87969b8e8174685b4e4135281b0e00000c1926323f4c5965727f8c98a4998b7e7164544a5965727f8c98a4998b7e7164544a4034281c100400000000000000010911181e2225262d2d2d2d2d2726231f19141b212628292d2d2d2d2d2322201c160f07000000000000000000000000000000000000000000000000000000000000040c13191d23292c2d31343638393939383735322e2d2a251f1b150c0600000000000000000000000000000000000000030c161f29323c454e58606b717e8893939393979184796d6053473a2d201407000714202d3a4753606d7984919793939392877e706b60584e453b32281f160c03000000000000000000000000000a141d2c36424c545a5c60606060575550483e414a52585a606060605957524940352a1e1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2834404b545c66707d8a96a3b0aaa8aab0a79b8e8174685d544a3f33281d140a0000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afa79a8d8174675a4e4134271b08000000010e1b2734414e5a6774818d9aa7afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa79a8d8174675a4e412e23180c000000030f1c2936424f5c6975828f9ca8afa296897c6f6356493c3023160900101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693939393939286796c5f5346392c20130000000000000714202d3a4753606d7a8693939393939286796c5f5346392c20130600000000000000000815212e3b4854616e7b87949594989291908f8e8d8c8b8a8c929ca8a89c928c8a8b8c8d8e8f90919298949595887b6e6255483b2f2215080013202d394653606c79868989898989898989898989898989898d929386796c605346392d2013000000000000000105070810101010101010101010101010101010101010101008070501000000000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000030c151c2328333b42464c5254575a5c5e5e5f5f5f5e5c5a5753514b46423b454c50525353535353534948433d342b21160a0000000c18232f39434b515f606060606060605f5e5951473d31261a0e000d1a2633404d596673808686868681746a5f534a5663707d8686868683776c6053493f33271b0f030000000000050f1a23313a42494e50535353534b49453e3a42494e50535353534b49453e362c22170c0000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909d908377685e52453c33333c46525e697784919c8f8276695c504336291d1000000b1724313e4a5764717d8a97ab9b8e8275665c515764717d8a97ab9b8e8275665c5144382c1f12060000000000000009131b23292e3132393939393933322f2a241f262d3235363939393939302f2c272119110700000000000000000000000000000000000000000000000000000000000002080d12181c1f2024272a2b2c2d2c2b2a282521201e19140f0a04000000000000000000000000000000000000000000040d17202a333c464f59616c727f868686868686867b6e6154483b2e211508000815212e3b4854616e7b868686868686867e716c61594f463c332920160d040000000000000000000000000000020b1a24313a42494e50535353534a49443e363841474c4e535353534d4b4740372e24190e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303945515c666d78808d99a6a3a0a0a1a4a89c8f82756c665b50443e2f261b110600000000000000000000000000000000000000000815222e3b4855616e7b8894a9b3a89b8f8275685c4f423025190e02000005121e2a36424d576976828f9ca9afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa89b8f827568544a4034281c1004000004101c2934404b556a7683909da9b4aa95887b6f6255483c2f22150900101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d798686868686868687796c5f5346392c140c0200000000000714202d3a4753606d798686868686868687796c5f5346392c20130600000000000000000815212e3b4854616e7b878a8887868584838281807f7e7d808c99a6a6998c807d7e7f80818283848586878889887b6e6255483b2f221508000a1723303d4a5663707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d808d9386796c605346392d2013000000000002080d1114141c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1414110d080200000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000b151e272e343f454d53565d606366696a6b6c6c6c6b696763605c55534d444f575c5f60606060606056544e463d32271b0f030004101c2934404b555c6c6c6c6c6c6c6c6c6c6a63594e42362a1d11000714202d3a4753606d7984919392877b6e62564c54606b75818e98958a7e71655b5044372b1f120600000000000b16212b35424c545a5c6060606057555048424c545a5c60606060575550483e34281d110500000000000000000000000000000000000000000000000000121f2b3845525e6b7885919b8f827568564c41332a2a36424d566976838f9c9184776a5e5144372b1e1100000916232f3c4956626f7c8995ab9f9285796d605356626f7c8995ab9f9285796d6053463a2d20130900000000000007111b252d353a3e3f4646464646403f3b352e2830383e424346464646463d3b38332b23190f050000000000000000000000000000000000000000000000000000000000000001070c101314171a1d1e1f201f1f1d1b181414110e0802000000000000000000000000000000000000000000000000050e18212b343d47505a626d727979797979797976695e53463a2d211407000714212d3a46535e697679797979797979716c625a50473d342a21170e050000000000000000000000000000000008121f2831383e4243464646463d3c39332c2f363c3f4146464646403f3b352e251c1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3943505a606d78828d929c9c97949394979d9e948e81786c60594f41382d22170b00000000000000000000000000000000000000000714202d3a4753606d7a8697a1ada99d9083766a564d41362a1e110500000714202d3a46525e697885919eabafa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afaa9d908477665c5144382c1f1206000006131f2c3845515c677884919eabaea298877a6d6154473a2e21140700101d2a3643505d69768390908376695d5043362a1d10000000000000000006131f2c3845515c67767979797979797979756a5e52452e261e140a000000000006131f2c3845515c67767979797979797979756a5e5245382c1f120600000000000000000714212d3a4754606d797e7d7c7b7a7978767574737271727f8c98a5a5988b7f7271727374757678797a7b7c7d7e7a6d6054473a2d211407000916222f3c4854606b707070707070707070707070707070727e8b9386796c605346392d201300000000050d14191e202129292929292929292929292929292929292929292921201e19140d05000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000007121c273039404451575f61686d7073767778797978777673706d67615e57505761686b6c6c6c6c6c6c6260584e43382c1f13070006131f2c3845515c67767979797979797979756a5e5245382c1f120006131f2c3845515c67707d8a95998e8275685e524f59616e7b86929d9184786c605346392d22170b0000000004101c27333d47545e66696c6c6c6c64615a5047545e66696c6c6c6c64615a5045392d21140800000000000000000000000000000000000000000000000000121f2b3845525e6b7884919b8f827568564c4135292a36414c566976828f9c9184776a5e5144372b1e1100000814212e3b4754616e7a8799a3a297897c70635654616e7a8799a3a297897c706356493d31261a0e0200000000010d18232d373f464a4c53535353534d4b474038303a42494e5053535353534948443d352b21160b000000000000000000000000000000000000000000000000000000000000000000000406070a0e101213131312110e0b08070502000000000000000000000000000000000000000000000000000000060f19222b353e48515b62656c6c6c6c6c6c6c6c5e574d42362a1e12050005121e2a36424d575e6c6c6c6c6c6c6c6c65625a50473e352b22180f050000000000000000000000000000000000000d161f262d3235363939393931302d2822242b3033343939393933322f2a241c130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b55616c75818e949c94908a8786878a90959d938d80746b6153493f33271b0f030000000000000000000000000000000000000006131f2c3945515d677885919eabab9f928578685e5246392d20140600000815212e3b4854616e7b8797a1adafa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afac9f9286796d6053463a2d20130900000714202d3a4753606d7a86939facac9f928579685e5246392d20130700101d2a3643505d69768390908376695d5043362a1d10000000000000000004101c2934404b555c6c6c6c6c6c6c6c6c6c6a6359443f3830261c110600000006111c263038404b555c6c6c6c6c6c6c6c6c6c6a63594e42362a1d110400000000000000000613202c3945515d676d71706f6e6d676b6a696867666673808c99a6a6998c7f7366666768696a6b676d6e6f70716d685d5245392c201307000713202c38444f5960636363636363636363636363636365727e8b9386796c605346392d2013000000050e171e252a2d2e3636363636363636363636363636363636363636362e2d2a251e170e050000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000c18232e39424a515b63696e747a7d808384858586858482807d79746e69605b536873787979797979796f6a6054483b2e221509000714202d3a4753606d798686868686868687796c5f5346392c20130004101c2934404b55616b7683909d92867a6e615447525e6974808d9995897d7063544a3f33281c0f030000000714202c38444f5966707679797979716c61554f5966707679797979716c6155493d3023170a00000000000000000000000000000000000000000000000000111d2a3744505d6a7783909d908377685d52463c33333b46525e687784919c8f8276695c504336291d1000000613202d394653606c7986929fa99a8d8073675753606c7986929fa99a8d807367574d42372b1e12060000000006121e29353f4951575960606060605a57524a4038424c545a5c606060606056544f473d33271c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101a232c363f49515658606060606060605f534d453b31251a0e0200020e1a25313b454d535f60606060606060585650483f352c2319100600000000000000000000000000000000000000040d151c212629292d2d2d2d2423201c171a1f2426272d2d2d2d2625231e19120a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c67717e8b939c928c837d7a797a7e838e939d928a7d70655b5044372b1f12050000000000000000000000000000000000000004101d2935404b55697683909ca9ada297877a6e6154473b2d22170b0107111e2a36414d5665717e8b98a9b3afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afaea399887c6f6255493c31261a0d06030615222f3c4855626f7b8899a4afaa9d9084776a564c41362a1e110500101d2a3643505d69768390908376695d5043362a1d100000000000000000000c18232f39434b515f6060606060606060605f5e504a42382e23170b0000000b17232e38424a505e5f60606060606060605f5e5951473d31261a0200000000000000000004111d2935414b555d6064636261605d555d5c5b5a5a6774818d9aa7a79a8d8074675a5a5b5c5d555d6061626364605d564c4135291d11040004101c27333d474f54565656565656565656565656565865727e8b9386796c605346392d20130000020d1720293036393b4343434343434343434343434343434343434343433b3936302920170d0200000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000004101c2834404a545c606d727b81868a8d8f9191929292918f8d8a85807b726c655c6b78858686868686867c6f6256493c2f231609000714202d3a4753606d7a8693939393939286796c5f5346392c201300000c18232f39434f5964717e8a97998b7f7265554b4d56616e7b87929b8e8175665b5044382b1f12060000000916222f3c4854606b7682868686867e71645754606b7682868686867e7164574b3e3124180b000000000000000000000000000000000000000000000000000f1c2835424f5b6875818e9b92867a6d61574d453f3f454e57616e7a87939b8e8174685b4e4135281b0e000005121f2b3744505b657784919eaa9d918477695f535b657784919eaa9d918477695f53473a2d211408000000000916222e3a46515b62656c6c6c6c6c66635c52473e49545e66696c6c6c6c6c6360594f44382c201307000000000000000000000000000000020507080c10121312110f0c080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a242d373f464a4c535353535353534846423b33291f140900000009141f29333b424648535353535353534b4a453f362d231a1107000000000000000000000000000000000000000000030a1016191c1d20202020171614100b0e14171a1b202020201a1916130e070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919e938c8076706d6d6e7178818e949d9083786c605346392d20130600000000000000000000000000000000000000000c18242f414d5a6774808d9aa7b3a9978a7d706453493f33271b100d1218252d3946525e6875828f9ca8b5afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afb5ab998c7f7266574d42372b1f15120f121c2834404a5465717e8b98abb5a89b8e8175685b4e423025190d0100101d2a3643505d69768390908376695d5043362a1d100000000000000000040c131d2731394045534d545b60666c6c6c6c6c6a5c544a3f34281c10030003101c28343f4a545c6a6c6c6c6c6c66605b544d524e473f352019130c040000000000000000010d18242f3a434b51545857555453514b504f4e4f5b6875828e9ba8a89b8e8175685b4e4e4f504b51535455565854524c443a2f24190d0100000b16212b353d44484a4a4a4a4a4a4a4a4a4a4a4a4b5865727e8b9386796c605346392d2013000008141e29323b4146474f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4746413b32291e140800000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000030e18212c3844515c666d757f878d9298999c9d9e9f9f9f9e9c9a98928d867f776d666679869293939393887b6e6255483b2f221508000714202d3a4753606d7a86939f9f9f9f9286796c5f5346392c2013000007121d27313e4653606d7984919d908376675d5146535e6975828f9b9285796c605346392d201306000006131f2b37434e5863707d8994998f82766c61555863707d8994998f82766c6155493d3023170a000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b99998c7f72695f57504c4c50575f6a73808c9a988a7e7164574b3e3124180b0000030f1b27333f49536976838f9ca9a096887b6e6155536976838f9ca9a096887b6e6155483b2f24190d010000000b1825313e4a57626d727979797979736e63574b424e5a6670767979797979706b6054483b2f2216090000000000000000000000000003090e121415191d1e1f1f1e1c181414110e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b252d343a3e3f464646464646463b3a36312921170d03000000030d17212931363a3b464646464646463e3d3a342d241b1108000000000000000000000000000000000000000000000000050a0d0f10131313130a0a08040003080b0d0e131313130d0c0a0702000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96998e81756e64616061666d78828f9c95897c6f6256493c2f2316090000000000000000000000000000000000000000071825313e4b5864717e8b97a8b2a79a8d8074655b5044372b221c191d242a36414c56616e7b86929facb9afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afb6a99c908376695f53473c3127201f1c1f232c3844515c6675818e9ba8b3a9988c7f7265594c3f322619080000101d2a3643505d69768390908376695d5043362a1d1000000000000001070e161e2529323b424651575f666c72797979797975665c5044382b1f12060006121f2b3844505c66757979797979726c665f575146423b3229251e160e07010000000000000007131d28313a4145474b4a4948474540434243505c6976838f9ca9a99c8f8276695c4f43424340454748494a4b4745413a32281e1308000000050f19232b33383c3d3d3d3d3d3d3d3d3d3d3d3f4b5865727e8b9386796c605346392d201300010d1925303b444c52545c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c54524c443b3025190d01000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000915202c38434f59606d78818c92999fa2aaa9a8aaa29f9e9e9e9fa29f98928c81786d6d798699a39f9f94877a6e6154473b2e211408000714202d3a4753606d7a8693a0acac9f9286796c5f5346392c2013000008121d262c3844505c6674818e9b92867a6d6053474d5765717e8b9897887b6e6255483b2f22150800000815212e3b47535f6a7683909d92867b6e615a535f6a7683909d92867b6e615a5045392d211408000000000000000000000000000000000000000000000000000814212e3b4754616e7a86929f92857b6e69615a59595a61696e7c86929f92867a6d6154473a2e2114070000000b17222d414e5b6874818e9ba7a8988c7f7265555b6874818e9ba7a8988c7f7265554c4135291d11040000000c1926323f4c5965727f86868686868073665a4d43505c69768286868686867d706356493d3023160a000000000000000000000002080e141a1e212226292b2c2c2b292521201e19140d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b23292e3132393939393939392e2d2a251f170f050000000000050f171f252a2d2e3939393939393932312e29221b12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9a93877b6e615c5453545c666f7c8997998c807366594d4033261a0d00000000000000000000000000000000000000000815212e3b4854616e7b8796a0acab9e9184786c6053463e342c2924292f353e46525e6873808c99a3aebbafa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afb7ab9f94887b6e62574e4339312d2b282b2e343f4953606d7985929fabada297897c6f6356493c302316090000101d2a3643505d69768390908376695d5043362a1d100000000000040c1318202830353e444d525b62696e787f8686868687796d6053463a2d201307000713202d3a4653606d7987868686867f786e69625b524d443e3530282018130c04000000000000010c161f282f35393a3e3d3c3b3a38352f3744515d6a7784909daaaa9d9083776a5d50442e2f35383a3b3c3d3e3a39352f2820160c0100000005101a232c33393c3d3d3d3d3d3d3d3d3d3d3d3f4b5865727e8b9386796c605346392d20130005111e2a36414c565e61696969696969696969696969696969696969696969615e564c41362a1e1105000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000020e1a26313b4854606b74808d939fa3ababa49f9b979892919192939a989d9f938f82786d7a8794abb4a094877a6d6154473a2e211407000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201300030e19242f3840474a5464717e8a9799897c6f6256494854616e7b8796978a7d7164574a3e3124170b00000916222f3c4955626f7c88959b8e8174695f5355626f7c88959b8e8174695f53483e34281d1105000000000000000000000000000000000000000000000000000714202d3946525e6874808d979891837b706c676565676c717b849198978d8073685d5246392d201307000000061a2633404d596673808c99a6a99c8f8276675d596673808c99a6a99c8f8276675d5145392c2013060000000d192633404c5966737f8c9393938d8074675a4d43505d6a7683909393938a7d7064574a3d3124170a00000000000000000000050d14191f262a2d2e32363839393836322e2d2a251e19130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010911181e2225252d2d2d2d2d2d2d21211e1a140d0500000000000000050d141a1e21212d2d2d2d2d2d2d2524211d18110900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060709090909090909090706030000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9c908377695e5247464a54606a7885919b8e8175685b4e4235281b0f02000000000000000000000000000000000000000714212d3a46535e697784919eaaaca196897d70635a50463e38343035394045515b616e7a85929fabb2baafa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afbdb0a69a8d81746a5f554b433c39383338393f44505b65717e8a97a2adab9f9285796d6053463a2d2013070000101d2a3643505d69768390908376695d5043362a1d1000000000070d161d2429323a414650565e616d727b828c929992877e71665c5044382b1f12060006121f2b3844505c66717e879399928c827b726d615e565046413a3229241d160d07000000000000040d161d24292c2d31302f2e2d2c292935404b556b7884919eabaa9e9184776b544a403428292c2d2e2f30312d2c29241e160d04000000000b17222c363e44494a4a4a4a4a4a4a4a4a4a4a4a4b5865727e8b9386796c605346392d2013000714202d3946525e686e7676767676767676767676767676767676767676766e685e5246392d201407000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000006121e2b37424e57636f7c87939fa5afa9a199938f8a878584848586888c90959e948d80747b8794a1ada093877a6d6054473a2d211407000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130007131f2b36404a52585a616e7b879a978a7e7164575055575e69788491998c7f7366594c403326190d0005121e2a36424d576673808d9994887c6f62574d576673808d9994887c6f62574d42362c22170c000000000000000000000000000000000000000000000000000005111e2a36414c56616d7a8592999591847d7774727274777e8591969992857a6d61564c4135291d11050000000b1825323e4b5865717e8b98a4ac9f92867a6d605865717e8b98a4ac9f92867a6d6054473a2d22170b0000010d1a2734404d5a6773808d9a9f9b8e8174685b4e44515e6a7784919d9f978a7e7164574b3e3124180b000000000000000000070e171f252a31363a3b3f4345464544423f3b39363029241e160d060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d12161819202020202020201514120e090300000000000000000003090e12141520202020202020181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c10131316161616161616161312100c06000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909c8f827569574d423a424e586a7783909c8f8276695c4f4336291c10030000000000000000000000000000000000000005121e2a36424d576673808d99a6b0a89c9083766c6258504745404241464b515a626d75818e989ea0a8b2afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afb5aba39f92877b6e675d554e4846443f44464a5059606c7883909da9b1a89b8e8175665c5044382b1f12060000101d2a3643505d69768390908376695d5043362a1d100000000710191f282f353e444c525a61696e767f8690949a93877e716c61544a3f34281c10030003101c28343f4a54616c717e87939a9490867f766e69615a524c443e352f281f191007000000000000040c13181d202125242221201f1f2c3845515d677985929facab9f928578665c5144382c1f1f202122232521201d19130c040000000004101c28333e485055575757575757575757575757575865727e8b9386796c605346392d2013000814212e3b4754616e7a8282828282828282828282828282828282828282827a6e6154473b2e211408000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000814212e3a47535f6a76828f9aa4afaba1979287827d7a79787778797b7f838a9196928a7e7b8895a1ada093867a6d6053473a2d201407000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000b1723303c47525c64676c6d798693998c7f7266595a61646c6c7683909b8e8174685b4e4135281b0e000714212d3a46535e697884919c8f82766a5f53535e697884919c8f82766a5f53453c31241a10060000000000000000000000000000000000000000000000000000020e1925303b46525e68707d87929996918a84807f7f81848a91979992877d70685e52443a3024190d010000000a1723303d4a5663707d8996a3aea3998a7d71645463707d8996a3aea3998a7d7164544a3f33281c0f0300010e1b2734414e5a6774818d9aa79b8e8275685b4f45515e6b7884919ea5988b7e7265584b3f3225180c0000000000000000081019202930363b4246484c50515252514f4b4746413b352f282018100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c13131313131313080705020000000000000000000000000002050708131313131313130b0b09050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f202323232323232323201f1c17110a0300000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9c908376675d51464446535f697884919b8e8275685b4f4235281c0f0200000000000000000000000000000000000000020e1a25313b4855626e7b88949eacab9f948b7e716a615a53514b4e4c52555d606c727f8b93969196a0acafa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afafa39992999083796d6760585553504a5053545c606b727f8b95a0acaca095897d7063544a3f34281c10030000101d2a3643505d69768390908376695d5043362a1d100000040f19222b313a41454f565e616c717b828b92989a93887e716c615a5042382e23170b0000000b17232e3842505a616c717e88939a98928b827b716c615e564f45413a312b22190f0400000000000001070d111314181716151414202d3a4753606d7a8698a2aeaea29886796d6053463a2d201314151617181413110d080100000000000814202d3944505a61646464646464646464646464646465727e8b9386796c605346392d2013000815212e3b4854616e7b878f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f877b6e6154483b2e211508000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000815222f3b4855626e7b88949facaea39992857d75716e686b6b666d6e72767d84909492857d8996a3aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000d1a26333f4c58646e7479797985929a8d8073675a616c71797979828f9b8f8275685c4f4235291c0f000815212e3b4854616e7b8796988c7f7265584e54616e7b8796988c7f7265584e433b33291f140900000000000000000000000000000000000000000000000000000008141e2a36414c56606b717e8792989e96918d8c8c8d91969e9892877e716b60564c4132281e1308000000000815222f3b4855626e7b8895a99f9f9b8e8174665b626e7b8895a99f9f9b8e8174665b5044382b1f120600020e1b2835414e5b6874818e9ba79c8f8276695c4f45525f6b7885929ea5988c7f7265594c3f3226190c0000000000000008111a222b323b41464d5355595c5e5f5f5e5c5854524c45413a322a2219100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151d23282c2d30303030303030302d2c28231c150c030000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9b92867a6d605a5351535b616e7b88969a8d8073675a4d4034271a0d0100000000000000000000000000000000000000000914212e3a47535f6975828f9aa4afa69f92867d716c64605c555b565d61676d737e8792989184919eaaafa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afac9f928692958f81796f6a6462605b545b6062666d727d87929fa7b0a69d9184786c605346392e23170b000000101d2a3643505d69768390908376695d5043362a1d1000000a16212b343d434b515961686d757e858f949f9f93887f716c625a50483e30261c110600000006111c26303e48505a626c717f88939f9f948f857e756d686159514b433d342b21160a0000000000000000010406070b0a09080815212e3b4854616e7b8794aab4b3aa94877a6e6154473b2e21140808090a0b07070401000000000000000a1623303c4955616c707070707070707070707070707070727e8b9386796c605346392d2013000815212e3b4854616e7b87949c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c94877b6e6154483b2e211508000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000d192633404c5966737f8c99a6b0ac9f92877c6f6b64615e56545c6062656c707a8290949083909daaaca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a67748086868689979a8d8174675a64717e8686868f939c8f8276695c504336291d10000a1724313d4a5764707d8a9798887b6e6255525764707d8a9798887b6e6255524d453b30251a0e020000000000000000000000000000000000000000000000000000020d1925303a444f59626c717d868e93999c9a98989a9c99938e857d716c62594f443a3020160c02000000000714202d3a4753606d7a8697939393939285796c60606d7a8697939393939285796c605346392d20130600020f1c2935424f5c6875828f9ba89c908376695d5044505b667985929fa6998c807366594d4033261a0d00000000000006101a232c343d444d52575f6165696b6c6c6b6965615e56524c443c342b22190f0500000000000000000000050a0d0f1010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010100f0d09040000000000000000000000050a0d0f1010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010100f0d090400000000000000000b151e272e34383a3c3c3c3c3c3c3c3c3a38342e261e150a0000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b98988d80736d63605c60636d75818e9b97897d7063564a3d3023170a00000000000000000000000000000000000000000006121e2b37424d57626f7c87939fa7aea29892867e76706d67686869686d72798088929992867e8a97a4afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa6998c7f8c93938f837c76716e6c666b666c6e72787f879299a3aea99f948a7e71665b5044382b1c1106000000101d2a3643505d69768390908376695d5043362a1d1000030f1b27323d464e555d606b707a818a92979f9b918b7f726d625a50483e362c1e140a00000000000a141e2c363e48505a626d727f8b919b9e97928a817a706b605d554e463d32271b0f030000000000000000000000000000000915222f3c4855626f7b8895a2aeaea195887b6e6255483b2f2215080000000000000000000000000000000a1724313d4a5764707e7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d808d9386796c605346392d2013000815212e3b4854616e7b8794a1a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a194877b6e6154483b2e211508000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000005111e2a36424d576976838f9ca9b1a79a8d80736a605954524c4a5053555a61676d798290959095a0abaca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d939393a19a8e8174675b64717d8a93939b9e9d9083766a5d5043372a1d10000c1926333f4c5966727f8c999285796a63615e5766727f8c999285796a63615e574d42362a1e110500000000000000000000000000000000000000000000000000000008131e29323d47505a626b707b81878c8f919292918f8c87817b706b625a50473d32281e0e04000000000006131f2c3945515d677885868686868686867c6f625d677885868686868686867c6f6256493c2f2316090003101c2936434f5c6976828f9ca99d9084776a5d514653606c798698a3a69a8d8073675a4d4034271a0d0100000000020c18222c353e474f565e61696e72767879787775726e68605d564e463d342b21170b0200000000000000030a1016191c1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1c1b1915100a0200000000000000030a1016191c1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1c1b1915100a02000000000007121d273039404546494949494949494946443f3830261c110600000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929f93887f756f6d666d7076808c939e9185796d6053463a2d201307000000000000000000000000000000000000000000020e1a26313c4754606a74818d95a0a9aaa298928a827d7977757575777a7f848d939a948c7f7c8895a2afa295897c6f6256493c2f231609000916232f3c4956626f7c8995a2afa296897d818e96959087827e7b79787778797b7f848c9299a3abaaa2978f82776c60544a3f33281c0a00000000101d2a3643505d69768390908376695d5043362a1d100007131f2c38434e5860676d747d858e939fa29b918b7f726d625a50483f362d241a0c020000000000020c1a242d363f48505a626d727f8b919ba29f938e857d746d6760584e43382c1f13070000000000000000000000000000000a1623303d495663707c8996a3acaca296897c6f6356493c3023160900000000000000000000000000000013202d394653606c79868a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8d929386796c605346392d2013000815212e3b4854616e7b87949f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f94877b6e6154483b2e211508000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000714202d3a46525e697885929fabaca095877b6e61584f4746413f44464850555d676e7b85929da0a7b1aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d9a9fa0a79b8e8174685b64717d8a979fa8aa9d9084776a5d5144372a1e11000e1a2734414d5a6774808d9a91847770706e695e6774808d9a91847770706e695e52463a2d201407000000000000000000000000000000000000000000000000000000020d17202b353f48505961696e747b7f8284858584827f7b746e69615950483f352b20160c00000000000004101d2935404b55687378797979797979796f6a6055687378797979797979796f6a6054483b2e2215090003101d2a3643505d697683909ca99e9184776b5e514754606d7a8793aaa79a8d8174675a4e4134271b0e01000000000a141e2a343e474f5960686e747b7f8384858584827e7a736d685f584f473d33291d140a000000000000040d151c2126292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292825211b140c040000000000040d151c2126292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292825211b140c04000000000c18232e39424b5153565656565656565653504a42382e23170c00000000000000000000000000000000000000000000000000000000000713202d3946525e6873808c959a938b817c7978797d828c929c948b7e71665c5145382c1f13060000000000000000000000000000000000000000000009151f2b37434e58606d79839197a0a8aaa29f948f8a868382818284878b91969f958f82787b8894a1aea296897c6f6356493c3023160900091623303c4956636f7c8996a2aea295887c7a84919899938f8b888685848486888c91969fa3aba9a29892857b6e655b5042382d22170b00000000101d2a3643505d69768390908376695d5043362a1d10000915222e3b4854606a6f79818a91979ea39c918c7f726d625b51483f362d241b12080000000000000008121b242d363f48515b626d727f8c919ca39e97918a81796f6a6054483b2e2215090000000000000000000000000000000b1724313e4a5764717d8a979f9f9f9f978a7d7064574a3d3124170a00000000000000000000000000000013202d394653606c798693939393939393939393939393939393939386796c605346392d2013000815212e3b4854616e7b8793939393939393939393939393939393939393877b6e6154483b2e211508000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000814212e3b4754616e7b8798a2aeaa9d908377695e53463d393634383a3e434c555e69717e8b97a1adb9aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d9aa7b3a79b8e8174685b64717d8a97a4b0aa9d9084776a5d5144372a1e11000f1b2835424e5b6875818e9b91847d7d7d7b6e616875818e9b91847d7d7d7b6e6154473b2e21140800000000000000000000000000000000000000000000000000000000050e19232d363f474f575e61696e72767779797776726e69615e574f473f362d23190e05000000000000000c18242f39435761686b6c6c6c6c6c6c6c6260585761686b6c6c6c6c6c6c6c6260584e43382c1f13070004111e2a3744515d6a7784909daa9e9285786b5f4a4754616e7a8794a1a89b8e8175685b4e4235281b0f0200000006111c26303c464f59616b6f7a81878c8f919292918f8b86807a6f6a60594f453b2f261b110600000000030d161f262d323536363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363635312c261e160c02000000030d161f262d323536363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363635312c261e160c02000004101c2834404b545c606363636363636363605c544a3f34281c10030000000000000000000000000000000000000000000000000000000005111d2935414c56606d798390969f938e89868586898f949c958f82786c60544b4034281c100400000000000000000000000000000000000000000000030f1b27323d45515d676e7b8591969fa4aca69f9c9892908f8e8f90939a9e9f9490837a6d7a8794aab4a396897c706356493d3023160a000a1623303d495663707c8996a3aca194887b6f7d8692989f9c9799929291919298989ea0a8aba69f9792867d70695f53493f2f261c110600000000101d2a3643505d69768390908376695d5043362a1d10000916232f3c4956626f7c848e9393939393918c7f726d625b51493f362d241b120900000000000000000009121b242d363f49515b626d727f8c9193939393938e847c6f6256493c2f2316090000000000000000000000000000000c1825323f4b5865727e8b9393939393938b7e7165584b3e3225180b00000000000000000000000000000013202d394653606c798686868686868686868686868686868686868686796c605346392d2013000815212e3b4854616e7b8686868686868686868686868686868686868686867b6e6154483b2e211508000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000091623303c4956636f7c8996aab4a79a8e817467574d42342d2a282b2d313a434d57606d7985929eabb8aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d9aa7aca79b8e8174685b64717d8a97a4acaa9d9084776a5d5144372a1e11000f1c2936424f5c6975828f9c95918989897e72656975828f9c95918989897e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000007111b242d353e454d52575f6165696b6c6c6b6965615f57524d453d352d241b1107000000000000000007121d2731454f575d5f6060606060606056544e4f575d5f6060606060606056544e463d32271b0f030005111e2b3844515e6b7784919eaa9f928579665b504855616e7b8894a1a89b8f8275685c4f4235291c0f020000000b17232e38424e58616b707d858e92999c9e9f9f9e9c98928d847c6f6b60574d41382d22170b000000000a151f2831383e42434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343413d3830281e140a0000000a151f2831383e42434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343413d3830281e140a000006131f2c3845515c666d6f6f6f6f6f6f6f6f6d665c5044382c1f120600000000000000000000000000000000000000000000000000000000010d1925303a45515d676e7a848f949d9b99929292999c9d938e83796d665b5042392e23180c0000000000000000000000000000000000000000000000000a15202935414b555f696e7b848e939a9fa3aaaaa39f9d9b9b9c9d9f9f99928d827a6d6d798698a29f9f96897d7063564a3d3023170a000a1723303d4a5663707d89969f9fa49a877a6d707d8690959da0a39f9e9e9e9fa3aaa9a8a69f9c948f857d706b60574d41382d1d140a0000000000101d2a3643505d69768390908376695d5043362a1d10000e1b2734414e5a67748186868686868686867f736d635b51493f372d241b1209000000000000000000000009121b242d373f49515b636d737f86868686868686868174675a4e4134271b0e0000000000000000000000000000000d192633404c5966737f86868686868686867f7265594c3f3226190c00000000000000000000000000000013202d3946535f6c767979797979797979797979797979797979797979766c5f5346392d2013000714212d3a46535e697679797979797979797979797979797979797979797976695e53463a2d211407000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f31261e1c1f2028313b45515c6673808d99aab4aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d9a9f9f9f9b8e8174685b64717d8a979f9f9f9d9084776a5d5144372a1e1100101c2936434f5c6976828f9ca09d96968b7e72656976828f9ca09d96968b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000009121b232c333b42464d5355595c5e5f5f5e5c5955534d46423b332c231b1209000000000000000000010b151f333d454c505253535353535353494843454c5052535353535353534948433d342b21160a000005121f2b3845525e6b7885919eaba29886796c60534955626f7c8895a2a99c8f8376695c504336291d1003000003101c28343f4a545f6a707d8692979fa3ababacabaaaaa39f9691867d6f695e53493f33271b0f03000005101c26313a42494e50505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050504f4e49423a30261b10040005101c26313a42494e50505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050504f4e49423a30261b1004000713202d3a4653606d787c7c7c7c7c7c7c7c786d6053463a2d201307000000000000000000000000000000000000000000000000000000000008131e2935404b555e686e7a828a919598999a999795908981796d675d544a3f30271d1207000000000000000000000000000000000000000000000000040d18242f3a434d575f696e7981878e92989a9c9e9f9f9f9e9d9a98928e8680786d6866798592939393938a7d7164574a3e3124170b000b1724313e4a5764717d8a939393939386796d6b707c838b9195989b9d9e9f9f9f9e9d9b9894908a827b706b60594f453b2f261b0b020000000000101d2a3643505d69768390908376695d5043362a1d10000d1a2733404c58646e747979797979797979736d635b51493f372d251b12090000000000000000000000000009121b252d373f49515b636d737979797979797979746e64584c4033271a0d0000000000000000000000000000000c1825323e4b57636d737979797979797979726d63574a3e3125180c000000000000000000000000000000121e2b37434f5a646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e120005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e574d42362a1e1205000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1824313e4b5764717e8a97a4b0a4978a7d7164574a3e3124171012161f2834404b54626f7c8998a3aeaca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d93939393938e8174685b64717d8a93939393939084776a5d5144372a1e1100101d293643505c6976838f9ca9aaa3988b7e72656976838f9ca9aaa3988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000009111a212930363b4246484c4f515252514f4c4846423b363029211a11090000000000000000000000030d212b333b404445464646464646463c3b383b404445464646464646463c3b38322b22190f04000005121f2b3744505b657985929facaa93877a6d60544956636f7c8996a2a99d9083766a5d5043372a1d1004000006121f2b3844505c666f7c869298a1a9afb5b7b8b8b7b4aea8a19892857b6e655b5044372b1f140900000a16212d38424c545a5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5a544c42382c211509000a16212d38424c545a5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5a544c42382c211509000815212e3b4854616e7b87898989898989877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000020c18242f39434c565e686d777e84888b8c8d8c8b87837d746d675d554b42382d1e150b000000000000000000000000000000000000000000000000000007131d28313b454d575f676d747c81868a8d8f9192929291908d8a86817b736d665e6a77838686868686867e7165584b3e3225180b000b1825323e4b5865717e868686868686857866606a6e787e84888c8e909192929291908e8b88837d766e6960594f473d33291d140a000000000000101d2a3643505d69768390908376695d5043362a1d10000b1824303c48535c64676c6c6c6c6c6c6c6c66635b51493f372d251b130900000000000000000000000000000009131b252d373f49515b63666c6c6c6c6c6c6c6c67645c53483c3024180b0000000000000000000000000000000a16222f3b46515b63666c6c6c6c6c6c6c6c65635b51463a2e2216090000000000000000000000000000000f1b27333e49525a5f60606060606060606060606060606060606060605f5a52493e33271b0f00020e1a25313b454d535f6060606060606060606060606060606060606060605f534d453b31251a0e02000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825313e4b5864717e8b97a4b0a396897d7063564a3d3023170a060d18232e3a4653606d7986929facaca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a677480868686868686868174685b64717e8686868686868683776a5d5144372a1e1100101d293643505c6976838f9ca9b1a5988b7e72656976838f9ca9b1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000080f171f252a31363a3b3f4344464644433f3b3a36312a251f170f08000000000000000000000000000f1921292f343738393939393939392f2e2c2f343738393939393939392f2e2c27211910070000000613202d394653606c7986939faca194877a6e61544a5663707d8996a3aa9d9184776a5e5144372b1e070000000713202d3a4653606d78839198a2aab3bbc0c4c5c5c4bfbab2aaa1979083776c6053463b31261a0e02000d1926323e49545e66696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969655e54493d3125190d000d1926323e49545e66696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969655e54493d3125190d000815212e3b4854616e7b87949696969694877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000007121d27313b444c565d656c71777b7e80807f7e7b76706b605c554b43392f261c0c030000000000000000000000000000000000000000000000000000010c161f2a333b454d555d606a6f757a7d8183848586858583817e7a746e69605c54677177797979797979716c62564a3d3124170b000b1724313d4a56626c71797979797979787368585f666d71777b7f8183858586858583817e7b76706b615e574f473d352b21180b02000000000000101d2a3643505d69768386868376695d5043362a1d10000814202b36414a53585a60606060606060605957514940372e251b1309000000000000000000000000000000000109131b252e37404951575960606060606060605a58534a41362b20140800000000000000000000000000000006121e2a3540495157596060606060606060595751493f352a1e12060000000000000000000000000000000a16212c3740494f535353535353535353535353535353535353535353534f4940372c21160a000009141f29333b4246485353535353535353535353535353535353535353534846423b33291f140900000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa296897c6f6356493c302316090007131f2c3845515c667683909da9aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000d1a26333f4c58646e7479797979797979746f6459616c71797979797979797771675b4f4236291d1000101d293643505c6976838f9ca9aca5988b7e72656976838f9ca9aca5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000050d141a1f262a2d2e32363839393836322e2d2a261f1a140d050000000000000000000000000000070f171e24282b2c2d2d2d2d2d2d2d23221f24282b2c2d2d2d2d2d2d2d23221f1b160f07000000000714202d3a4753606d7a869aa4afa195887b6e62554a5764707d8a97a3ab9e9184786b5e51452f23180c000006121e2b37424e5765717e8b95a0aab4bcc5cbd1d2d2d0cbc4bcb3a99f958a7e7164574d42362a1e1205000f1c2935424e5a667076767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767670655a4e4135281b0f000f1c2935424e5a667076767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767670655a4e4135281b0f000815212e3b4854616e7b8794a1a2a2a094877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000010b151f29323b444c535b6064696e71737473716e69636059514b433931281d140a00000000000000000000000000000000000000000000000000000000040d18212a333b434b51585f62686d71747678787979787674716d67615f5750555f676a6c6c6c6c6c6c65625a50453a2e211509000915212e3a45505a62656c6c6c6c6c6c6b686157545c60646a6e72757778787979787675726e69636159534d453d352b23190f06000000000000000f1c2935424e5a66707679797670665a4e4235291c0f00030f1a252f3841484c4e53535353535353534c4b4640372e251c1309010000000000000000000000000000000000010a131c252e3740464b4c53535353535353534e4c4841382f251a0f03000000000000000000000000000000020d19232e3740464b4c53535353535353534c4a463f372d23180d0100000000000000000000000000000005101b252e373e4346464646464646464646464646464646464646464646433e372e251b10050000030d17212931363a3b4646464646464646464646464646464646464646463b3a36312921170d0300000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f2316090004101c2834404b546875828f9ba8aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000b1723303c47525c64676c6c6c6c6c6c6c68645d535a61646c6c6c6c6c6c6c6a675f554a3f33271a0e00101d293643505c6976838f9c9f9f9f988b7e72656976838f9c9f9f9f988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000003090e141a1e212226292b2c2c2b292622211e1a140e090300000000000000000000000000000000060d13181c1e1f20202020202020161513181c1e1f202020202020201615130f0a0400000000000814212e3b4754616e7a8794a1b6a295887c6f62554b5864717e8b97a4ab9f9285786c554b4034291c1004000814212e3a47535f6a7784919ea7b1bcc5cfd7dcdfdedcd6cec5bbb1a79d908377695f53463a2d21140700101d293643505c697683838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838276695c4f4336291c1000101d293643505c697683838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838276695c4f4336291c10000815212e3b4854616e7b8794a1aeada094877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000030d172029323a41495053575f626566676664615e57544f45403931281f160b020000000000000000000000000000000000000000000000000000000000060f182129313a40454e53565d606467696b6c6c6c6b6a6764605d55534d444d555b5e606060606060585650483f34291d11050005111d29343f485056586060606060605f5c574f4a5153585f6265686a6b6c6c6c6b6a6865615f57554f46423b332b2319110700000000000000000d1a26323e4a545e66696c6c69665e544a3e32261a0d000008131d262f363c40414646464646464646403e3b352e251c130a0100000000000000000000000000000000000000010a131c252e353b3e40464646464646464641403c362f261d1308000000000000000000000000000000000007121c252e353b3e4046464646464646463f3e3a352d251c1107000000000000000000000000000000000009131c252c33373939393939393939393939393939393939393939393937332c251c130900000000050f171f252a2d2e3939393939393939393939393939393939393939392e2d2a251f170f050000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000c18232e414e5b6874818e9ba7aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130007131f2b36404a52585a606060606060605b59534b505557606060606060605d5b554d43392e22160a00101d293643505c6976828f93939393938b7e72656976838f93939393938b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000003090e121415191c1e1f1f1e1c191514120e09030000000000000000000000000000000000000002070c0f1112131313131313130909070c0f11121313131313131309090703000000000000000815222e3b4855616e7b8894a1aca396897c7063564b5865727e8b98a5ac9f928679675c5145382c1f1306000815222f3b4855626e7b8896a0acb9c3ced7e1e8ebebe7e0d6cdc2b8aca095887b6e6155483b2e2215080013202d394653606c79868f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f86796c5f5246392c1f130013202d394653606c79868f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f86796c5f5246392c1f13000815212e3b4854616e7b8794a1aeada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000050e1720282f383f44464d535558595a595854534d48443d342f271f160d0400000000000000000000000000000000000000000000000000000000000000060f181f282f353c43474c5254575a5c5e5f5f5f5e5d5a5754514b46423b444a4f515353535353534b4a453f362d22180c0100010c18222d363f454a4b53535353535352504c454044464e5355595b5d5e5f5f5f5e5d5b5855534d48443e363129211911070000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a0000010b141d252b303334393939393939393933322f2a231c130a01000000000000000000000000000000000000000000010a131c232a2f323339393939393939393433302b251d140b010000000000000000000000000000000000000a131c232a2f3233393939393939393932312e2a231c130a000000000000000000000000000000000000010a131b21272b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a010000000000050d141a1e21212d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d21211e1a140d05000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f2316090000071a2734404d5a6773808d9aa6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201300030e19242f3840474c4d535353535353534e4d484145494a53535353535353514f4a433b31271c110600101d293643505c697682868686868686867f7265697682868686868686867e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000020507080c1011131311100c0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b88959f9f9f968a7d7063574c5965727f8c989f9fa399867a6d6053473a2d201407000c1825323f4b5865727e8b98a8b2bdccd5e0e9f3f9f8f2e8dfd4c8bcb1a7988b7e7165584b3e3225180b0013202d394653606c7986939c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9286796c5f5246392c1f130013202d394653606c7986939c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9286796c5f5246392c1f13000815212e3b4854616e7b8794a1acaca094877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000050e161d262d33373c4247484b4d4d4c4b4846423b383329231d150d04000000000000000000000000000000000000000000000000000000000000000000060d161d242932373a4145474a4e505152535252504e4b4745413a3631393f43444646464646463e3d3a342d241b110600000006111b242d343a3d3e4646464646464544403b34383c4347484c4e505252535252504e4b4846423b38332a251f170f070000000000000000000005111c27313a434a4e505353504e4a433a31271c1105000000020b131a202427272d2d2d2d2d2d2d2d2625231e19120a010000000000000000000000000000000000000000000000010a12191e2325262d2d2d2d2d2d2d2d272724201a130b0200000000000000000000000000000000000000010a12191e2225262d2d2d2d2d2d2d2d2625221e18110a0100000000000000000000000000000000000000010910161b1e202020202020202020202020202020202020202020201e1b161009010000000000000003090e1214152020202020202020202020202020202020202020201514120e090300000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000008121d262f363c3f414646464646464641403c37393c3e4646464646464644423f3931291f150b00000f1c2835414e5a66707679797979797979726d6266707679797979797979726d62564a3d3124180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8993939393938a7e7164574c5966737f8c9393939393877a6d6154473a2e211407000d1a2633404d596673808c99a6b3bfced9e7f2fbfffffaf1e4d9cebfb3a6998c807366594d4033261a0d0013202d394653606c7986939f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9285796c5f5246392c1f130013202d394653606c7986939f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9285796c5f5246392c1f13000815212e3b4854616e7b87949f9f9f9f94877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000040b141b22272b31373a3b3e4041403e3b3a36312c272118120b030000000000000000000000000000000000000000000000000000000000000000000000040c131820262b2f35393a3e4143454546464543413e3a39352f2a262e33363739393939393932312e29221b1209000000000009121b22292e31323939393939393837342f282c31373a3b3f4244454546464543423f3b3a36312c28211a140d050000000000000000000000000a151f2831383e4243464643423e3831281f150a000000000001080f14181a1b2020202020202020191916120d07000000000000000000000000000000000000000000000000000000070d1216191920202020202020201b1a18140f080100000000000000000000000000000000000000000000070d121618192020202020202020191816120d070000000000000000000000000000000000000000000000050a0f1213131313131313131313131313131313131313131313120f0a0500000000000000000000000205070813131313131313131313131313131313131313131308070502000000000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130000010b141d242b303334393939393939393534302b2d3031393939393939393736332e271f170d0400000d1926323e49545e66696c6c6c6c6c6c6c65625b5e66696c6c6c6c6c6c6c65625b51453a2e2215090000000000000000000000000000000000000000000000000000000000000000050a0d0f10131313130b0a080500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d868686868686867e7165584d5a677380868686868686867b6e6155483b2e221508000e1b2734414e5a6774818d9aa7b4c0cddae7f7fffffffff5e7dacdc0b4a79a8d8174675a4e4134271b0e0013202d394653606c79869393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939285796c5f5246392c1f130013202d394653606c79869393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939285796c5f5246392c1f13000815212e3b4854616e7b87939393939393877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f262b2e2f32333433312e2d2a251f1c160c07010000000000000000000000000000000000000000000000000000000000000000000000000001070d151b1e24292c2d31343638393939383734312d2c29241d1a22272a2b2d2d2d2d2d2d2524211d181109000000000000000911181d2124252d2d2d2d2d2d2c2b28241c1f262b2e2f32353738393939383735322e2d2a261f1c170e090300000000000000000000000000030d161f272d32353639393635322d271f160d030000000000000003080b0d0e13131313131313130d0c0a0602000000000000000000000000000000000000000000000000000000000002060a0c0d13131313131313130e0d0b08030000000000000000000000000000000000000000000000000002060a0c0d13131313131313130c0c09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000000020b12191f2326272d2d2d2d2d2d2d282724202123242d2d2d2d2d2d2d2a2927221c150d050000000915212d38424c545a5c60606060606060585651545a5c60606060606060585651493f34291d1105000000000000000000000000000000000000000000000000000000000000030a1016191c1d20202020181714110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4855606b7079797979797979716c62564b58646e737979797979797976695f53463a2d211407000d1a2733404d5a6673808d99a6b3c0cfdae6f3fcfffffbf2e9d9ccc0b3a6998d8073665a4d4033271a0d0013202d394653606c79868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796c5f5246392c1f130013202d394653606c79868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796c5f5246392c1f13000815212e3b4854616e7b86868686868686867a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000060b0f151a1e2122252627262521211e1a14100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13191d20212427292b2c2c2c2b2a272421201d18130e171b1d1e202020202020181715110c06000000000000000000060c111517182020202020201f1e1c1810151a1f212226282a2b2c2c2c2b2a282522211e1a14100b0500000000000000000000000000000000040d151c2226292a2d2d2a2926221c150d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060712131313131311110e0b0601000000000000000000000000060a0e1011131313131313100f0d0a050000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130000000001080e13171a1a202020202020201b1a1814141717202020202020201e1d1a16110b040000000005101b26303a42494e50535353535353534b4a45494e50535353535353534b4a453f372d23180c010000000000000000000000000000000000000000000000000000000000040d151b212628292d2d2d2d2423211d17100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202c38444f5960636c6c6c6c6c6c6c65625a5047525c64676c6c6c6c6c6c6c6c5f574d42362a1e1205000c1925323f4c5865727f8b98a9b3bec9d5e1eaf4f9f8f3e9e0d5c9bdb2a8988b7f7265584c3f3225190c0013202d3946535f6c7679797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797974695d5144382b1f120013202d3946535f6c7679797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797974695d5144382b1f12000714202d3a46525e6976797979797979797976685e5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181a1a19181514120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d111314171b1d1e1f201f1f1d1b181413110d07010b0e10111313131313130b0b09050100000000000000000000000105090b0b13131313131312110f0c040a0f121415191b1d1f1f201f1f1d1b181514120e090300000000000000000000000000000000000000030a11161a1c1d20201d1c1a16110a030000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111112131312110f0c0908060300000000000000000406070b0f1213131211100e0c0b09060100000000000000000000000000000000000000000000000000000406070a0d0f11121313131212100e0c09060603000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c1012131f20202020201e1d1b17120c04000000000000000000040b11161a1d1e2020202020201d1c1916100a03000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201300000000000003070b0d0e131313131313130e0e0c08080a0b1313131313131311100e0a06000000000000000a141e2830383e4143464646464646463f3d3a3e4143464646464646463f3d3a342d241b11060000000000000000000000000000000000000000000000000000000000000d161f262d3235363939393931302d28221a12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c27333d474f55566060606060606058565048404a52585a606060606060605f534d453b31261a0e0200091623303c4956636f7c8997a1adb9c4cfd9e2e8ebebe7e1d7cec6b9ada196887c6f6255493c2f22160900121e2b37434f5a646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6962584d4135291c1000121e2b37434f5a646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6962584d4135291c100005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c5e564c41362a1d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000020608080b0d0e0d0b0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407070b0e101212131312100e0b07060401000000020404060606060606000000000000000000000000000000000000000000060606060606050503000000020608080c0f111212131312100f0c080705020000000000000000000000000000000000000000000000050a0d0f101313100f0d0a05000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191515120f0a0401000000070c101313181c1e1f201f1e1d1b181815120d060000000000000000000000000000000000000000000001070c10131416191c1d1f1f20201f1e1d1b191613120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000030a11171c1f202c2d2d2d2d2d2b2a27231d160e0600000000000000050d151c2227292a2d2d2d2d2d2d292926211c150d040000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c161e262d3235363939393939393932312e3235363939393939393932312e29231b120900000000000000000000000000000000000000000000000000000000000008111f2831383e4243464646463e3d39342c241a1006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212c353d44484a535353535353534b4a453f3840474b4d535353535353534846423b33291f140900000613202d394653606c7885929ea9b3bdc7d0d8dddfdedcd7cfc6bcb2a89e9184776c605346392d201306000f1b27333e49525a5f60606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605f5d5850463b3025190d000f1b27333e49525a5f60606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605f5d5850463b3025190d00020e1a25303b454d525f60606060606060605f524c443a3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e212125282a2b2c2c2c2b2a282622211f1b15110d08030b12181c1f2025292b2c2c2c2b2a272524221d18110901000000000000000000000000000000000000040a0f12181c1f202326282a2b2c2c2c2c2b2a282523201f1c17110f0a0300000000000000000000000000000000000000000000000000000000000000000000030c151c23282c2d3939393939393837332e2820180e040000000000040d171f272e3336373939393939393635322d261f160d0300000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201300000000000002070a0c0d131313130e0d0b080303070b0d0e131313130d0c0a06020000000000000000000000040c141b212628292d2d2d2d2d2d2d2524222628292d2d2d2d2d2d2d2524221d181109000000000000000000000000000000000000000000000000000000000000050f1a23313a42494e50535353534b49453e362c22170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1a232c33383c3d464646464646463e3d3a342e363b3f40464646464646463b3a36312921170d03000006121f2b3844505b6673808c97a1abb5bdc5ccd2d2d2d1cbc4bcb4aaa0968c7f72655b5044372b1f1205000a16212c3740494f53535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535352514d463e342a1f1408000a16212c3740494f53535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535352514d463e342a1f1408000009141f29333b42464853535353535353535346413a32281e13080000000000000000000000000000000000000000000000000000000000030608091313131313120707050100000000000000000000000000000003060809131313131313131313131313131313131313131313131313130b0a080400000000000000000000000000000306131313131313131308070502000000000000000000000005080a0b13131313130e0d0b0803000000000000000000000306080913131313131313130603000000000000000000000000000004090c0e0f13131313131313130908060300000000000000000000000000000000000000000000000000000000020507081213131313131313100706040000000000000000000000000000000000060c161b1f252a2d2e31343738393939383735322f2e2b26201d19130c151d23282c2d32353839393838363432312e29231b130900000000000000000000000000000000040a0f161b1d23292c2d303335373839393939383635322f2d2b28221c1b150e090300000000000000000000000000000000000000000000000000000000000000000a151e262e34383a45464646464644433f39322a20160c01000000000b151f2931393f424446464646464643423e3831281f150a00000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130000000000070e1316191a202020201b1a18140f0e13171a1a20202020191916120d070000000000000000000000030a1015191c1d20202020202020181815191c1d20202020202020181815110c06000000000000000000000000000000000000000000000000000000000000000b16212b35424c545a5c60606060575550483e34281d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a21272c2f303939393939393932312e29242a2f3334393939393939392e2d2a261f170f06000000030f1c28333f4a54606d79859199a3abb3bbc0c4c5c5c4bfbab2aaa2989184796d6053493f33271b0f030005101b252e373e434646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464644413b342c22180d020005101b252e373e434646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464644413b342c22180d020000020d17212930363a3b4646464646464646463936302820160c02000000000000000000000000000000000000000000000000000000040a0f12151520202020201f1413110d08020000000000000000000000040a0f12151520202020202020202020202020202020202020202020202020171714110c0500000000000000000000060c101220202020202020201514120e090200000000000000060c1114171820202020201b1a18140f0801000000000000040a0f131516202020202020202012100c060000000000000000000002090f15191b1c20202020202020201615130f0a0400000000000000000000000000000000000000000000000002090e1114141f202020202020201d1312100c0700000000000000000000000000030a111720272b31363a3b3e4144444546464544423f3c3b37322c29241e191e272e34383a3e42454646454443413f3d3a342d251b11060000000000000000000000000000060b151b21272c2f34383a3d40424445464646454543413f3c3938332d2b26201a150b0600000000000000000000000000000000000000000000000000000000000006111c2630383f4446525353535353514f4b443c32281d120600000006111c27313b434a4f51535353535353504e49423a31261c1005000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000000010a12191f2325262d2d2d2d282724201a1a1f2426272d2d2d2d2625231e19120a01000000000000000000000005090d0f10131313131313130c0b090d0f10131313131313130c0b0905010000000000000000000000000000000000000000000000000000000000000004101c27333d47545e66696c6c6c6c64615a5045392d2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f161c2023232d2d2d2d2d2d2d2524211d191f2326272d2d2d2d2d2d2d22211e1a140d0600000000000b17222d3845515d67707d879299a2aaafb6b7b8b8b7b4aea8a19892867c6f665c5141382d22170b00000009131c252c3337393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393835302a221a100600000009131c252c3337393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393835302a221a100600000000050f171f252a2d2e39393939393939392e2d2a251e160e05000000000000000000000000000000000000000000000000000000060e151b1f21222c2d2d2d2d2c21201d19130c04000000000000000000060e151b1f21222d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211c17100800000000000000030a11171c1f2d2d2d2d2d2d2d2d21201e1a140d0500000000000810171d2123242d2d2d2d2d272724201a130b0200000000070f151b1f22222d2d2d2d2d2d2d2d1f1c17110a0300000000000000030c141b202528282d2d2d2d2d2d2d2c22211f1b150e0700000000000000000000000000000000000000000000050d141a1e20212c2d2d2d2d2d2d2d2a201f1c18120b0300000000000000000000030c151c232832373b4246484b4e505152535252504e4c4847433c39352f28222b30394045464b4f5152535251504e4b4a463f372d23180d010000000000000000000000020a111720262b323839404547494c4f50525253535251504e4c4946443f3837312b262017110a02000000000000000000000000000000000000000000000000000000000c17232e38424a50535f60606060605e5c564e44392e23170b0000000a16222e39434d555b5d6060606060605c5a544c42382d21160a000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130000000a131c242a2f3233393939393433302b25242b3033343939393933322f2a231c130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202c38444f5966707679797979716c6155493d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014161720202020202020181715110e1317191a202020202020201514120e090300000000000006111c2935404b55606b717e8792989fa4acabacabaaaaa39f9691867d706a5f544b402f261b1106000000010a131b21272b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b29251f18100800000000010a131b21272b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b29251f181008000000000000050d141a1e20212d2d2d2d2d2d2d2d21201d19130c0500000000000000000000000000000000000000000000000000000006101820262b2e2f3939393939382e2d29251e160e040000000000000006101820262b2e2f3939393939393939393939393939393939393939393939393931302d28221a12080000000000030c151c23282c39393939393939392e2d2a251f170f0500000008121a22282d303139393939393433302b251d140b00000007101920272b2e2f39393939393939392c28231c150c030000000000020c151e252c31343539393939393939392f2e2b26201810070000000000000000000000000000000000000000050e171f252a2d2e3939393939393939372d2c28231c150c030000000000000000030d151e262e343d43474d5354585b5d5e5f5f5f5e5d5b5955534e4745413a3129343c424b5153585c5e5f5f5f5e5d5a585651493f34291d120600000000000000000000040b141c222832373d43484b515356595b5d5e5f5f5f5f5e5d5b585653504a47433c373127221b140b03000000000000000000000000000000000000000000000000000003101c28343f4a545c606c6c6c6c6c6c6b6760564b3f33271b0e0000010e1a27333f4a555f676a6c6c6c6c6c6c69665e54493e3226190d010000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000007121c252e353b3f404646464641403c362f2f363c3f4146464646403e3b352e251c0e0500000000000000000000060a0e1011121313131212100e0b07070501000000000000000000000000000000000000020507081313131313131313070705010000000000000000000916222f3c4854606b7682868686867e7164574b3e3124180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a131313131313130b0b090502070b0d0d13131313131313080705020000000000000000000d18242f3a434f59626c717d858e939a9c9e9f9f9d9c98928d847c706b61584e42392e1d140a0000000000010910161b1e2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201f1f1c19140d06000000000000010910161b1e2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201f1f1c19140d06000000000000000002090e12141520202020202020201413110d0802000000000000000000000000000000000000000000000000000000040e18222a31373a3c4646464646453a3935302820160c020000000000040e18222a32373b3c464646464646464646464646464646464646464646464646463e3c39332c241a1005000000000a151e262e343846464646464646463b3a36302921170d020006101a242c34393d3e464646464641403c362f261d0d0300040f19222b32373b3c464646464646464638342e261e150a000000000009141e2730373d414246464646464646463c3b37322a22180d03000000000000000000000000000000000000020b17202930363a3b4546464646464646433a38342e271e150b00000000000000010b151f2730383f444e54575e6164676a6b6c6c6c6b6a6865625f5854524c433f353c464e545c6065686b6c6c6b6b696765625b51463a2e221509000000000000000000040d161d262d333c43474f54555c606366686a6b6c6c6c6c6b69686562605b54534e47423c332d261d150d030000000000000000000000000000000000000000000000000006121f2c3844505c666d7879797979797772675c4f43372a1d11000003101d2936424f5b6771777979797979797670665a4e4235291c0f030000000000000000000000000000000203101d2a3643505d69768390908376695d5043362a1d100302000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201300020e19242e3740474b4d535353534e4c4841383840474c4d535353534c4b4640372e20170d0200000000000000040b11161a1d1e1f2020201f1e1d1b181413110d0802000000000000000000000000000002090e12141520202020202020201413110d080200000000000006131f2b37434e5863707d8994998f82766c6155493d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313d47505a626b707b81878c8f919292918f8b86807a6f6a61594f463c30271d0b0200000000000000050a0f121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131312100d0802000000000000000000050a0f121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131312100d080200000000000000000000000205070813131313131313130707050100000000000000000000000000000000000000000000000000000000000a15202a343c4347485353535353524746413a32281e130800000000000a15202a343c434748535353535353535353535353535353535353535353535353534a49453e362c22170c00000006111c2630383f4453535353535353534846423b33291f1409000c17222c363e45494b53535353534e4c4841382f1f150b010a15202b343c4347495353535353535353443f3830261c1106000000040f1b25303942484d4f53535353535353534947433c342a1f150b0100000000000000000000000000000000000a141d29333b4246475253535353535353504644403930271c120700000000000007121d273139424a50586062696e71747777787979787775726f6a66605d56504540454e5860666d717578797978777674726d62564a3d3124180b0000000000000000030c161f282f383f444e54596063676d707375777879797978787674726f6c66625f58534d443f382f271f150d030000000000000000000000000000000000000000000000000713202d3a4653606d7886868686868684776b5e5144382b1e11000004111e2a3744515d6a77838686868686868276695c504336291d100300000000000000000000000000050a0f12101d2a3643505d69768390908376695d5043362a1d10120f0a0500000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130007131f2a354049525759606060605b58534a41404a52585a60606060595751494032291e1408000000000000050e161c2227292a2c2c2d2c2c2b29282521201d19130f0a030000000000000000000000050d141a1e20212d2d2d2d2d2d2d2d21201d19130c0500000000000815212e3b47535f6a7683909d92867b6e615a5045392d211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2b353f48505961696e757b7f8384858584827e7b736d6860584f473e342a1e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313c464e53555f606060605f54524c443a3025190c03000000030f1b26323c464e535560606060606060606060606060606060606060606060606060575550483e33281c110400000c17232e38424a505f606060606060605f524d453b30251a0e05111d28343e4850555760606060605a58534a4131271d12070f1b27323c464e5455606060606060605f504a42382e23170c0000000915202c37424b53595b606060606060605f55534e463c31271d12070000000000000000000000000000000006111b262f3b454d52545f606060606060605d53514a42392e23180c0000000000020c18242f39434b545c606a6f757b7e8183848586858583817f7c78726d68625a514b4d57606a6f797e82848586858483817f7265584b3f3225180c00000000000000000b151e283139424a50585f626b6f75797d7f828385858686858483817f7c79746f6a625f575049413931271f150b010000000000000000000000000000000000000000000000091623303c4956636f7c89989393938d8174675a4e4134271b0e000004111e2a3744515d6a778490939393938f8376695c504336291d10030000000000000000000000010910161b1e20202a3643505d69768390908376695d5043362a20201e1b161009010000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000a16232f3b47525c63666c6c6c6c67645c534547525c64676c6c6c6c66635b51443b3025190e0100000000040e1720272e3336373939393939383634312e2d2a251e1a150e06000000000000000000050f171f252a2d2e39393939393939392e2d2a251e160e05000000000916222f3c4955626f7c88959b8e8174695f53483e34281d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d19232d363f474f575f61696e72767879787775726e69615e564e463e352c22190c0300000000000000000005090d0f101313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130f0f0d09040000000000000000000000000205070813131313131311100e0b0600000407090a1313131313130e0d0b0803000000000000000000000001070c0f11121313131313070705010000000000000000000000000105090b0b13131313100f0d09050000000000000000000000000000000000000000000000000006121f2b37434e585f626c6c6c6c6c6b615e564c4135291e150b00000006121f2b37434e585f626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d2114080003101c28343f4a545c6c6c6c6c6c6c6c6c6c5e574d42362a1e120814212d3945505a61646c6c6c6c6c67645c5343392f23180c131f2b37434e5860626c6c6c6c6c6c6c6c5c544a3f34281c100300000c1925313d48535d65686c6c6c6c6c6c6c6c625f584e43392f24180e050000000000000000000000000000030c17222d38414d575e616c6c6c6c6c6c6c6c6a605c544a4034281c1004000000000a141e2935404b555d666d747c82878b8e909192929291908e8c88847f7a716d605d55535f696f7c848b8f9192929291908d86796c605346392d20130000000000000007121d273039434b545b606a6f767c8185898c8e90919292929291908e8b8985817c756e69605b534b433931271d12070000000000000000000000000000000000000000000004111d2935414c566673808c99aaa3998a7d7064574a3d3124170a000004111e2a3744515d6a7784909d9f9f9c8f8376695c504336291d100300000000000000000000010a131b21272b2d2d2d3643505d69768390908376695d5043362d2d2d2b27211b130a0100000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000c1925323f4b57636e7379797979746f64574d4c58646e7479797979736d63564c41362a1d1207000000000b16202932393f434445464646454543413e3a3936302b2620180f0900000000000000020d17212930363a3b4646464646464646463936302820160c02000005121e2a36424d576673808d9994887c6f62574d42362c22170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007111b242d353e454d53575f6266696b6c6c6a6965615e56524c443d342c231a10070000000000000000020a1015191c1c2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201c1b1915100902000000000000000002080e1114142020202020201e1d1a17110b0b101316162020202020201b1a18140f08010000000000000000050c12181b1e1f20202020201413110d0802000000000000000000060c11151718202020201c1c1915100a0200000000000000000000000000000000000000000000000815212e3a47535f6a6f7979797979786d685e52463d30271c120700000815212e3b47535f6a7679797979797979797979797979797979797979797979797979716c6155493c3023170a0006121f2c3844505c66767979797979797976695e52463a2d20140a1723303d4955616c717979797979746e64554b4034291c1015222e3b4754606a767979797979797976665c5044382c1f120600020e1b2834414d59656f7579797979797979796f6a5f554b40352920170b02000000000000000000000000000b151e27333f49535e696e7879797979797979766d665c5144382c1f120600000006111c26303845515d676d7880898f93999a9d9e9f9f9f9e9d9b9896918c857e756d675d58626e7b8691969b9e9f9f9e9e9c9386796c605346392d2013000000000000040d18232e39434b555d666c737c83898e9298999b9d9e9f9f9f9f9e9c9b9897918d88827b736c655d554b43392f24180e050000000000000000000000000000000000000000000713202c3945525d687683909da99f92867a6d6054473a2d211407000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000009131c252c33373939393943505d69768390908376695d50433939393937332c251c130900000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000d1a2633404d59667380868686868174695f534d5a677480868686867f73685e5246392f23180c00000006111c27323b434a4f51525353535251504e4b4746413a37312a221b120900000000000009141f29333b42464853535353535353535346413a32281e130800000714212d3a46535e697884919c8f82766a5f53453c31241a10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b232c333b42464d5355595c5e5f5f5e5c5854524d46413a322b221a11080000000000000000040c141b212528292d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c03000000000000050d14191e20212d2d2d2d2d2d2a2a27221d16161b2022232d2d2d2d2d2d272724201a130b02000000000000060f171e23282a2b2d2d2d2d2d21201d19130c04000000000000000911181d2124252d2d2d2d292826211b140c04000000000000000000000000000000000000000000000915222f3c4855626f7c8786868686857a6d61594f42392e23180c03000915222f3c4855626f7c868686868686868686868686868686868686868686868686867e7164574a3e3124170b000713202d3a4653606d78868686868686867b6e6154483b2e2115121e2a36424d5764717e86868686868074675c5145382c1f1416222f3c4955626f7c86868686868686786d6053463a2d20130700020f1c2835424f5b68758286868686868686867c6f675d51453e32291d140a00000000000000000000000007121d27303944505b656e7b858686868686868683796d6053463a2d2013070000000b17232e3842505a606d79828d929b9fa4ababa39f9d9c9b9c9d9fa19e97928b82796d685f6a76828f98a1a8aaa39f9995949386796c605346392d20130000000000010c161f2834404b555d676d78808790949b9fa2a9a29e9c9b9a9a9b9d9fa3a9a19e9a948f877f776d675d554b40352920170d0200000000000000000000000000000000000000000714212d3a4754606d7a86939fa99c908376675d5145392c201306000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000005101b252e373e434646464646505d69768390908376695d504646464646433e372e251b1005000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000714202d3a4753606d7984919392877b6e62564c54606d7a85919392867a6e61554b4034291c100400000a16222e39434d555b5d5f5f605f5f5e5c5b5854524c47433c342d241b110800000000020e1a25303b454d525f60606060606060605f524c443a3025190d01000815212e3b4854616e7b8796988c7f7265584e433b33291f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009111a212931363c4247484c50515252514f4b4746423b363028201910080000000000000000020c161e262c3235363939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393635312c261e150c0200000000050e171e252a2d2e3939393939393736332e272021272c2f303939393939393433302b251d140b0100000000050f1821292f3437383939393939392d29241e160e04000000000009121b22292e3132393939393635322d261e160c000000000000000000000000000000000000000000000815212e3a47535f6a73808d9693978e81746b60544a4034281f1409000916232f3c4956626f7c8993939393939393939393939393939393939393939393938a7d7164574a3e3124170b000713202d3a4653606d79869393939393877b6e6154483b2e211514212d3a46535e6976828f9393939285796d6053473b30251a16222f3c4955626f7c88939393939386796d6053463a2d20130700000714212d3a4754606d7a849199939393999183796d605a50443b2f261b110600000000000000000000040d18232e39424e58606c77828f979393939392867b6e665c5144382c1f1206000003101c28343f4a54616c74818e949da4aca7a09d9992908f8f8f9192999a9e9f948f837a6d666f7c88949faaaea398928c88878886796c605346392d2013000000000008131e28313a45515c676d79828d92999fa6a39f9a97928f8e8d8e8e9092989b9fa3a69e99928c82796d675d51453f32291e140800000000000000000000000000000000000000000b1724313e4a5764717d8a99a4a9998c7f7366554b4135291d1104000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000a16212c3740494f5353535353535d69768390908376695d5353535353534f4940372c21160a000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130006131f2c3845515c67707d8a95998e8175685e52515d67717e8a96988d8073675c5145382c1f130600000e1a27333f4a555f676a6c6c6c6c6c6b696764615e56534e463e362d23190b0200000005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c5e564c41362a1d1105000a1724313d4a5764707d8a9798887b6e6255524d453b30251a0e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f171f262a31373a3b3f4345464544423f3b3a36302a251e160e070000000000000000000a141e2830383d414346464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464642413d3730271e1409000000020d1720293036393b46464646464644433f3932292b32383b3d46464646464641403c362f261d1308000000010c17212a333a4044454646464646463935302820160c0200000006111b242d343a3d3e4646464643413e3830281e110700000000000000000000000000000000000000000006121f2b37434e58606d7984919e9f93887d6f665c51443b31261a0d04091623303c4956636f7c89969f9fa8a19e9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c978a7d7164574a3e3124170b000713202d3a4653606d7986939f9f9f94877b6e6154483b2e21151b27333f4953616e7b87939f9fa2978a7e7164574d42362a1e16222f3c4955626f7c88959f9f9f9386796d6053463a2d20130700000613202c3945525d686f7c87929fa69fa0958d81746c61564d41382d22170d030000000000000000010c161f2834404b545f6a727f8b949fa9a89e938b7e71695f544a4034281c1004000006121f2b3844505c66717e8b939ea6aea59d95908a86838282838486898d92979f959083786d73808d99a6b0a89f9286807c7a7b7d7063574a3d3024170a00000000010d19242f3a43505a606d79828f949fa3a7a099928e898583818181828386898e92999fa7a39f948f82796d605b51443b3025190e0200000000000000000000000000000000000006121e2b37424d576774818e9aaba297897c6f6256493c2f24180d01000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000f1b27333e49525a5f60606060606069768390908376696060606060605f5a52493e33271b0f000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130004101c2934404b55616b7683909d92867a6d61544c55606c7884919d9285796d6053473a2d2014070000101d2936434f5b6771777879797978787674716d68625f5850483e352b1d140a0000000714202d3a46525e6976797979797979797976685e5246392d201307000c1926333f4c5966727f8c999285796a63615e574d42362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d141a20262b2e2f33363839393736322e2d2a251f19130c0500000000000000000005101b26303a42494e4f5353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534f4d49423930261b1004000008141e29323b414653535353535353514f4a443b32353d4448495353535353534e4c4841382f251a0f03000007121e29333c454b505253535353535346413a32281e13080000010c18222d363f454a4b535353534f4e49423a3023190f050000000000000000000000000000000000000000030f1b26313c45515d67707d8a939e9a9183786d60574d42362a1f160c0a1623303d495663707c899aa4aca196918f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8a7d7164574a3e3124170b000713202d3a4653606d798693a0aca194877b6e6154483b2e21151f2b3744505b65737f8c99a4afa99c8f8276695e52463a2d2016222f3c4955626f7c8895a2aca09386796d6053463a2d201307000004111d2935414c56606a727f8c949ea8a89d928a7d70695e53493f33271f150b010000000000000008131e28313a45515c666f7c86929fa6aba1968e81756c62574d42392e23180c0000000713202d3a4653606d7884919ea5afa69d938e837d797776757677797c80858c9298958e81747683909ca9aca0958a7e736f6e6e706b6155483c2f2316090000000004111d2935414c56616c74818e949ea6a69f959087817c79767474747577797d818790959ea5a69e948e81756d62564c41362a1e14080000000000000000000000000000000000000814212e3a47535f697884919eab9e9285796c605346392d20130700000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000121e2b37434f5a646c6c6c6c6c6c6c6c7683909083766c6c6c6c6c6c6c6c645a4f43372b1e12000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201300000c18232f39434f5964717e8a97998b7f7265554b505b65727e8b97978a7d7164574a3e2f24180c0000111e2a3744515d6a778385868686858483817e7a756e6a615a50473d2f261b110600000815212e3b4854616e7b86868686868686867a6d6154473a2e211407000e1a2734414d5a6774808d9a91847770706e695e52463a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e151a1e212226292b2c2c2b292521201e19140d0802000000000000000000000915212c38424c545a5c6060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605c5a544c42372c21150900020e1925303b444c525f6060606060605d5b554d44393d474f54566060606060605a58534a41362b20140800000c18232f3a454e575c5e60606060605f524c443a3024190d010005111d29343f48505658606060605c5a544c42352b21160b0000000000000000000000000000000000000000000a15202935404b55616b75818e98a0958c7f72695f53463e31281e130815222f3b4855626e7b87939fa99e91848383838383838383838383838383838383827d706356493d3023160a000713202d3a4653606d798693a0aca194877b6e6154483b2e2115202d394653606c7884919eabb5ac9f93877b6e6154473d32271b222f3c4955626f7c8895a2aca09386796d6053463a2d2013070000010d19242f3a434e58606c77828f96a1aba49e92857b6e655b50443c31271d1207000000000000050e19242f3a434f59606d79839098a3aea39991847a6d605a50453c30271c12070000000b1824313e4b5764717e8a96a0acac9f948e8179716d67696869676d70747a7f869095938a7e7885929fabaa9d9184776c6261616361594f44382c201407000000000613202c3945525d68717e8a939da6a89f948f837c746f6c6668676768666d70757c838f939ea7a69e938b7f72685e52463b3025190d0100000000000000000000000000000000000815222f3b4855626e7b8896a1a89b8e8275665b5044382b1f120600000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000013202d3946535f6c767979797979797979839090837979797979797979766c5f5346392d2013000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000007121d27313e4653606d7984919c908376675d514953606d7985929b8e817468554b4035291d100400121f2c3945525f6c78859292999292918f8e8b87827c716c61594f41382d22170b00000815212e3b4854616e7b87939393939393877a6d6154473a2e211407000f1b2835424e5b6875818e9b91847d7d7d7b6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415191d1e1f1f1e1c181414110e09020000000000000000000000000d1925323d49545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69655e54493d3125190d0005111e2a36414c565e6c6c6c6c6c6c6c6a675f554a3f444f5960636c6c6c6c6c6c67645c53483c3024180b00030f1b2834404b5760686b6c6c6c6c6c6c5d564c4135291d1105000915212e3a45505a62656c6c6c6c69665e54473d33271c10040000000000000000000000000000000000000000040c18242f39434f59616e7b85929f9f92867b6e615a50433a2f24190c14212e3a47535f6975818e97a29d9084787676767676767676767676767676767676706b6054483b2f221609000713202d3a4653606d798693a0aca194877b6e6154483b2e211d2935414c5563707d8996a0acacafa4998c7f7266584e43382c1d222f3c4955626f7c8895a2aca09386796d6053463a2d20130700000008131e28313d44505b656d7a849199a3ada1978f82776c60584e43392f24180e0500000000020b17202935414c56606b73808d95a0aaa69f92877d6f685d52483e332a1e150b00000005121e2a36424d576875818e9ba8afa49a8f82786d66605d555c555c6063676d727b838f9391857b8797a2ada79a8d8074675a545557554f473e33281c100400000004111d2935414c55606d7a85929ea5aca0968f82796e6a62605b545a5b545c60636a6e78818f959faba59f92857a6e61564c41362a1e11050000000000000000000000000000000003101c28343f4a5465727f8b98a8a7988b7e7165544a3f33281c0f0300000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000013202d394653606c798686868686868686909494908686868686868686796c605346392d2013000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000008121d262c3844505c6674818e9b92867a6d605347515d6775828f9b918477675d5145392c1f130600121f2c3945525f6c7885929493939496999a99938e867e716b6053493f33271b0f03000815212e3b4854616e7b87949f9f9f9f94877a6d6154473a2e211407000f1c2936424f5c6975828f9c95918989897e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020608080c10121312110f0c0807050200000000000000000000000000000f1c2835414e5a6670767979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797570655a4d4135281b0f000714202d3946525e68767979797979797771675b4f434854606b70797979797979746e64584c4033271a0d0004111e2a3744505c687278797979797976685d5246392d201307000b1724313d4a56626d7179797979767066594f44382c20150a00000000000000000000000000000000000000000007121d27313e46525e69727f8b959f988f82756c61554c4135291e14121e2b37424d57616e7b85929fa0958c80736c6969696969696969696969696969696360594f44382c201307000713202d3a4653606d798693a0aca194877b6e6154483b2e21202c3945515d6775818e9ba8a39fa3ab9d9184776a605448392f24222f3c4955626f7c8895a2aca09386796d6053463a2d201307000000010c161f27333f49535e686f7d87929fa6a99f948c7f726a5f554b40352920170b020000000a141d29333b45525d68707d87939fa7aa9f948c80736b60564c41362d21180c030000000714202d3a46525e697885919eabac9f93877c6f665c54514b4f4b5153555d60696e79818f949083909da9b3a4988b7e7165584b484a48443e352c21160b000000000613202c3945515d6773808d97a1ada69e91847a6d675f5853504a4e4e4b5153585f666d79839099a3ada2978d8174685e5246392d2014090000000000000000000000000000000006121f2c3844505c6675828f9ba8a095877b6e6154483b2d22170b0000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000013202d394653606c7986939393939393939c9f9f9c9393939393939386796c605346392d2013000b1825323e4b5865717e8b98a4aca295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201300030e19242f3840474a5464717e8a9799897c6f6256494b5565727e8b9893867a6d6053473a2d20140700121f2c3945525f6c78858887868787898d92979f9892887d70655b5044372b1f1205000815212e3b4854616e7b8794a1acaca094877a6d6154473a2e21140700101c2936434f5c6976828f9ca09d96968b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868275695c4f4236291c0f000814212e3b4754616e7a86868686868683776a5d5144495663707d8686868686868074675a4e4134271b0e0005121f2b3845525e6b788586868686867a6d6154473a2e211407000b1825323e4b5865717e8686868682766b6054483c32261b0f030000000000000000000000000000000000000000010b151f2a36424d56606c788390999e948a7e71675d51453c30261c111a26313c46525e68717e8a929c9f93887e716c605b535c5c5c5c5c5c5c5c5c5c5c56544f473d32271b1003000713202d3a4653606d798693a0aca194877b6e6154483b2e21212d3a4754606d7a86929fa3999299a3a096897c6f62554b403529222f3c4955626f7c8895a2aca09386796d6053463a2d20130700000000040d17222d38414c56606b737f8c949fa9a69f92867c6f675d51453e33291d140a000006111b262f3b45505a606d7a849199a4aea2989083786d60594f443a2f241b0f06000000000815212e3b4854616e7b8797a1adaa9d9083776a5f544b4540424045474b51575f676d78828f9590959fabb0a3968a7d7063574a3d3d3c38332c231a1005000000000714212d3a4754606d7a85929fa9aa9e94897d70685d554e46443f41414045464e545c676f7c87929faca99f92867a6e6154473c31261a0e020000000000000000000000000000000713202d3a4653606d7985929faa9d918477695e52463a2d1c11060000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000013202d394653606c798689898989898989909595908989898989898986796c605346392d2013000b1825323e4b5865717e8b989f9f9f95897c6f6256493c2f23160900000d1a2733404d5a6673808d999f9f9f9386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130007131f2b36404a52585a616e7b879a978a7e71645753595b626f7b889599887c6f6255493c2f221609000916232f3c4956626f7c7b7a7a7a7b7d808590959f9a9184796c605346392d201306000815212e3b4854616e7b8794a1aeada094877a6d6154473a2e21140700101d293643505c6976838f9ca9aaa3988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938f8275695c4f4236291c0f000814212e3b4754616e7a87939393939084776a5d5144495663707c89939393938d8174675a4e4134271b0e0004101d2935404b556c788592939393877b6e6154483b2e211508000613202d394653606c7883909994897d7063584e43372b1f1306000000000000000000000000000000000000000000030d1925303b44505b666f7c87929f9e91847a6d60584e42382e231715202a36414d56616c73808d939d9a92877e736c655d554e5050505050505050504948443d352b21160b00000713202d3a4653606d798693a0aca194877b6e6154483b2e212b37434e5865717e8b98a29f9286929fa89a8e8174675d5145382c222f3c4955626f7c8895a2aca09386796d6053463a2d201307000000000006111b262f3a444f59606c77828f97a1aba3999184796d605a50453b2f261b1106030c17222d38414d57616c75818e96a1aba59f92857b6e665c50473d32281e120900000000000916222f3c4955626f7c8895a9b3a79a8d817467584e4239352f34383a40454d555c666d7a85919d9fa7b1afa396897c706356493d302f2c28211a11080000000005111e2a36424d5765727f8b98a2aea99c8f82756b60564c433c38332d2e34383c424b555f6a74818e9ba8aea3988c7f7266574d42372b1e1205000000000000000000000000000000091623303c4956636f7c8998a2aa9a8d807467574d42362a1e0a000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000a1723303d4a5663707d7d7d7d7d7d7d7d839090837d7d7d7d7d7d7d7d7063564a3d3023170a000b1825323e4b5865717e8b9393939393897c6f6256493c2f23160900000d1a2733404d5a6673808d939393939386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000b1723303c47525c64676c6d798693998c7f7266595d64686c6d7a8799978a7d7164574a3e3124170b000815222e3b4754606a6f6e6d6d6d6e70737a83909da096897c6f6356493c30231609000815212e3b4854616e7b8794a1acaca094877a6d6154473a2e21140700101d293643505c6976838f9ca9b1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292928f8275695c4f4236291c0f000814212e3b4754616e7a87949f9f9d9084776a5d5144495663707c89969f9f9a8d8174675a4e4134271b0e0006131f2c3945515d677986939f9f95887b6e6255483b2f2215080005121f2b3744505b656f7c87939d9083766a5f53473b2e2115090000000000000000000000000000000000000000000009141f28333f4a545f6a74808d96a1978d80746a60544a3f34281f141925303b44505a606c77818e939c99928b80776d675f585045414343434343433d3b38322b23190f0400000713202d3a4653606d798693a0aca194877b6e6154483b2e212e3a47535f6a7683909daa9b8e828e97a19f9285796d6053473b30252f3c4955626f7c8895a2aca09386796d6053463a2d2013070000000000000a141d28323d44505b656d7a859199a4aba0968e81746c61574d41382d22170d0b151e27333f49535e69717e8a939ea8a89e938a7e71695e544a3f352b20160c0000000000000a1723303d4a5663707d8996a3b0a6998c7f7366594c402f2924292c2f353b434b545d68707d8a959fabb7afa396897c706356493d3023201c16100800000000000714202d3a46525e697683909daaada196897d7063594f433a312b282223282c3039434e58626f7c8895a0acaa9d908477695f53463a2d211407000000000000000000000000000004111d2935414c566673808c99aaa3988a7d7063574a3d30251a0e000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000916222f3c4854606b70707070707070768390908376707070707070706b6054483c2f221609000b1825323e4b5865717e868686868686867c6f6256493c2f23160900000d1a2733404d5a66738086868686868686786d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000d1a26333f4c58646e7479797985929a8d8073675a646f747979778692988b7e7165584b3e3225180b0006131f2b38434e586062616160606163686f7c8899a4988b7e7265584b3f3225180c000815212e3b4854616e7b87949f9f9f9f94877a6d6154473a2e21140700101d293643505c6976838f9ca9aca5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2935424f5c6875828585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858275685b4f4235281c0f000814212e3b4754616e7a8794a1aa9d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e000714202d3a4753606d7a8699a4a295897c6f6256493c2f23160900030f1b27333f49535f6a75828f9b95887c6f6255493c31261a0e02000000000000000000000000000000000000000000020b17222d38424e58606d7984919e9f93877c6f665c50443b30251a141f29323e44505b656c78818d929f9f928c81796f6a625a514c433c34363636302f2c27211911070000000713202d3a4653606d798693a0aca194877b6e6154483b2e28343f4a54626e7b88959fa398897d85919ea2988a7e7164574d42362a2f3c4955626f7c8895a2aca09386796d6053463a2d201307000000000000020b162027333f49535e68707d87939fa6a89d928a7e70695e53493f33271f15121d27303944505b656e7b85929fa5aba0968e81746c61574d42382e23190d040000000000000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f2e23181c1f24293139424c56616c7683909da9b3afa396897c706356493d302316100b050000000000000814212e3b4754616e7b87959fabab9e9184786c6053463d31281f1c17181c1f27313c47535f6a7784919daaaca095887b6e6155483b2e22150600000000000000000000000000000713202c3945525d687683909da99f92867a6d6053473a2d201409000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000713202c38444f5960636363636363697683909083766963636363636360594f44382c201307000b1724313d4a56626c71797979797979796f6a6054473b2e22150800000c1926323f4b58636e737979797979797976665c5044382c1f1206000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a67748086868689979a8d8174675b6874818686868999988b7f7265584c3f3225190c00030f1b27323d464e5456555453545456606c7986939f998c807366594d4033261a0d000815212e3b4854616e7b87939393939393877a6d6154473a2e21140700101d293643505c6976838f9c9f9f9f988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2834414d59656f75797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979756f65594d4134271b0e000814212e3b4754616e7a8794a1a99d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e000714212e3a4754616d7a8794a0a396897c706356493d3023160a00000b17222d38414e58636f7c89959a8d807367574d42362a1e12050000000000000000000000000000000000000000000006111c262f3c45515d67707d8a949e999083786d60574d42362a1f15172027333f49535b666c74808b92989c938f847c716c605d554e463e362e292322201b160f07000000000713202d3a4653606d798693a0aca194877b6e6154483b2e2c3844505c6673808d9aa79f928679818e9baa9c8f8276695e52463a2d2f3c4955626f7c8895a2aca09386796d6053463a2d20130700000000000000040e17222d38414c56606b73808c949fa9a59e92857b6e655b50443c31271d18232e39424e58606c77828f97a2ada3999184796d605a50453b30261c1007000000000000000a1723303d4a5663707d8996abb5a6998d807366544a403428211e1a181f27303a44505a64707d8a97a2adafa396897c706356493d3023160a00000000000000000b1824313e4b5764717e8a97a7b1a79a8e8174665b5044382b1f160f0b0c10151f2b37434e586773808d9aa6b1a7988b7e7165584b3e2d22170b00000000000000000000000000000714212d3a4754606d7a86929fa99c8f8276675d5145392c1f1306000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000004101c27333d474f5456565656565d69768390908376695d5656565656544f473d33271c1004000915212e3a45505a62656c6c6c6c6c6c6c6260584e43382b1f130600000a17232f3b47525c63666c6c6c6c6c6c6c6c5c544a3f34281c1003000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d939393a19a8e8174675b6874818e939394a3998c7f7366594c403326190d00000a162027333f49535b606060606062666e7b8799a4988c7f7265594c3f3226190c000815212e3b4854616e7b86868686868686867a6d6154473a2e21140700101d293643505c6976828f93939393938b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925313d49545d65686c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c68655d53483d3125180c000814212e3b4754616e7a87949c9c9c9084776a5d5144495663707c89969c9c9a8d8174675a4e4134271b0e000815222e3b4855616e7b8894a1a3978a7d7064574a3d3124170a000006111b262f3c4854606b7783909d918478695f53463a2d21140700000000000000000000000000000000000000000000000a141d2935414b55616c75828f98a0958b7f72695e52463e31271d1217222d38414a545b606e737e8691969e9691867e756d675f58504840372e261c13100b0400000000000713202d3a4653606d798693a0aca194877b6e6154483b2e2d3a4653606d7985919ea99c8f82767e8a99a39f93877b6e6154483d322f3c4955626f7c8895a2aca09386796d6053463a2d201307000000000000000006111b262f3a444f59606d78828f97a1aca1978f82776c60584e43392f241f2834404b545f6a727f8c949fa9a69f92877c6f675d51483e33291e140a00000000000000000915222f3c4855626f7b8899a3afa89b8f8275665c51443a322d2b2627272628323e4653606d7985929fabafa396897c706356493d3023160a00000000000000010e1b2834414e5b6774818e9aa7b4aa978a7e7164544a3f3328190d040000040d1b26323d4a5764707d8a97aab4a79b8e81746853493f33271b0f03000000000000000000000000000b1724313e4a5764717d8a99a3a9988c7f7265554b4035291d1004000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000b16212b353d44484a4a4a4a505d69768390908376695d504a4a4a4a48443d352b21160b000005111d29343f485056586060606060606056544e463d32271b0f03000007131f2a36404a52585a606060606060605f504a42382e23170c00000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d9a9fa0a79b8e8174685b6874818e9b9fa0a6998c807366594d4033261a0d000005121f2b3744505b656c6d6c6c6d6f7278818e9ba095897c6f6356493c30231609000714202d3a46525e6976797979797979797976685e5246392d20130700101d293643505c697682868686868686867e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212c37424b54595c5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5b59534b42372c201509000814212e3b4754616e7a878f8f8f8f8f84776a5d5144495663707c898f8f8f8f8d8174675a4e4134271b0e000915222f3c4855626f7b8895a2a4978a7e7164574b3e3124180b000007111b252c38434f5966737f8c9996887b6e6155483b2e2215080000000000000000000000000000000000000000000000020b18242f3a43505a616e7b86929f9f92867b6e61594f43392f2418111b262f38424a505c636c717c848e939f98928b817a6f6a625a524940382e251c11080000000000000713202d3a4653606d798693a0aca194877b6e6154483b2e36414c5664707d8a97a1a8988c7f727a86929fa4998c7f7366594f43382f3c4955626f7c8895a2aca09386796d6053463a2d2013070000000000000000000a141d29323d44505c666e7b85929aa4a99f948c7f726a60554b40352928313a45515c666f7c86929fa6a99f948c7f736a60554b41362c21170c0200000000000000000714202d3a4753606d7a86929facab9e9285796d60564c443d3a373134333332323845515c6675828f9ca8afa396897c706356493d3023160a0000000000000005111e2a36414c566a7683909da9aea298887b6e6155483b2d221708000000000a15212e3b4854616e7b8798a2aeaa9d908377655b5044372b1f120500000000000000000000000006121e2b37424d576774818e9aaba197887c6f6255483c2f24180c00000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000050f19232b33383c3d3d3d43505d69768390908376695d50433d3d3d3c38332b23190f050000010c18222d363f454a4b535353535353534947433d342b20160a000000020e19242e3840474b4d5353535353535353443f3830261c110600000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d9aa7b3a79b8e8174685b6874818e9ba7b3a6998c807366594d4033261a0d00000613202d394653606c777979797a7b7e838e939e989083786c605346392d2013060005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c5e564c41362a1d1105000f1c2835414e5a66707679797979797979726d62564a3d3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101b26303942494d4f5252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252524f4d48423930251b0f04000714212d3a4754606d7a8283838383838174675b4e414855626f7c8283838383827f7265584c3f3225190c000916232f3c4956626f7c8995a2a5988b7e7265584b3f3225180c00010d18232d373f464956626f7c8999978a7d7164574a3e3124170b00000000000000000000000000000006060606060606060007131d28313e46535e69727f8c95a0988e81756b61554b4035291d14141d262f383f44525a616a6f7a818b92989f938e847c716c635b524a40372e231a0d0400000000000713202d3a4653606d798693a0aca194877b6e6154483b2e3946525e6875828f9ba9a196887b6f76828f9cab9e9184776b605448392f3c4955626f7c8895a2aca09386796d6053463a2d201307000000000000000000020b172028343f4a545e69707d88939fa7a69f92877c6f675d51453e332f3a434f59606d79839098a3ada2979082786c60584e433a2f241a0f0500000000000000000006131f2c3945515d677783909dabada1978a7e71685e564f484742424140403f3f3f404b546673808c99a6afa396897c706356493d3023160a000000000000000713202d3946525e687885929fabac9f9285796c605346392d201306000000000714212d3a46535e697985929facac9f9285796c605346392d2013060000000000000000000000000814212d3a47535f697884919eab9e9185786c605346392d20130700000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000005101a232c33393c3d3d3d43505d69768390908376695d50433630302f2c27211911080000000006111b242d343a3d3e464646464646463c3b38322b22190f040000000008121c262e363b3f40464646464646464638342e261e150a0000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d9aa7aca79b8e8174685b6874818e9ba7aca6998c807366594d4033261a0d00000613202d394653606c7984868687888b90959a9590867c6f665b5044382b1f120600020e1a25303b454d525f60606060606060605f524c443a3025190d01000d1926323e49545e66696c6c6c6c6c6c6c65625b51453a2e22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141e2730373d414246464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464642413d3730271e140900000713202c3945525d686d767676767676746f64584c4047535f6a6f767676767676726d62564a3e3125180b000a1723303d4a5663707d8996a3a5988c7f7265594c3f3226190c0006121e29353f49515759606d798692998c7f7366594c403326190d0000000000000000000002060a0c0d131313131313131313130c161f2a36424d57606d788390999e938a7d70675d51453c2f261b11141d262d33404850585f686d757e8690959d9691867e736d645c524940352c1f160c01000000000713202d3a4653606d798693a0aca194877b6e6154483b2e3a4754616d7a86929fab9e9184786a727f8b99a4a096897c6f63554b40353c4955626f7c8895a2aca09386796d6053463a2d20130700000000000000000000050e17232e38424d56616b73808d959fa9a3999184796d605a50453b35414c56606b73808d95a0aaa59f92857b6e665b50463d31281d12080000000000000000000004101d2935404b5566737f8c99a3aea99e91847a6d68615955534d4f4e4d4c4c4c4b4b4c5865727f8b98a5afa396897c706356493d3023160a000000000000000714212e3a4754616d7a8798a2aeaa9d918477665b5044382b1f12060000000005121e2a36424d576a7784919daaaea298877a6e6154473b2e2114080000000000000000000000000815222e3b4855616e7b8896a1ac9b8e8174655b5044372b1f120500000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000b17222c363e44494a4a4a4a505d69768390908376695d5043362a2322201c160f0800000000000009121b22292e3132393939393939392f2e2b27201910070000000000000a141c242a2f323339393939393939392c28231c150c030000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d9a9f9f9f9b8e8174685b6874818e9b9f9f9f998c807366594d4033261a0d000006121f2b3844505b6673808c9993999292908d89837c6f6a5f544a3f33281c0f03000009141f29333b42464853535353535353535346413a32281e130800000915212d38424c545a5c60606060606060585651493f34291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c151e262c3134353939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393534312c251e150c02000004111d2935414c565d6069696969696967645c53483c434e585f6269696969696965625b51463a2e221609000a1724313d4a5764707d8a97a3a6998c807366594d4033261a0d000916222e3a46515b62656c667885919a8d8174675a4e4134271b0e000000000000000000070d121619192020202020202020202020201a25313b44505c666f7c87939f9e9184796d60584e41382d22170b141c2228363e464e565d606c717b838d929f98928b80736e645b51473d31281e1308000000000713202d3a4653606d798693a0aca194877b6e6154483b37434e5865727f8c99a3a99a8d8074676e7b87939fa89a8e8174675d5145393c4955626f7c8895a2aca09386796d6053463a2d201307000000000000000000000006111c26303b444f59606d78839097a2aba0968e81746c61574d423b45525d68707d87939fa7a89d938a7e71695e544a3f342b1f160c0000000000000000000000000c18242f3b4854616e7b86929fa8ada19690827a706b65615f575c5a5a5959585858585865717e8b98a4afa396897c706356493d3023160a000000000000000915222f3c4855626f7b8895aab4a99c8f837669544a3f33281c0f0300000000020e1a2531434f5c6976828f9ca9b4aa95887b6f6255483c2f221509000000000000000000000003101c28343f4a5465727f8b98a8a49a8a7e716453493f33271b0f0300000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000004101c28333e48505557575757575d69768390908376695d5043362a1d1613100b0500000000000000000911181d2124252d2d2d2d2d2d2d23221f1b160f0700000000000000020a12191f2326272d2d2d2d2d2d2d2d1f1c17110a03000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d93939393938e8174685b6874818e93939393938c807366594d4033261a0d0000030f1c28333f4a54616e7b87939f92878583817d786f6a5f584e42382d22170b000000020d17212930363a3b4646464646464646463936302820160c02000005101b26303a42494e50535353535353534b4a453f372d23180c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c141b212528292c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c282725201b140c03000000010d1924303a444c52545c5c5c5c5c5c5b58534a41363c464e53555c5c5c5c5c5c585651493f34291e1206000b1824313e4b5764717e8a97a4a69a8d8073675a4d4034271a0d000b1825313e4a57626d7279797983909b8e8275685b4f4235281c0f00000000000000010a12191e2325262d2d2d2d2d2d2d2d2d2d2d2d2d2d28343f4a54606a74808d97a1968d80736a5f53493f33271e13111317242d343c444c525a62696e78808b92999f928c80736d63594f433a2f24190d010000000713202d3a4653606d798693a0aca194877b6e6154483b3b4754606a7784909daba197897c70636876838f9caa9f9285796d6053473b3c4955626f7c8895a2aca09386796d6053463a2d2013070000000000000000000000000a141e29323e44505c666e7b85929fa4a89d938a7e70695e544a45505a606d7a849199a4aba0968e81746c61574d42382d22190d040000000000000000000000000714202d3a46525e6974808d96a1a9a89f9590847d77726e696a6867666665656565646465717e8b98a4afa396897c706356493d3023160a000000000000000a1723303d4a5663707d8996a3b0a89b8e8275685b4f422d22170b000000000000091c2835424f5b6875828e9ba8b0a396897d7063564a3d3023170a000000000000000000000006121f2c3844505c6675828f9ba89f93877a6e6154473b2d22170b0000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000814202d3944505a6164646464646469768390908376695d5043362a1d1007040000000000000000000000060c11151718202020202020201615130f0a0400000000000000000000080e1317191a202020202020202012100c060000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a677480868686868686868174685b68748186868686868686807366594d4033261a0d0000000b17222d3846535e6976828f9b8f82787774706c655f584e463c2f261c110600000000050f171f252a2d2e39393939393939392e2d2a251e160e05000000000a141e2830383e4143464646464646463f3d3a342d241b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002091015191b1c1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1c1b18150f0902000000000008131e28323a4145475050505050504e4c4841382f343c4347485050505050504c4a463f372d23180d01000c1825323f4b5865727e8b98a5a79a8e8174675b4e4134281b0e000c1926323f4c5965727f86868689959c8f8275695c4f4236291c0f000000000000000a131c232a2f32333939393939393939393939393939392e38424e58606d7a85919e9f92877c6f655b50443a3025191d202021222a323a414550575f666d747e8792989c928c7f726b61564c4135291d13070000000713202d3a4653606d798693a0aca194877b6e6154483b404b55626f7c8995a0ab9e9184796d6064717e8b98a2a2988a7e7164574d423c4955626f7c8895a2aca09386796d6053463a2d201307000000000000000000000000020c172028343f4a545e69707d8a929da7a59e92857b6e665b504d57616c75818e96a1aba3999184796d605a50453b2f261c10070000000000000000000000000005121e2a36424d57606d79849197a1a9a79f969189837f7b78767574737372727271717171717e8b98a4afa396897c706356493d3023160a000000000000000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b060000000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a00000000000000000000000713202d3a4653606d7985929faa9d908377685e5246392d1b11060000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000a1623303c4955616c70707070707070768390908376695d5043362a1d1003000000000000000000000000000105090b0b13131313131313090806030000000000000000000000000002070a0c0d1313131313131313060300000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000d1a26333f4c58646e7479797979797979746f6459646f7479797979797979736e63574b3f3226190c00000006111c2a36424d5764717e8a9792877b6e6763605b534e463c342a1d140a000000000000050d141a1e20212d2d2d2d2d2d2d2d21201d19130c050000000000030c161e262d3235363939393939393932312e29231b120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090c0e0f1313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130f0e0c090400000000000000020c1620283035393a43434343434341403c362f262a32373b3c4343434343433f3e3a342d251b110700000c1926323f4c5965727f8c98a5a89b8e8175685b4e4235281b0f000c1926323f4c5965727f8c93939d9f9c8f8276695c504336291d1000000000000007121c252e353b3e4046464646464646464646464646464646464645525d68717e8a949f999083776c60564c41362a24292c2d2e2f30302f353e454d545c606c717d8692999f93887d70685d52453a2f24180d0100000713202d3a4653606d798693a0aca194877b6e6154483b45515d6774818d9aa7a6998d8073665c606d7a85929faa9c8f8276695e53463c4955626f7c8895a2aca09386796d6053463a2d20130700000000000000000000000000050e17232e38424d57616c74808d959faaa2978f82786c6058535e69717e8a939ea8a69f92877c6f675d51483e33291d140a0000000000000000000000000000020e1a25303b45515d676f7c8591979ea5a8a09e95908b8885838281807f7f7f7e7e7e7e7d7d808d9aa7afa396897c706356493d3023160a000000000000000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b0a4978a7d7164574a3e3124170b0000000000000000000000091623303c4956636f7c8998a2aa998d807366564c41362a1e0a000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000a1724313d4a5764707d7d7d7d7d7d7d7d8391908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0acac9f9286796c5f5346392c2013000b1723303c47525c64676c6c6c6c6c6c6c68645d535d64686c6c6c6c6c6c6c66635c52473b2f23170a000000000e1a25313b4653606d798592998c8073665c535049413c342a22190b020000000000000002090e12141520202020202020201413110d080200000000000000040c141b212628292d2d2d2d2d2d2d2524221d18110900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161e24292c2d3636363636363433302b251d20262b2e2f36363636363632312e29231b13090000000d1a2633404d596673808c99a6a89c8f8275695c4f4236291c0f000c1926323f4c5965727f8c989faaa99c8f8376695c504336291d100000000000020d19232e3740464b4c535353535353535353535353535353535353534c56616c76828f989f948b7e71685e52463d302f35393a3b3c3c3d3d3c383b424a515a626b707e87939f9a92857a6d60554b4135291d110400000713202d3a4653606d798693a0aca194877b6e6154483b4753606d7985929fab9f94887b6e62545d6774818e9ba89f93877b6e6154483d4955626f7c8895a2aca09386796d6053463a2d201307000000000000000000000000000006111c26303b45505a606d78839098a2a99f948c7f726a605b656e7b85929fa5a99f948c7f726a60554b40362c21170b0200000000000000000000000000000009141f2935414b555f6a6f7c858f939c9fa4a79f9d989892908f8d8d8c8c8b8b8b8b8a8a8a8d929da9afa396897c706356493d3023160a000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e0100000000010e1a2734414d5a6774808d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000004111d2935414c566673808c99aaa298897d706356493d3025190d000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000013202d394653606c79868a8a8a8a8a8a8a9195908376695d5043362a1d1003000000000000000000000000000000000000000000010406070d0b0a08050000000003080b0d0e0d070604000000000000000000000000000000000000000000000714202d3a4753606d7a86939f9f9f9f9286796c5f5346392c20130007131f2b36404a52585a606060606060605b59534b53595b606060606060605957524a40352a1f13070000000009141f2c3845515c67748086868685796d6053463f382f2a22191007000000000000000000000205070813131313131313130707050100000000000000000000030a1015191c1d20202020202020181815110c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021292929292929282724201a13151b1f21222929292929292525221e181109010000000d1a2734404d5a6773808d9aa6a99c8f8376695c504336291d10000c1926323f4c5965727f8c98a5b2a99c8f8376695c504336291d10000000000006121e2a3540495157596060606060606060606060606060606060606060605a616e7b86929f9e92857a6d61594f42393a4045474848494a4a48443d3940445059616c73808c96a0978d8073675d5145392c20130600000713202d3a4653606d798693a0aca194877b6e615448424d5764717e8a97a2aa9c908376695f535563707d8996a1a49a8c7f7366594f444955626f7c8895a2aca09386796d6053463a2d2013070000000000000000000000000000000a151e29333e45515c666e7b85929fa5a69f92877c6f67606c77828f97a2ada1978f82776c60584e43392f241a0f0500000000000000000000000000000000020d18242f3a434e585f6a6f7a82898f93999c9fa2aaa29f9d9b9a999998989898979797979a9da4aeafa396897c706356493d3023160a000000000000000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b000000000000000000000713202c3945525d687683909da99f9285796d6053463a2d201308000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000013202d394653606c7986939393939393939393908376695d5043362a1d10030000000000000000000000000000000000000001070d1113141a181715110c0601080f14181a1b191413100c0701000000000000000000000000000000000000000714202d3a4753606d798693939393939286796c5f5346392c201300030e19242f3840474c4d535353535353534e4d4841484d4e535353535353534d4b4740382e24190e020000000004101c2834404b55646e74797979786d665c5044382d261d18100700000000000000000000000000000000000000000000000000000000000000000000000000000005090d0f10131313131313130c0b090501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1113141d1d1d1d1d1d1b1a18140f080a0f1215151d1d1d1d1d1d191816120d0700000000000e1b2734414e5a6774818d9aa7aa9d9083776a5d5044372a1d11000c1926323f4c5965727f8c98a5aca99c8f8376695c504336291d1000000000000a16232f3b46515b63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b69727f8c95a0978e81746b60544b40434b51535455565756554f473d343f47505a606d7884919e9f92857a6d6054473a2d21140700000713202d3a4653606d798693a0aca194877b6e61544846535e6976828f9ca9a2988b7e7165574d53606c7884919eac9e9184776b6054484955626f7c8895a2aca09386796d6053463a2d201307000000000000000000000000000000030c17212834404b545f69717e8a929da7a3999184796d6a727f8c949fa9a49e92857b6e655b50463c31281d120800000000000000000000000000000000000007131d28313c464e585f686d757c82878b8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abacb5afa396897c706356493d3023160a000000000000000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b0e0100000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a000000000000000000000714212d3a4754606d7a86929fa89c8f8275665c5145382c1f1306000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000013202d394653606c7986868686868686868686868276695d5043362a1d1003000000000000000000000000000000000000040c13181d2020272524211d17100b131a2024272726201f1c18120b030000000000000000000000000000000000000714202d3a4753606d798686868686868687796c5f5346392c2013000008121d262f363c3f414646464646464641403c373c404146464646464646403f3b352e261c12070000000000000c18232e3943525c64676c6c6c6b605c544a3f34281b140b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407071010101010100e0d0b08030000030608091010101010100c0b0906010000000000000f1b2835424e5b6875818e9b9f9f9d9184776a5e5144372b1e11000c1926323f4c5965727f8c989f9f9f9c8f8376695c504336291d1000000000000c1925323e4b57636d737979797979797979797979797979797979797979797978736d7883919a9e93897d70665c51454b555d60616263636360594f4438353e44505c66727f8b98a2988a7e7164574b3e3124180b00000713202d3a4653606d798693a0aca194877b6e6154484953616e7b87939fac9f92867a6d605447505b6573808c99a6a096897c6f63554b4955626f7c8895a2aca09386796d6053463a2d20130700000000000000000000000000000000050f18232e39424d57616c74818e95a0aaa0968e81746f7c86929fa6a79d928a7d70695e53493f342b1f160c00000000000000000000000000000000000000010c161f2a343c464e565e616b6f757b7f8285888a8c8d8f8f9090919191919292929292999ba3acafa396897c706356493d3023160a000000000000000a1723303d4a5663707d8996a3b0a89b8e8175685b4e4235281b090000000000020f1b2835424e5b6875818e9ba8b0a3968a7d7063574a3d3024170a000000000000000000000b1724313e4a5764717d8a99a3a8988b7f7265544b4034281c1004000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000013202d3946535f6c7679797979797979797979797670665a4e4235291c0f030000000000000000000000000000000003090d161d24292c2d3431302d28221b141d252b303334332d2c29231d150d09030000000000000000000000000000000006131f2c3845515c67767979797979797979756a5e5245382c1f120000010b141d242b303334393939393939393534302b3034353939393939393933322f2a241c130a0000000000000007121d2730404a52585a6060605e53504a42382e23170a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2935424f5c6875818f939393939184786b5e5245382b1f12000c1926323f4c5965727f8c93939393938f8376695c504336291d1000000000000d192633404c5966737f868686868686868686868686868686868686868686868578666f7d88939f9d9184796d60574d515d676d6e6f6f70706b6055483d32343f4a54616e7b8899a49a8d8174675a4e4134271b0e01000713202d3a4653606d798693a0aca194877b6e615448505b6573808c9aa4a89b8e8174675d51454953616e7b88949fa89a8e8174675d514955626f7c8895a2aca09386796d6053463a2d201307000000000000000000000000000000000007121d27303b45505a606d79839098a2a89d938a7e79839098a3aaa0958d80746c61564d41382d22190d040000000000000000000000000000000000000000040d18222a343c444c52596063696e7276797b7d7f81828383848484848585858585868b909ba7afa396897c706356493d3023160a000000000000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4330251a0e0200000000030f1c2936424f5c6975828f9ca8b5ab95897c6f6256493c2f23160900000000000000000006121e2b37424d576774818e9aaba196887b6e6255483b2e23180c00000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000121e2b37434f5a646c6c6c6c6c6c6c6c6c6c6c6c69665e544a3e32261a0d01000000000000000000000000000000060e151a1f282f35393a403e3d39342d241d262f363c4041403a38342f271f1a140d0500000000000000000000000000000004101c2934404b555c6c6c6c6c6c6c6c6c6c6a63594e42362a1d11000000020b12191f2326272d2d2d2d2d2d2d282724202427282d2d2d2d2d2d2d2626231f19120a0100000000000000000b151e2f3840474c4d5353535246443f3830261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c69768286868686868685786c5f5245392c1f12000c1926323f4c5965727f868686868686868276695c504336291d1000000000000d192633404c5966737f8c93939393939393939393939393939393939393939185786b6b74818e97a0968c7f73695f5353606d797b7b7c7d7d7063584e4338313a4653606d7986939f9c8f8276695c4f4336291c1003000713202d3a4653606d798693a0aca194877b6e61544853606c7884919eaca096897c7063554b4146535f697683909caa9f92857a6d60534955626f7c8895a2aca09386796d6053463a2d2013070000000000000000000000000000000000000b151e2a333e45515c676e7b86929fa5a59e9285818e95a0aaa3989183796d60594f443b2f261b1007000000000000000000000000000000000000000000050e171e252a323a41464f54575e6165666d6f717374757676777777787878787879797e8b98a4afa396897c706356493d3023160a000000000000000814212e3b4754616e7b8798a3aeaa9d9084776a574d42362a1e12050000000005111d2935414c566a7783909daaafa399877b6e6154483b2e2115080000000000000000000814212d3a47535f697784919eaa9e9184786a5f53473a2e1d120700000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000f1b27333e49525a5f60606060606060606060605d5a544c43382d22160a000000000000000000000000000000060f1820262b313a4045474d4b49453e362d222f3841484c4e4c47454039312a251f170f050000000000000000000000000000000c18232f39434b515f606060606060605f5e5951473d31261a0e0000000001080e13171a1a202020202020201b1a1814181a1b202020202020201a1917130e0700000000000000000000030c1d262f363c3f41464646453a38342e261e150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835414e5a6670767979797979797873695d5144382b1e12000b1825313e4a57626d72797979797979797670665a4e4235291c0f00000000000d192633404c5966737f8c999999999999999da0a7a9a29f999999999999999185786b616d7a85929e9f92867b6e615a5c6976828788898a85786a605448423f404653606d798699a49c8f8376695c504336291d1003000713202d3a4653606d798693a0aca194877b6e61544c5663707d8996a1ab9e9184786c6053463a424d5765717e8b98a2a2988b7e7164574d55626f7c8895a2aca09386796d6053463a2d201307000000000000000000000000000000000000030c18212934404b555f69717e8b939ea7a297928e939da7a69f92867c6f675d51473e32291d140a000000000000000000000000000000000000000000020c1720293036393a3e3f44484d5354545c606264666768696a6a6a6b6b6b6b6c6c6c717e8b98a4afa396897c706356493d3023160a000000000000000713202d3a4653606d7986929facab9f928578695e52463a2d201407000000000713202d3946525d687885929eabac9f9286796d6053463a2d2013070000000000000000000815222e3b4855616e7b8896a0ab9a8e817467584e43372b1f0b0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000a16212c3740494f535353535353535353535353504e4a433a31271c11050000000000000000000000000000030e18212a31373e434b51535a585650483e322b34414a53585a5953514b433e36312921170d03000000000000000000000000000007121d2731394045535353535353535353524e473f352b20150900000000000003070b0d0e131313131313130e0e0c080c0e0e131313131313130d0c0a07020000000000000000000000000b141d242b303334393939382d2c28231c150c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1926323e49545e66696c6c6c6c6c6c6c6961574c4135281c10000916222e3a46515b62656c6c6c6c6c6c6c69665e54493e3226190d00000000000d192633404c5966737f8c8c8c8c8c8c8c8c9095a0a297928c8c8c8c8c8c8c8c85786b5d68717e8b949f988f82766c61566673808d959697897c6f625b534d4c4d4f58626f7c8895ab9b8e8275685b4f4235281c0f02000713202d3a4653606d798693a0aca194877b6e6154525d6875818e9ba8a4998c7f73655b5044373b4754606d7a86929faa9c8f8276695e5355626f7c8895a2aca09386796d6053463a2d20130700000000000000000000000000000000000000060f18232f39434d57616c74818e95a0a9a29e9b9da5a99e948b7f726a5f554b40352c20170b0200000000000000000000000000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f65717e8b98a4afa396897c706356493d3023160a0000000000000006121f2b3844505c667784909daaaea298877b6e6154483b2e21150a000000000714212e3a4754616d7a8797a1adaa9e918477665c5145382c1f1306000000000000000003101c28343f4a5465727e8b98a8a4998a7d7164574a3e31261a0f0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000005101b252e373e4346464646464646464646464643423e3831281f150a0000000000000000000000000000000915202a333c424750555d606764615a50443a323d46535c646766605c554f46423b33291f14090000000000000000000000000000010b151f272f343846464646464646464645423d352d24190f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b131a1f2426272d2d2d2b201f1c17110a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212d38424c545a5c6060606060605f5d574f463b3024180c0006121e29353f49515759606060606060605c5a544c42382d21160a0000000000091623303c4956636f7d808080808080808083909d9f928580808080808080807f726556626c76828f989f948a7e71685d626f7c89959f9c8f82756d615e57595959616a73808d99a8998d8073665a4d4033271a0d00000713202d3a4653606d798693a0aca194877b6e615454606d7a86929fac9f93877b6e6153493f333945515d6775818e9ba89f93877b6e615355626f7c8895a2aca09386796d6053463a2d201307000000000000000000000000000000000000000007121d27313c45505a606d79839198a2adaba7a9ada1978f82776c60584e43392f231a0e05000000000000000000000000000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525965727f8c98a5afa396897c706356493d3023160a0000000000000003101c28343f4a546875818e9ba8b3aa978a7d7064574a3d32271b0d04000001081623303d495663707c8996a9b3a89c8f827569544b4034281c1004000000000000000006121f2c3844505c6675828f9ba89f93867a6d6054473a2d2114090000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000009131c252c33373939393939393939393939393635322d271f160d030000000000000000000000000000020e1a26313c454e535a61676d73716c61564c4137434e58646e74736d676159534d453b31251a0e020000000000000000000000000000030d151d23292c3939393939393939393836312b241b120800000000000000000000000104060712131313130908060300000000000000000000000000000000000000000000000000000001080e13171a1a2020201f1312100c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101b26303a42494e4f53535353535352514c463d342a1f130800010d18232d373f464a4c53535353535353504e49423a31261c100500000000000915222f3b4854606b6f7373737373737374818e9b9e91847873737373737373726d62575a626e7b86929f9e91857a6d60606a7783909a9e948c7f756e69676666676b707c86929fa096897c6f6356493c3023160900000713202d3a4653606d798693a0aca194877b6e61545865727e8b98a3a99c8f8276695e5341382d35414b5563707d8996a1a49a8c7f73655b55626f7c8895a2aca09386796d6053463a2d2013070000000000000000000000000000000000000000010b151f2a333e45515d676f7c86929facb8b4b8ab9e92857a6d655b50463c31271d11080000000000000000000000000000000000000000000005111d2a36414c565e6164656768696a6b68655d534840414243434444444545454d596673808c99a6afa295897c6f6256493c2f23160900000000000000000b17232e3f4b5865727e8b98a8b2a69a8d807367584e43372b1f15100c090e131e2a36414c5666727f8c99a5b3aa998c7f7366594c402e23180c0000000000000000000713202d3a4653606d7985929fa99d908376685d5245392c2013070000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000010a131b21272b2d2d2d2d2d2d2d2d2d2d2d2d2a2926221c150d0400000000000000000000000000000006121e2b37424e575f626c7179807e71685d52453c4754606a74817f79706b615e574d42362a1e1205000000000000000000000000000000030b12181c1f2d2d2d2d2d2d2d2d2c2c2a26201912090000000000000000000001070d1013141e202020201615130f0a0400000000000000000000000000000000000000000000000000000003070b0d0e131313120706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e2830383e41434646464646464544413b342b22180d02000007111b252d353a3e3f4646464646464643423e3831281f150a0000000000000713202c38444f5960636666666666666874818e9b9e9184786b66666666666665625b51535f6973808c96a0978d80746a6063707d88939f9c918c817b7673727374777d859298a29e9184786d6053463a2d20130700000713202d3a4653606d798693a0aca194877b6e61545f6a7683909daaa2978a7e7164574d422f262f3a4653606c7884919eac9e9184786c6055626f7c8895a2aca09386796d6053463a2d201307000000000000000000000000000000000000000000030d18212935404b555f6a737f8c99a6b2bdb0a3968a7d70685e53493f342a1f150b00000000000000000000000000000000000000000000000713202d3946525e686d71727374767778756f65594d3d323536373737383835404b556774818e9aa7b2a995887b6e6255483b2f22150800000000000000000615222f3c4855626f7b8896a0acaa9d9184776a6054473c31271f1c181b1a1e242d3946525e6876838f9ca9aea298897c706356493d30231607000000000000000000091623303c4956636f7c8998a2aa998c807366564c4135291d11040000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000010910161b1e2020202020202020202020201d1c1a16110a03000000000000000000000000000000000814212e3a47535f6a6e767e848d857a6d60584e43505a626f7c888c847d756e695e53463a2d2114070000000000000000000000000000000001070c10132020202020202020201f1d1a150f0800000000000000000000040c12181d20202b2d2d2d2d22211f1b150e070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c161e262d323536393939393939393835302a22191006000000000a131b23292e3132393939393939393635322d261f160d03000000000000030f1b27323d474f545659595959595b6874818e9b9e9184786b5e5959595959595751494d57606d7984919e9f93877c6f66606b73808d939f9c938e8783807f8081848a9297a19f928a7d70665c5044382b1f120600000713202d3a4653606d798693a0aca194877b6e6154626f7c88959fab9f9285796d6053473b31202b3844505b6673808d99a7a096897c706355626f7c8895a2aca09386796d6053463a2d20130700000000000000000000000000000000000000000007121d27313c46505a606d7984919eaab7b9b1a4978b7e71695f554b40342820170b02000000000000000000000000000000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372e2c2823282c2f3945515d677783909daaada196877a6d6054473a2d21140700000000000000000815212e3a47535f6a7784919eabaca095887c6f62584e4339312c282327262b2f35414c56616d7a86929facab9f9285796d6053463a2d201307000000000000000004111d2935414c566673808c99aaa298897c6f6356493c3024190d010000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000050a0f12131313131313131313131313100f0d0a050000000000000000000000000000000000000815222f3b4855626e7c828a91968d80746a5f534b55616c76839096918a827b6e6154483b2e21150800000000000000000000000000000000000000040613131313131313131312110e090400000000000000000000040d161d24292c2d38393939392f2e2b2620181007000000000000000000000004090d0f0f131313131313130d0c0a060200000000000000000000000105090b0b13131313100f0d0905000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c141b212628292d2d2d2d2d2d2c2b28241f1810070000000000010a11181e2225262d2d2d2d2d2d2d292926211c150d0400000000000000000b16212b353d4448494d4d4d4d4e5b6874818e9b9e9184786b5e514d4d4d4d4c4a463f45515c67707d89939e999083786d60606c77808c92989f9992908d8c8c8e91969e9f99928c80736b61544a3f34281c100300000713202d3a4653606d798693a0aca194877b6e615c6673808d9aa7a79a8d8174675c5145382c1f28333f4a54626e7b88959fa89b8e8174675d626f7c8895a2aca09386796d6053463a2d2013070000000000000000000000000000000000000000060f18242f39434e58626c75818e96a0acafacafac9f92867b6e675c51453e32291d140a000000000000000000000000000000000000000000000815212e3b4854616e7b878c8d8e8f909184786a6054473f3a38342e34383a404b55606d7a86929facab9e918578675d5145392c201306000000000000000006121f2b37434e586673808d99a3afa89b8e81756a5f554b433c38342e3431373a4145525d68737f8c99a3afa79b8e8175675c5145382c1f130600000000000000000713202c3945525d687683909da99f9285796d6053463a2d201308000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d949e9f92877c6f625a515c67717e8a949f9e93867d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f282f35393a45464646463c3b37322a22180e04000000000000000002091015191b1c20202020202020191916120d07000000000000000000060c11151718202020201d1c1915100a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1015191c1c2020202020201f1e1c18130d060000000000000000070d12161819202020202020201d1c1916100a03000000000000000000040f19232b32383b3c404040414e5b6874818e9b9e9184786b5e51454040403f3e3a34404b55606b75818e97a0958c7f72695e656c777f868e92999b9c9a99999a9d9b99938f867f736e63594f42382e23170b0000000713202d3a4653606d798693a0aca194877b6e61606d7985929eaba095897c6f62554b4034291c222d3847535f697683909daa9f92857a6d60626f7c8895a2aca09386796d6053463a2d20130700000000000000000000000000000000000000030c18212935404b555f6a717e8b939ea8aba39fa3aba2989083796d60594f443b2f261c11060000000000000000000000000000000000000000000714212d3a46535e697884919a9b9c9d96897c6f625a504a464440434044464b515c67717e8b98a3aeaa9b8f827568554b4135291d11040000000000000000030f1a26313c4854616e7b87929faaac9f92877c6f675d554e46454041414142474c515b606d7a85929eabaca095897d7063554b4034281c100400000000000000000714212d3a4754606d7a86929fa89b8f8275665c5044382c1f1206000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000000000000000000000000004080a0a131313130d0c0a070200000000000000000000000713202d3a4653606d78839097a2999083766c6156606d7984919e9f958d80736b6155483c2f23160900000000000000000002070c0f11121313130e0706040000000000000000000000000000000000000000000007121d28313940454751535353534947433c342a20150a00000000000000030c141b212528292d2d2d2d2d2d2d2625231e19120a010000000000000911181d2124252d2d2d2d292826211b140c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005090d0f101313131313131212100c0802000000000000000000000106090b0c13131313131313100f0d0a0500000000000000000000000007111921272c2f30333335414e5b6874818e9b9e9184786b5e514538333332312e2e39434f59616d7a85929f9f92867b6e615b656c727b81868b8e9091929291908e8b87827c726d635c52473e30261c11060000000713202d3a4653606d798693a0aca194877b6e6164707d8a97a1ab9d9083776a605443392f23181c2b37424d5765727e8b98a3a2988b7e7164626f7c8895a2aca09386796d6053463a2d201307000000000000000000000000000000000000000b151e2a333c45515d676f7c86929fa5a79f999299a3aaa0958d80746b61564d42382d22170d04000000000000000000000000000000000000000005121e2a36424d576774818e9aa6a9a89b8e81756c605c5453514a504a5153555d606d7983919daaaea2988b7e7165584b3e2f24180d010000000000000000000a15212d3a46535e6975818e98a3aea3999083796d675f5853514b4e4e4e4d53555d606d74818e97a1ada69d9083776b605443392e23180c0000000000000000000b1724313e4a5764717d8a99a3a8988b7e7265544a3f34281c1003000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000000000000000000000050b101416171f2020201a1917130e070000000000000000000006131f2c3845515c666e7b85929a9f948b7e71675e68737f8c96a1989083796d60594f44382c2014070000000000000000060d13181c1e1f2020201b1313100c0700000000000000000000000000000000000000010d18242f39434b51535e6060606055534e463c32261b0f040000000000020c151e262c3135363939393939393933322f2a231c130a000000000009121b22292e3132393939393635322d261e160c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b202223262835414e5b6874818e9b9e9184786b5e5145382b2626251d27303d46525e68717e8b949f988f82756c615b606a6e757a7e81838585868584817f7b756f6a635b524940352c1e140a000000000713202d3a4653606d798693a0aca194877b6e616875828f9ca9a3998c7f7265584e4331271d121a26313c4754606d7a86929faa9c8f837669626f7c8895a2aca09386796d6053463a2d20130700000000000000000000000000000000000007121d27303c45505a606d79839198a2aa9f9590869299a4a79d928a7d70695e544a3f332820160c0100000000000000000000000000000000000000020e1a25313c4855626f7c88949faaaa9e938a7e726d6662605c545d545c6062676d75808d95a0aca99f92867a6d6154473a2e2114070000000000000000000005121e2a36424d57616e7b86929fa6aba0958f82796f6a63605c555b5a5b575f62676d747f8c939ea9a99f948a7d7064594f4430271d1207000000000000000005121e2b37424d576774818e9aaba096887b6e6155483b2e23170c00000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000810171c2023242c2d2d2d2726231f19120a01000000000000000004101c2834404b545e69707d88939f9e91857a6d616e7b86929f9f92867b6e665c51473e33281c1004000000000000000710171e24282b2c2d2d2d28201f1c18120b03000000000000000000000000000000000004101d2935404b555d606b6c6c6c6c625f584e43372b21160a000000000009141e2730373d414246464646464646403e3b352e251c120700000006111b242d343a3d3e4646464643413e3830281e1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b0f1315161b2835414e5b6874818e9b9e9184786b5e5145382b1e1918151e2a36414c56606c778390999e938a7d70675d575f62686e717477787979787775726e69625f58514940372e231a0c02000000000713202d3a4653606d798693a0aca194877b6e616e7a86929fac9f92867a6d6154473d3221150b15202c3945525d6875818e9ba99f93877b6e626f7c8895a2aca09386796d6053463a2d2013070000000000000000000000000000000000060f18232e39434d57616c74818e95a0aaa29890837d87939fa7a49e92857b6e665b50443d32281e130800000000000000000000000000000000000000000915212e3b47535f6a76828f98a2aea59f92877f78726f6d666a696a666d6f7379818d929da7aca2978d8074685d5246392d20130700000000000000000000020e1a25313b46535f69737f8c949fa7a79f948f837c75706d676867676869696e737a818c919ca5aaa1978f82766c6155473d331e150b0000000000000000000714212d3a46535f697784919eaa9e918477695f53463a2d1c110600000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000000000000000006111a22282d30313939393933322f2a241c140a0000000000000000000c18232e39424d57616b73808d949f978d80746a74818e989d938a7e71695f544b40352c21160b0000000000000006101922292f343738393939352d2c28231d150c05000000000000000000000000000000000613202c3945515d676d78797979796f6a5f53473d32271b0f0100000004101b26303942494d4f535353535353534c4b4640372e23190d0200010c18222d363f454a4b53535353504e49423a30231a0f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000307090e1b2835414e5b6874818e9b9e9184786b5e5145382b1e120b0c1925303a44505b656f7c87929f9e9184796d605853565e6165686a6b6c6c6b6a6865615e57534e463f372e251c110800000000000713202d3a4653606d798693a0aca194877b6e66727f8c99a3a99b8f8275685e5246392d201304111d2935414c5663707d8a97a1a49a8c8073656f7c8895a2aca09386796d6053463a2d20130700000000000000000000000000000000030c17212834404b555f69717e8a939da7a59f92867b73808d95a0aaa1978f82786c60594f443a2f241910060000000000000000000000000000000000000006121f2b37434e58626f7c86929fa4aca399928b837f7b797777767777797c80858e939da4aea49a92857a6d61564c4135291d1105000000000000000000000009141f2a36424d57606d78828f959fa7a69f959087817d79777574747476787b80858e939ca3aaa29892857b6e615a5044352b210c030000000000000000000815222e3b4855616e7b8896a0ab9a8d817467574d42362a1e0a0000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000000000000030a1117242c33393c3d46464646403f3b352e261c120700000000000000050c121d27303b454f59606d788290979f92877c6f7c87939f958e81746c61574d42392e231a110c060000000000020d17222b333b404445464646413a38342e271e170e060000000000000000000000000000000714202d3a4753606d7a84868686877c6f62594f44382c1d12070000000915212c37424c545a5c606060606060605957514940352a1e12060005111d29343f48505658606060605c5a544c42352b21160b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1b2835414e5b6874818e9b9e9184786b5e5145382b1e120008131e27333f49535f6a73808d96a0968d80736a5f534c5254585b5d5e5f5f5e5d5b5854524d47433c342d251c130a0000000000000713202d3a4653606d798693a0aca194877b6e6a7784919daba1978a7d7064564c41362a1e11050d19242f3a4653606d7984919eac9e9184786c6f7c8895a2aca09386796d6053463a2d201307000000000000000000000000000000000b151e29333b45515c676e7b86929fa5a89e938b7e716d79839098a3a99f948c7f736b60564c41352922180d03000000000000000000000000000000000000030f1b26323c47535f6a717e8b939aa2aaa39f95918c8886848483838485898c92979ea5aaa39f93887d70685e52443a3024190d010000000000000000000000030e1a26313b44505c666d7a8390959da5a7a099938e898683828181818385888c92979da5a7a09892867d70695e52483e3323190f00000000000000000003101c28343f4a5465727e8b98a8a3998a7d7064574a3d31261a0e0200000000000000000000000004111e2a3744515d6a7784909d9f9f9c8f8376695c504336291d1003000000000000000000000000000000000000000000040c151c2328363e44494a525353534d4b4740382e24190e0200000000000810171d1e252a333e44505c666e7b85929a9990827982909a989183796d605a50453c302a251e1d1710090000000007131e29333d454c50525353534e4645403930292018100800000000000000000000000000000613202c3945515d67707d8a949a8f82766b605448392f24180c0000000d1925313d49545e65696c6c6c6c6c6c6c66635b51463b2f23160a000915212e3a45505a62656c6c6c6c69665e54473d33271c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205070e1b2835414e5b6874818e9b9e9184786b5e5145382b1e1205020b17222d38414e58606d7984919e9f92877c6f655b5046474b4e5152525352514e4c4846423b37312a221c130a010000000000000713202d3a4653606d798693a0aca194877a6e6f7c8995a0ab9e9185796d6053463a3025190d0108131f2b3844505c6673808d9aa7a196897d706f7c8895a2aca09386796d6053463a2d20130700000000000000000000000000000007121c27303b45505a606d79839098a2aba0968e81756c666e7c86929fa6a69f92877c6f685d52453f342a1f150b010000000000000000000000000000000000000a15202b37434e58616c727f8892989fa3a7a09d99999291909090919298999ea2a9a69f98928b7f726c61564c4132281e13080000000000000000000000000009141f28343f4a545e686d7a838e929d9fa7a49f9b9892908e8e8d8e8f9197999ea1a9a29e9590867d706b60574d42362c22110800000000000000000006121f2c3844505c6675828f9ba89f92867a6d6054473a2d2114090000000000000000000000000004111e2a3744515d6a778490939393938f8376695c504336291d10030000000000000000000000000000000000000000060d161e262e343f485055575f6060605a57524a40352a1f13070000000008121a22282d3036393a3f4a545e69707d88939f948e828e949f92867c6f675d51483e3a3936302d28221b12090000000c18242f3b454f575d5f6060605b53514b423a322a221a11070000000000000000000000000004101d2935404b55616c75828f9c94897c6f63554b4035291d100400000f1b2835414d5a65707579797979797979736d63574b3e3225190c000b1724313d4a56626d7179797979767066594f44382c20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e1114141b2835414e5b6874818e9b9e9184786b5e5145382b1e12050006111b262f3c45515d67707d8a939e999083776c60564c413e41444546464544423f3b3a36302b262018100a01000000000000000713202d3a4653606d798693a0aca094877a6d74818d9aa8a79a8d8073665c504438291e13080003101c28343f4a54626e7b88959fa89b8e81746f7c8895a2aca09386796d6053463a2d2013070000000000000000000000000000050f18232e39424d57616c74808d95a0aaa39991847a6d605f6a727f8b949fa9a39991847a6d605a50463c31271d1207000000000000000000000000000000000000040f1a26313c46505a636d727e868e92999da0a8aba39f9e9d9c9d9e9fa2aaaaa29f9b948f867e726d62594f443a3020160c0200000000000000000000000000030b17232e38424c565e686d79818990959b9fa2aaa39f9d9b9a9a9b9c9ea1a9a49f9c97928c837b706b60594f453b30241a10000000000000000000000713202d3a4653606d7985929fa99c908376675d5145392c2013060000000000000000000000000004111e2a3744515d6a77838686868686868276695c504336291d100300000000000000000000000000000000000000070f18202830383f44515a61646c6c6c6c66635c52473b2f23170a00000005101a242c33393a4146474a4d5357606b73808c949e938e939e938b7f726a5f55534d4b4746413a39342c241b100600000f1c2834404c5761696b6c6c6c68605c544c443c342c2318120b030000000000000000000000010d18242f3943505a626f7c89949b8e8175675d5145392c1f130600000f1c2936424f5c697582868686868686867f7366594c403326190d000b1825323e4b5865717e8686868682766b6054483c32271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191e2021272835414e5b6874818e9b9e9184786b5e5145382b1e120500000a141d2935404b55616b75818e989f958b7e72685e52463d3037383939383735322e2d2a251f1a150e060000000000000000000713202d3a4653606d798693a0aca093877a6d7985919eab9f95887b6e62544a3f3428170d0200000b17232e3847535f6a7783909dab9f9285796f7b8895a2aca09386796d6053463a2d20130700000000000000000000000000020c17212834404a545f69717e8a929da7a69f92877c6f675d58606c77828f97a1aba1968e81756d62584e43392f23180f050000000000000000000000000000000000000a15202a343e48515b636c717b81878c919597999c9d9e9e9f9f9f9e9d9b9998928e89827b716c625b51473e32281e0e0400000000000000000000000000000006111c26303a444c565e676d747c83898e9298999b9d9e9f9f9f9f9e9d9b999993908b857f786e6960594f473d33291f120800000000000000000000091623303c4956636f7c8998a2a9998c7f7366554b4135291d1104000000000000000000000000020d17222b36424f5b6771777979797979797670665a4e4235291c0f030000000000000000000000000000000000000810192129323a424a505b636c7079797979736e63574b3f3226190c0000000c17222c363e45494c525457575f6165656d78828f9c9e9b9e9b8f82756d6865615e575754524c49453e362c22170c0000111e2b3744505d697378797979746d665e564e463e3528231c150c04000000000000000000000007121d28313e4754606a7683909c9285796d6053473a2d20140700000f1c2936424f5c6975828f93939393938c7f7366594c403326190d000613202d394653606c7883909994897d7063584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171f252a2d2e342d35414e5b6874818e9b9e9184786b5e5145382b1e12050000020b18242f39434f59616e7b85929f9f92857a6e61594f43392e232c2c2b2a282521201e1a140f0a03000000000000000000000713202d3a4653606d798693a0aca093867a6f7c8997a1aa9d9083766a5f5342382e23170500000006111c2b37434e5865727f8b99a3a2988a7e717b8895a1aca09386796d6053463a2d201307000000000000000000000000000a141e29333b44515c666e7b85929fa4a99f948c7f726a6055505b656e7a85929ea5a89e938b7e716a5f554b40342921170c020000000000000000000000000000000000030e18222d363f49515a61696e747b8084888b8d8f90919292929291908e8c8985817c766e69615a51493f352c20160c00000000000000000000000000000000000a141e28323a444c555c606b6f777d8185898c8e90919292929291908f8d8a86837e79726d665f574f473d352b20170d0000000000000000000004111d2935414c566673808c99aaa197897c6f6256493c2f24180d0100000000000000000000000007131e29333d454c555f676a6c6c6c6c6c6c69665e54493e3226190d01000000000000000000000000000000000007121a222b333b444c545c606d727e868686868073665a4d4033271a0d000005111d28333e485055565e616467696e7175787c808d99a6a8a6998c807c7875716e696764615e565550483e34281d110500121f2c3845525f6b788586868681786d685f584f473f342e271e160e0600000000000000000000010c161f2b37434e5864717e8a99988a7e7164574a3e3124170700000f1c2936424f5c6975828f9c9f9f9f998c7f7366594c403326190d0005121f2b3744505b656f7c87939d9083776a6054473b2e221509000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202930363a3b413a38414e5b6874818e9b9e9184786b5e5145382b1e120500000007121d27313e46525e68727f8b959f978e81756b60554b4034281f201f1e1b191514120e09030000000000000000000000000713202d3a4653606d798693a0aca093867974808d9aa9a3988b7e7265584e4330261c1106000000000f1a26313c4754616d7a86929faa9b8f82757b8894a1aca09386796d6053463a2d20130700000000000000000000000006111c26303b454f59606d78839097a2ada1978f82786c60584e49535e68707e8a939da8a59f92867c6f675c51453e33291e140a00000000000000000000000000000000000006101b242e373f4850575e61696e73777b7e80828484858686858583827f7d79756f6b625f5750483f372d231a0e040000000000000000000000000000000000020c162029323a434b515960636b7075797c7f82838485868685858382807d7a76726d67605c544d453d352b23190e05000000000000000000000713202c3945525d687683909da99e9285796c605346392d201307000000000000000000000000000c18242f3b454f575d5f60606060606060605c5a544c42382d21160a00000000000000000000000000000000030b1218242c343d454d565d666d747f87929892857b6e6154473b2e21140800000814212d3945505a6164686d7174777b7e8185888d929ca8b3a89c928c8885817e7b7774716d6864615a5045392d211508000c1926323f4c5965727f8c93938e827a6f6a615951444039302820180f0700000000000000000000040d1b27323d4754606d7a86929a8d8174675a4e412f24180d01000f1c2936424f5c6975828f9ca8aca6998c7f7366594c403326190d00030f1b27333f49535f6a75828f9b95887c6f6255493c31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29323b4246474d4745404e5b6874818e9b9e9184786b5e5145382b1e1205000000010b151f2a36414d56606c788390999e93897d70675c51453c31261a0e110f0c0807050200000000000000000000000000000713202d3a4653606d798693a0afa39986797884919eab9f92867a6d6054473c3121150a00000000000a15202d3946525d6875828f9ba99f92867a7b8894a1aca09386796d6053463a2d2013070000000000000000000000050e17232e38424d57616b73808d959fa9a49e92857b6e665b5046414d56616c74818e96a0aba2989083796d605a50453b30261c110600000000000000000000000000000000000009121c25333d45454d52575f62666a6e71737577787879797978777573706d67636059534d453e362d251b110800000000000000000000000000000000000000050e1720333d454c504f54596063676d70727576787879797878777573706d6865605d55504a423c332b2319110700000000000000000000000714212d3a4754606d7a86929fa89b8e8175665b5044382b1f1206000000000000000000000000000f1c2834404c5761696b6c6c6c68605c544c504e49423a31261c1005000000000000000000000000000000050c151d2328363e464f575f686d78818c939993877d70695e52463a2d20140700000a1723303d4955616c71777a7e8184888b8e9297999e9ea1a9a39f9e9997918e8b8784817e7a77716c6155493d3024170a000b1825313e4a56626d75818f969490847c706b625b514a423a322a2119110600000000000000000915202b353f4745515d677683909c9083766a554b4035291d1004000f1c2936424f5c6975828f9ca8b2a6998c7f7366594c403326190d00000b17222d38414e58636f7c89959a8d807367574d42372b1e120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303b444d52545a53514b4e5b6874818e9b9e9184786b5e5145382b1e120500000000030d1925303b44505b666f7c87929f9e9184796d60574d42372b20160c02000000000000000000000000000000000000000713202d3a4653606d798693a0ac9f9286797c8996a1a89b8e8175685d5245392c201303000000000005111d2935414c5663707d8a97a1a2988a7d7b8794a1aca09386796d6053463a2d20130700000000000000000000020b172028343f4a545e69707d8a929da7a79d928a7d70695e544a3f3b44505a606d79849199a3aaa0958d80746c61574d42382e23170e0400000000000000000000000000000000000c18242f3a454f575c5f606059575f626466696a6b6b6c6c6c6b6a686663605d55544f47423c332d241b130900000000000000000000000000000000000000000c18242f3a454f575c5f606059555c606366686a6b6c6c6c6c6b6a686664615e5653514b443f38302a211911080000000000000000000000000a1724313d4a5764707d8a99a3a7988b7e7165544a3f33281c0f0300000000000000000000000000111e2b3744505d697378797979746d665e564e463e3528231c150c040000000000000000000000000000060e161e272e344048505960696e7a828e939f948c7f736b60574d42362a1e110500000b1724313e4a5764717e83878a8e9196989b9e9c97919197a1989292979c9e9b9896918e8a87837e7164574b3e3124180b000916222e3a46515b606d7a8491989691867d726d605c544c443c332b2317110a020000000000010e1a26313d4751595e556673808d99928578675d5145392c201306000f1c2936424f5c6975828f9ca8aa9f998c7f7366594c403326190d000006111b262f3c4854606b7783909d918478695f53473a2d2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36424d565e6167605c554e5b6874818e9b9e9184786b5e5145382b1e1205000000000008141f28333f4a545f6a73808d96a0968c8073695f53473e32281e1308000000000000000000000000000000000000000713202d3a4653606d798693a0ac9f928579808d9aa8a196897d7063564c4135291d11040000000000010d1924303a4653606d7985929eaa9b8e817a8794a0b5a09386796d6053463a2d201307000000000000000000000a141d29323b44505c666e7b85929ea4aaa0958d80746c61574d4238323e45515d676f7c87929fa7a79d928a7e70695e544a3f342820160c02000000000000000000000000000000030f1c2834404c5761686b6c6c66635b55585a5c5d5e5f565e61666a6c6c6a66605d564e463c322a211b12090100000000000000000000000000000000000000030f1c2834404c5761686b6c6c66635b5356595b5d5e5f565e61666a6c6c6a66605d564e463c342e261e180f0800000000000000000000000005121e2b37424d576774818d9aaba095877b6e6154483b2d22170b0000000000000000000000000000121f2c3845525f6b788586868681786d685f584f473f342e271e160e06000000000000000000000000070f18202830394045525a616b6f7b838f949d968f82776c60594f453b30251a0e0200000a1724313d4a5764707d8a939a9a9ea09e9a938f8a8585919e9286858a8f93999ea09e9a9a938a7d7164574a3e3124170b0006121e29353f45525d686f7c86929f9892877f746d665d564d453d3528231c140c030000000004111d2a36424e59636a6c6c727f8b9897867a6d6053473a2d201407000f1c2935424f5c6875828f9b9f9d93938c7f7366594c403326190d000007111b252c38444f596673808c9996887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e696e746d675f585b6874818e9b9e9184786b5e5145382b1e12050000000000020b17222d38424e58606d7984919e9f92867b6e625a50443a3024190c030000000000000000000000000000000000000713202d3a4653606d798693a0ab9f92857884919eac9e9184786c6053463a2f24190d0100000000000008131f2c3844505c6673808d9aa79e9285798699a3afa09386796d6053463a2d20130700000000000000000006111c262f3b444f59606d78829097a1ada3989083796d605a50453b2f2935404b55606a73808c959faaa49f92857b6e665c50443d32281e130800000000000000000000000000000005111e2b3744505c6873787979736d63574b4d4f50555d60686d7276787977736d685f584e443b3025190e02000000000000000000000000000000000000000005111e2b3744505c6873787979736d6357494c4f50555d60686d7276787977736d685f584e443b3025190c06000000000000000000000000000714212d3a46535f697784919eaa9d918477695e52463a2d1c110600000000000000000000000000000c1926323f4c5965727f8c93938e827a6f6a615951444039302820180f0700000000000000000000071019212a323a434b515b636c717d8591959f9991847a6d655b50473d33291f14090000000713202d3a4653606d7985929f9f9c97928d87827d7883909c9285787d82878c91969b9f9f9285796d6053473a2d20140700010d18232935414c565f6a727e8b939e99938c81786d685f574f473f342e261e150c0300000006121f2c3845525e6a757979797e8a9794877b6e6154483b2e211508000e1b2835414e5b6874818e9b95898686867f7366594c403326190d00010d18232d373f464956636f7c8999978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b80796f6a605b6874818e9b9e9184786b5e5145382b1e120500000000000006111c262f3c45515d67707d8a939e988f82766c61564c4135291e150a0000000000000000000000000000000000000713202d3a4653606d798693a0ab9e92857b8896a1a49a8c8073655b504437281e13080000000000000003101c28343f4a54626f7c8895a0a197897c86929faca09386796d6053463a2d2013070000000000000000050e17222d38424c56606b73808d949fa9a69f92867c6f675d51473e3329242f3a434e58606d78839098a2ada2979082786d60594f443a3025191006000000000000000000000000000005121f2c3845525f6b788586867f7366574d4e535a61676d727a7f83858584807a6f6a5f564d42362a1f1408000000000000000000000000000000000000000005121f2c3845525f6b788586867f7366574d4e535a61676d727a7f83858584807a6f6a5f564d42362a1f1408000000000000000000000000000815222e3b4855616e7b8896a0aa9a8d807467574d42362a1e0a0000000000000000000000000000000b1825313e4a56626d75818f969490847c706b625b514a423a322a211911060000000000000000040f19222b333c444c555c606d737e869297a09f92877c6f685d53493f352b20170d0200000006131f2c3845515c6775818e9a948f8a85807b76717783909d92857971767b80848a8f92998e8175675d5145382c1f13060000070d19242f3a434e58626d75818e95a09f928e827a6e69605951443f3830271e150b0000000613202c3946535f6c798786868a909a95887b6e6255483b2f221508000e1b2734414e5a6774818d9a9083797979736d63574b3e3225190c0006121e29353f49515759606d798692998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87837c726c656874818e9b9e9184786b5e5145382b1e1205000000000000000a141d2935404b55616c75828f989f948a7e71685d52453d30261c110600000000000000000000000000000000000713202d3a4653606d798693a0ab9e91847f8c99a89f93877b6e6153493f3327160c0100000000000000000c17232e3847535f6a7783909da9998c7f85929faba09386796d6053463a2d20130700000000000000020b162028333f4a545e68707d88939fa6a99e938b7f726a5f554b40352c201d28313d44505c666e7b86929fa6a99f948c80736b60564c41352922180d030000000000000000000000000004101d2a3743505d6a7683908f8276695e54585f626c71797f858c909292908c857c6f695e52463b3025190e020000000000000000000000000000000000000004101d2a3743505d6a7683908f8276695e54585f626c71797f858c909292908c857c6f695e52463b3025190e02000000000000000000000003101c28343f4a5465727e8b98a8a398897d7063564a3d30251a0e0000000000000000000000000000000916222e3a46515b606d7a8491989691867d726d605c544c443c332b2317110a020000000000000a16212b343d454d565e676d757f8a9298a19e938b7f726a60564c41382d23190e050000000004101c2834404b5564707d8a8d88837e79736e696a7784919d9886796d696e73787d82868c8a7d7064554b4035291d100400000008131e28313c46515b606d79839198a29d948f847b706b625b504a423930271d120700000613202c3946535f6c79869293979aa295887c6f6255493c2f221609000d1a2733404d5a6673808d99918578666c66635b51463b2f23160a000916222e3a46515b62656c667885919a8d8174675a4e4134271b0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8790867f776e6974818e9b9e9184786b5e5145382b1e120500000000000000020b18242f3a43505a616e7b86929f9e92857a6d60594f42382e23170c03000000000000000000000000000000000713202d3a4653606d798693a0aa9e918482909caa9c8f8276695f5341382d22170400000000000000000006111c2b37434e5865727f8b99a39d908384919eaba09386796d6053463a2d201307000000000000000a141d28323a44505b666e7a85929aa4aba1968f82756d62584e43392f231a161f28343f4a545f69717e8b939ea9a69f93877d70685e52463f342a1f150b01000000000000000000000000020f1b2835424e5b6875818e92877b6e6663646a6f767e848c92989d9f9f9d9791857b6e61564d41362a1e110500000000000000000000000000000000000000020f1b2835424e5b6875818e92877b6e6663646a6f767e848c92989d9f9f9d9791857b6e61564d41362a1e1105000000000000000000000006121f2c3844505c6675828f9ba89f9286796d6053473a2d20140900000000000000000000000000000006121e29353f45525d686f7c86929f9892877f746d665d564d453d3528231c140c0300000000030f1b27323d464e575f686d79818c929fa3a0958e81756d62584e443a2f261b11080000000000000c18232e3a4653606d7984807b76716d66615f6b7884919e93877a6d6061666c70757a7f83796d6053463a2f24180c00000000010c161f2a343f45515d676e7c86929fa59f9691857d726d605c544b42392e23180c00000613202c3946535f6c7986929fa4a6a295887c6f6255493c2f221609000b1825323e4b5865717e8b989286796d605957514940352a1e1206000b1825313e4a57626d7279797983909b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8798928c827b7174818e9b9e9184786b5e5145382b1e1205000000000000000007131d28313e46525e69727f8c95a0978e81746b60544a3f34281f1409000000000000000000000000000000000713202d3a4653606d798693a0ab9e918587929fa2988b7e7164574d422f261b1106000000000000000000000f1b26313c4754616d7a86929f9f928785929eaba09386796d6053463a2d20130700000000000006111b262f3a444f59606c78828f97a1aca49991847a6d615b51463c31271d110d17232e38424d57626d75828f97a1ada49991847a6d615b51463c31271d1207000000000000000000000000000c1926333f4c5966727f8c998f8279727071757c838a91969fa2aaa3a3a9a1978e8174685e5246392d20140600000000000000000000000000000000000000000c1926333f4c5966727f8c998f8279727071757c838a91969fa2aaa3a3a9a1978e8174685e5246392d20140600000000000000000000000713202d3a4653606d7985929fa99c8f8276675d5145382c1f1306000000000000000000000000000000010d18232935414c565f6a727e8b939e99938c81786d685f574f473f342e261e150c0300000007131f2c38434e5860696e7a828e939ca4a2989183796d605b51463d32281d140a0000000000000007131f2c3845515c676d78746e6a64605c545f6b7885929e94877b6e61545b6063686e72776d675c5145382c1d12070000000000040d18222935404b555f6a717e8a939da7a09792877f746d665c544b4034281c1004000613202c3946535f6c7986929facafa295887c6f6255493c2f221609000916232f3c4956626f7c899a99897c6f6356494640372e23190d02000c1926323f4c5965727f86868689959c8f8275695c4f4236291c0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b879298948f857e74818e9b9e9184786b5e5145382b1e12050000000000000000010c161f2a36424d57606d788390999f93887c6f665c50443b31251a0d040000000000000000000000000000000713202d3a4653606d798693a0ada197919299a39f9285796d6053473b3120140a00000000000000000000000a15202d3946525e6875828f9ba399929297a1ada09386796d6053463a2d2013070000000000040e17222d38414c56606b737f8c949fa9a79f93877d70685e52493f342a1f150b06111c26303c45505a616d7a85919ea4aba1968f82756d62584e43392f24180f060000000000000000000000000a1623303d495663707c8998948f837e7d7e828790949ea1a19e9996979a9f9f92877b6e6154473b2d22170b00000000000000000000000000000000000000000a1623303d495663707c8998948f837e7d7e828790949ea1a19e9996979a9f9f92877b6e6154473b2d22170b0000000000000000000000091623303c4956636f7c8997a2a9988c7f7265554b4035291d100400000000000000000000000000000000070d19242f3a434e58626d75818e95a09f928e827a6e69605951443f3830271e150b0000000915222e3b4854606a6f7b8490949ea5a49f92867c6e675d51493f342b20160b020000000000000004101c2834404b555c666c66625f575351505b657985929f95887b6e62555053565e61666a605c554b4034281c0b01000000000000071018242f39434e58616c74818e95a0a9a299928b80786d665c5145382c1f1306000613202c3946535f6c7986929facafa295887c6f6255493c2f221609000714202d3a4753606d7a8693998c807366594f44382c251c120700000c1926323f4c5965727f8c93939da09c8f8276695c504336291d10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c787f86909597928a81818e9b9e9184786b5e5145382b1e1205000000000000000000040d1a25303b44505c666f7c87939f9a9083786d60574d42362a1f160c0100000000000000000000000000000713202d3a4653606d798693a0b3a9a19e9fa3a89a8e8174675d5145392c1f1302000000000000000000000005111d2a36414c5664707d8a97a1a39f9ea1a9b3a09386796d6053463a2d20130700000000020c162027333f49535e686f7d87929fa6aa9f958d80736b60564c41372d22180d03000a151e2a333f46525e68707d8a929da8a89e938b7f726a5f554b40352921170d0300000000000000000000000713202d3a4653606d7985929f95908b898b8f93999fa39f97918c8a8a8e9299998c7f7265544a3f33281c0f03000000000000000000000000000000000000000713202d3a4653606d7985929f95908b898b8f93999fa39f97918c8a8a8e9299998c7f7265544a3f33281c0f0300000000000000000004111d2935414c566673808c99a9a197887c6f6255483c2f24180c00000000000000000000000000000000000008131e28313c46515b606d79839198a29d948f847b706b625b504a423930271d120700000916232f3c4956626f7c85919693939393928a7e716a5f554b40372d22190e040000000000000000000c18232e39434b545b605b54534e464653606c7986939f95897c6f625649464c5254595d53514b43392e23180c000000000000000007121d28313c46505a606d7983909893939393928d82796d6053463a2d201307000613202c3946535f6c7986929facaca295887c6f6255493c2f221609000613202c3945515d677783909d9083776b6054483d30261c110600000c1926323f4c5965727f8c989faaa99c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666c727c838c9299938e8e939e9e9184786b5e5145382b1e12050000000000000000000009141f28343f4a54606a74808d97a0958c7f72695e53463e31281d130700000000000000000000000000000713202d3a4653606d798693a0acb3adabacaca095897c6f62554b4035291d10040000000000000000000000010d1925303a4653606d7985929eabacabadb3aca09386796d6053463a2d2013070000000008131e28323a44505b656d7a849199a3aea2989083786d60594f443a30251b10060000030c18212a36414c56616b74808d95a0aba69f92867c6f675d51453e33291f1409000000000000000000000006131f2c3845515c6774818d98a09d9896979b9fa49f99928d85807d7d818792998f8276665b5044382b1f12060000000000000000000000000000000000000006131f2c3845515c6774818d98a09d9896979b9fa49f99928d85807d7d818792998f8276665b5044382b1f12060000000000000000000613202c3945525d687683909da99e9185786c605346392d201307000000000000000000000000000000000000010c161f2a343f45515d676e7c86929fa59f9691857d726d605c544b42392e23180c00000d1a2633404d59667380868686868686868680746c61574e43392f251b10070000000000000000000007121d273039424a5053504a47423c4753606d7a869aa496897c706356493d4146474c504645403930271d12070000000000000000010c161f2a343e45515c676e7b8586868686868686867a6e6154473b2e211408000613202c3946535f6c7986929f9f9f9f95887c6f6255493c2f2216090004101d2935404b556673808c9995897d7063584e42382e23170b00000c1926323f4c5965727f8c98a5b2a99c8f8376695c504336291d1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545b606a6e787f8690959b9b9ea59e9184786b5e5145382b1e120500000000000000000000030b17232e38424e58606d7a84919e9f92867b6e615a50433a2f24180d01000000000000000000000000000713202d3a4653606d798693a0acacacacb5ab9d9184776a605443392f24180c0000000000000000000000000008131f2c3844515c6674808d9aa7b1acacacaca09386796d6053463a2d201307000000010d1924303a444e58606c77828f96a1aba59f92857b6e665c50473d32281e130900000000060f1925303a444f59606d79839199a3aea3989183796d605a50453b31261a0e020000000000000000000004101c2834404b55616e7b86929fa4a5a3a4a7a09d948f868079737070747d87939285796c605346392d2013060000000000000000000000000000000000000004101c2834404b55616e7b86929fa4a5a3a4a7a09d948f868079737070747d87939285796c605346392d2013060000000000000000000714212d3a4754606d7a86929fac9b8e8174655b5044372b1f120500000000000000000000000000000000000000040d18222935404b555f6a717e8a939da7a09792877f746d665c544b4034281c1004000c1925323f4b57636d737979797979797979746e645a50453c31281d12090000000000000000000000000b151e272f383f4446443f38373a4754616d7a8794a0978a7d7064574a3d36393b3f443a38342e271e150b00000000000000000000040d18222934404b555f696e78797979797979797976685e5246392d201407000613202c3946535f6c7986929393939393887c6f6255493c2f22160900010d18242f3b4855616e7b88949c8f82756a60544a3f34281c1003000c1926323f4c5965727f8c98a5aca99c8f8376695c504336291d1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424a50585f666d727c838c9299a0a79e9184786b5e5145382b1e1205000000000000000000000006111c26303d45515d67717e8a949e988f82756c61554b4035291d1104000000000000000000000000000713202d3a4653606d7986939f9f9f9f9f9fa3998c7f7266584e4331271d12070000000000000000000000000004101c2834404a54626f7c8895a09f9f9f9f9f9f9386796d6053463a2d20130700000004111d2935414c56606a727f8c949ea8a89e938a7e71695f544a3f352b20160c00000000000008131e29323e45515d676f7c87929fa69fa0958e81746c61574d42362a1e120500000000000000000000000c18232e3946525e69727f8b929b9e9f9e9b959089827b736d6763646b74818e98887b6e6255483b2f22150800000000000000000000000000000000000000000c18232e3946525e69727f8b929b9e9f9e9b959089827b736d6763646b74818e98887b6e6255483b2f2215080000000000000000000a1724313d4a5764707d8a99a3a49a8a7e716453493f33271b0f030000000000000000000000000000000000000000071018242f39434e58616c74818e95a0a9a299928b80786d665c5145382c1f1306000a16232f3b47525b63666c6c6c6c6c6c6c6c67645c52483e332a1f160c00000000000000000000000000030c151d262d33383938332d2e3b4854616e7b87949f978a7e7164574b3e312d2e33372d2c28231d150c030000000000000000000000060f18232f39434d575f616c6c6c6c6c6c6c6c6c6c5e564c41362a1e1105000613202c3946535f6c7987868686868686867c6f6255493c2f22160900000714212d3a47535f6975828f9c93877c6f665c5044382b1f1206000c1926323f4c5965727f8c989f9f9f9c8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f383f444e545c606a6f788087909593939184786b5e5145382b1e12050000000000000000000000000a141e2935414c55616c75828f9893948a7d70675d5145392c201306000000000000000000000000000713202d3a4653606d7986939393939393939392867b6e6154473d3221150b0100000000000000000000000000000c18232e394754606a778390939393939393939386796d6053463a2d2013070000000713202c3945525d686f7c879293939393968e81746c61574d42382e23190e04000000000000020c17202935404b55606a727f8c9493939393938a7e71695f53463a2d211407000000000000000000000007121d2a36424d56626d7380898f9292918f8a837d766e69605d5559626f7c89988a7d7063574a3d3024170a000000000000000000000000000000000000000007121d2a36424d56626d7380898f9292918f8a837d766e69605d5559626f7c89988a7d7063574a3d3024170a0000000000000000000e1b2734414e5a6774818d93939393877a6d6154473a2d22170b0000000000000000000000000000000000000000000007121d28313c46505a606d7983909893939393928d82796d6053463a2d2013070007131e2a35404952575960606060606060605a58524a40362c21180d040000000000000000000000000000030b141c22282b2d2b28222f3b4855626e7b889393938b7e7265584b3f322521262a201f1c18120b030000000000000000000000000007121d27313c454d53555f60606060606060605f524c443b3025190e020006121f2c3845525e6a757979797979797979766a6054473b2e221508000006121e2b37424d57626f7c89939a9083786d6053463a2d201307000c1926323f4c5965727f8c93939393938f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d333c424a50585f666d737c838686868684786b5e5145382b1e1205000000000000000000000000020c19242f3a43505a616e7b8686868686847a6d6053473a2d201407000000000000000000000000000713202d3a4653606d78868686868686868686868275685e5246392d20140300000000000000000000000000000007121c2b37434e5865727f86868686868686868686786d6053463a2d2013070000000714212d3a4754606d7a848686868686868684796d605a50453b30261c11070000000000000000050e18242f39434e58606c788286868686868686857b6e6155483b2e2215080000000000000000000000000e1925303b44515b636e737d82858684827d78706b625f57514b53606d788686867f7265584c3f3225190c0000000000000000000000000000000000000000000e1925303b44515b636e737d82858684827d78706b625f57514b53606d788686867f7265584c3f3225190c000000000000000000111e2b3844515e6b778486868686868377685e5246392d1b110600000000000000000000000000000000000000000000010c161f2a343e45515c676e7b8586868686868686867a6e6154473b2e21140800020d19242e3740474b4d53535353535353534d4c4740382f241a0f0600000000000000000000000000000000020a11171c1f201f1c222f3c4955626f7c86868686867f7265594c3f322619191d1313100c07000000000000000000000000000000010b151f2a333c4246485253535353535353535346413b32291e1408000004111d2a36424e59636a6c6c6c6c6c6c6c6c6260584e43372b1f13060000020e1a26313c4754606a7581868686867f7265584c3f3225190c000c1926323f4c5965727f868686868686868276695c504336291d10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c222830383f444e545c606a6f77797979797872685c5043372a1d11040000000000000000000000000008131e28313e46535f696e7979797979786d675d5145392c2013060000000000000000000000000006121f2c3844505c667679797979797979797979757065564d41362a1e1105000000000000000000000000000000000f1b27323c4a57626d727979797979797979797976665c5044382c1f12060000000713202c3945525d686d7879797979797979776d675d51483e33291e150a0000000000000000000007121d27313c44505b666c7679797979797979786e695f53463a2d21140700000000000000000000000009141f29323f49525c636b707578797875706c656059534d4544505c6674797979726d62564a3e3124180b00000000000000000000000000000000000000000009141f29323f49525c636b707578797875706c656059534d4544505c6674797979726d62564a3e3124180b000000000000000000111d2a37434f5c6772777979797979777167564c41362a1e0a000000000000000000000000000000000000000000000000040d18222934404b555f696e78797979797979797976685e5246392d201407000007121c252e353b3f404646464646464646413f3c362f261d120800000000000000000000000000000000000000060b0f12131215222e3b4754606a767979797979726d63574a3e3125180c11070604000000000000000000000000000000000000030d18212a31373a3b4546464646464646463b3936302920170d020000010e1a26313d4751595e5f6060606060606055544e463c32271b0f0300000009151f2b38434e58656f7579797979726d62564a3e3125180b000b1825313e4a57626d72797979797979797670665a4e4235291c0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171e262e343c424a51585f626a6c6c6c6c6b6860564b3f33271b0f0200000000000000000000000000010c161f2a36424d575f616c6c6c6c6c6b605d554b4035291d11040000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c69655e54443b3025190e02000000000000000000000000000000000a15202e3a46515b62656c6c6c6c6c6c6c6c6c6c6c5c544a3f34281c100300000004111d2935414c565d606b6c6c6c6c6c6c6c6b605d554b40362c21170c0300000000000000000000010b151f28333f4a545b60696c6c6c6c6c6c6c6c615f574d42362a1e1205000000000000000000000000020d17202d37404952596063686b6c6b6864605b534f47423c3f4a545c6a6c6c6c65625b51463a2e221509000000000000000000000000000000000000000000020d17202d37404952596063686b6c6b6864605b534f47423c3f4a545c6a6c6c6c65625b51463a2e2215090000000000000000000f1b27333f4b5660676b6c6c6c6c6c6a675f55443a3025190d00000000000000000000000000000000000000000000000000060f18232f39434d575f616c6c6c6c6c6c6c6c6c6c5e564c41362a1e11050000000a131c242a2f323339393939393939393433302b241d140b0000000000000000000000000000000000000000000003060606131f2b37434e5860626c6c6c6c6c65635b51463a2e2216090400000000000000000000000000000000000000000000060f181f262b2d2e3939393939393939392e2d2a251e170e05000000000915202b353f474e5253535353535353534947433c342b20150a00000000030f1b27323d46535d65686c6c6c6c65625b51463a2e221609000916222e3a46515b62656c6c6c6c6c6c6c69665e54493e3226190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c141c2328303940444e54555d606060605e5c564e443a2f23170b000000000000000000000000000000040d1a26313b454d53555f606060605e53514b433a2f24180d0100000000000000000000000000000c17232e38424a505f606060606060606060605c5a544c4232291f1408000000000000000000000000000000000004121e29353f49515759606060606060606060605f504a42382e23170c00000000010d1924303a444c52545e606060606060605e53514b433a2f241a0f06000000000000000000000000030d17222d38424a50535d606060606060605f55534d453b31261a0e0200000000000000000000000000050e1b252e3740474f54565c5f5f5e5c57535049413d373138424a50535f6060585651493f34291e120600000000000000000000000000000000000000000000050e1b252e3740474f54565c5f5f5e5c57535049413d373138424a50535f6060585651493f34291e12060000000000000000000b17232e3a444e565c5e60606060605d5b554d4332291e1308000000000000000000000000000000000000000000000000000007121d27313c454d53555f60606060606060605f524c443b3025190e02000000010a12191e2325262d2d2d2d2d2d2d2d2726241f19130b0200000000000000000000000000000000000000000000000000030f1b27323c464e54556060606060595751493f352a1e1206000000000000000000000000000000000000000000000000060e141a1e21222c2d2d2d2d2d2d2d2d21201e19140d050000000000040f19242d353d424546464646464646463c3b37322b22190f0400000000000a16202b34414b53595b60606060585651493f34291e12060006121e29353f49515759606060606060605c5a544c42382d21160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171e272e343c434749515353535351504b443c32281d12070000000000000000000000000000000009141f29333b4246485253535353514745403a31281d130700000000000000000000000000000006111c2630383f4453535353535353535353534f4d4942393020170d020000000000000000000000000000000000010d18232d373f464a4c5353535353535353535353443f3830261c1106000000000008131e28323a4145475153535353535353514745403a31281d1208000000000000000000000000000006111c262f383f44465053535353535353524846423b33291f140900000000000000000000000000000009131c252e353d4448494f5253514f4a46443f382f2b2630383f44465353534c4a463f372d23180d01000000000000000000000000000000000000000000000009131c252e353d4448494f5253514f4a46443f382f2b2630383f44465353534c4a463f372d23180d0100000000000000000006121d28323c444b4f515353535353504f4a433b3120170d020000000000000000000000000000000000000000000000000000010b151f2a333c4246485253535353535353535346413b32291e1408000000000000070d1316191a20202020202020201a1a17130e08010000000000000000000000000000000000000000000000000000000a15202b343c43474953535353534c4a463f372d23180d010000000000000000000000000000000000000000000000000003090e1214151f20202020202020201414110e08020000000000000008121b242b31363839393939393939392f2e2b2720191007000000000000040f19222f3941484d4e535353534c4a463f372d23180d0100010d18232d373f464a4c53535353535353504e49423a31261c1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c151c232832373b3c444646464645433f3a322a20160c0100000000000000000000000000000000030d17212931363a3b4646464646453a39352f281f160c01000000000000000000000000000000000a151e262e3438464646464646464646464642413d3730271e0e050000000000000000000000000000000000000007111b252d353a3e3f464646464646464646464638342e261e150a000000000000020c1620283035393a4546464646464646443a39352f281f160c000000000000000000000000000000000a141d262d3338394346464646464646453b3a36312921170d03000000000000000000000000000000010a131c232b33383c3d42454645423d3937332d261d1e262e34383a4646463f3e3a342d251b1106000000000000000000000000000000000000000000000000010a131c232b33383c3d42454645423d3937332d261d1e262e34383a4646463f3e3a342d251b110600000000000000000000010c16202a323a3f4344464646464644423e3931291f0e0500000000000000000000000000000000000000000000000000000000030d18212a31373a3b4546464646464646463b3936302920170d020000000000000002070a0c0d13131313131313130e0d0b07030000000000000000000000000000000000000000000000000000000000040e19222b32373b3c46464646463f3e3a352d251c11070000000000000000000000000000000000000000000000000000000002050708121313131313131313080705020000000000000000000009121920262a2c2c2d2d2d2d2d2d2d22221f1b150f07000000000000000007101d272f373d4042464646463f3e3a342d251b110700000007111b252d353a3e3f4646464646464643423e3831281f150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121820262b2e2f37393939393837332f2820180f05000000000000000000000000000000000000060f171f262a2d2e3939393939382d2c29241d160d040000000000000000000000000000000000030c151c23282c39393939393939393939393635312c261e150c0000000000000000000000000000000000000000000a131b23292e313239393939393939393939392c28231c150c0300000000000000040e161e24292c2d3839393939393939382d2c29241d160d0400000000000000000000000000000000020b141c22282b2d3639393939393939392e2d2a261f170f060000000000000000000000000000000000010a111921272c2f303538393835312d2b27221b14151c23282c2d39393932312e29231b13090000000000000000000000000000000000000000000000000000010a111921272c2f303538393835312d2b27221b14151c23282c2d39393932312e29231b1309000000000000000000000000040e1820282e33373839393939393736332e271f170d000000000000000000000000000000000000000000000000000000000000060f181f262b2d2e3939393939393939392e2d2a251e170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f393939393932312e2a231c130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f151a1d1f20202020202020201615130f0a04000000000000000000000b151d252c3134353939393932312e29231b130900000000000a131b23292e3132393939393939393635322d261f160d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c151b1f22222a2d2d2d2d2b2a27231d160f060000000000000000000000000000000000000000060d141a1e21222c2d2d2d2d2b20201d18130c0400000000000000000000000000000000000000030a11171c1f2d2d2d2d2d2d2d2d2d2d2d292825211b140c03000000000000000000000000000000000000000000010a11181e2225262d2d2d2d2d2d2d2d2d2d2d1f1c17110a03000000000000000000040c13191d20212b2d2d2d2d2d2d2d2b20201d18130c04000000000000000000000000000000000000020a11171c1f202a2d2d2d2d2d2d2d2c22211e1a140d060000000000000000000000000000000000000000070f161c202223292c2c2b2924201f1b17110a0a11171c1f202c2d2d2524221e1811090100000000000000000000000000000000000000000000000000000000070f161c202223292c2c2b2924201f1b17110a0a11171c1f202c2d2d2524221e1811090100000000000000000000000000060e161d23272a2b2d2d2d2d2d2a2926221c150d0500000000000000000000000000000000000000000000000000000000000000060e141a1e21222c2d2d2d2d2d2d2d2d21201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e151b1f22222d2d2d2d2d2625221e18110a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090e1112131313131313131309080603000000000000000000000000030b131a202427282d2d2d2d2525221e181109010000000000010a11181e2225262d2d2d2d2d2d2d292926211c150d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315161e202020201e1d1b17120c050000000000000000000000000000000000000000000003090e1214151f202020201e1413110d070100000000000000000000000000000000000000000000060c101220202020202020202020201c1b1915100902000000000000000000000000000000000000000000000000070d12161819202020202020202020202012100c0600000000000000000000000002080d1113141e202020202020201e1413110d0701000000000000000000000000000000000000000000060b0f12131d202020202020201f1514120e090300000000000000000000000000000000000000000000050b101316161c1f201e1c1713120f0b060000060c101213202020191815120d0600000000000000000000000000000000000000000000000000000000000000050b101316161c1f201e1c1713120f0b060000060c101213202020191815120d0600000000000000000000000000000000040c12171b1d1e20202020201d1d1a16110b0300000000000000000000000000000000000000000000000000000000000000000003090e1214151f20202020202020201414110e0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315162020202020191816120d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001090f14181b1b20202020191816120d07000000000000000000070d12161819202020202020201d1c1916100a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809111313131312110f0b07010000000000000000000000000000000000000000000000000002050708131313131312070604010000000000000000000000000000000000000000000000000000030613131313131313131313130f0f0d09040000000000000000000000000000000000000000000000000000000106090b0c13131313131313131313130603000000000000000000000000000000000104070712131313131313131107060401000000000000000000000000000000000000000000000000000306061013131313131313120807050200000000000000000000000000000000000000000000000000000407090a0f1213120f0a0605030000000000000306071313130c0b090601000000000000000000000000000000000000000000000000000000000000000000000407090a0f1213120f0a0605030000000000000306071313130c0b09060100000000000000000000000000000000000001060b0f1111131313131311100e0a06000000000000000000000000000000000000000000000000000000000000000000000000000205070812131313131313131308070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306080913131313130c0c09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080c0e0f131313130c0b09060100000000000000000000000106090b0c13131313131313100f0d0a05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m_StreamData: + offset: 0 + size: 0 + path: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta new file mode 100755 index 000000000..66e69d188 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8f586378b4e144a9851e7b34d9b748ee +timeCreated: 1484171803 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt new file mode 100755 index 000000000..a52cc38f7 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt @@ -0,0 +1 @@ +)]}〕〉》」』】〙〗〟’”⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、%,.:;。!?]):;=}¢°"†‡℃〆%,. \ No newline at end of file diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta new file mode 100755 index 000000000..73ed66049 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fade42e8bc714b018fac513c043d323b +timeCreated: 1425440388 +licenseType: Store +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt new file mode 100755 index 000000000..ccbb4aedc --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt @@ -0,0 +1 @@ +([{〔〈《「『【〘〖〝‘“⦅«$—…‥〳〴〵\[({£¥"々〇$¥₩ # \ No newline at end of file diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta new file mode 100755 index 000000000..cc684b308 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d82c1b31c7e74239bff1220585707d2b +timeCreated: 1425440388 +licenseType: Store +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Sprite Assets.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Sprite Assets.meta new file mode 100755 index 000000000..5171f1b68 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Sprite Assets.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 512a49d95c0c4332bdd98131869c23c9 +folderAsset: yes +timeCreated: 1441876896 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset new file mode 100755 index 000000000..98e6d2771 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset @@ -0,0 +1,659 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2103686 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: TextMeshPro/Sprite + m_Shader: {fileID: 4800000, guid: cf81c85f95fe47e1a27f6ae460cf182c, type: 3} + m_ShaderKeywords: UNITY_UI_CLIP_RECT + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 2800000, guid: dffef66376be4fa480fb02b19edbe903, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _CullMode: 0 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} + - _Color: {r: 1, g: 1, b: 1, a: 1} +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 84a92b25f83d49b9bc132d206b370281, type: 3} + m_Name: EmojiOne + m_EditorClassIdentifier: + hashCode: -1836805472 + material: {fileID: 2103686} + materialHashCode: 0 + m_Version: 1.1.0 + m_FaceInfo: + m_FamilyName: + m_StyleName: + m_PointSize: 0 + m_Scale: 0 + m_LineHeight: 0 + m_AscentLine: 0 + m_CapLine: 0 + m_MeanLine: 0 + m_Baseline: 0 + m_DescentLine: 0 + m_SuperscriptOffset: 0 + m_SuperscriptSize: 0 + m_SubscriptOffset: 0 + m_SubscriptSize: 0 + m_UnderlineOffset: 0 + m_UnderlineThickness: 0 + m_StrikethroughOffset: 0 + m_StrikethroughThickness: 0 + m_TabWidth: 0 + spriteSheet: {fileID: 2800000, guid: dffef66376be4fa480fb02b19edbe903, type: 3} + m_SpriteCharacterTable: + - m_ElementType: 2 + m_Unicode: 128522 + m_GlyphIndex: 0 + m_Scale: 1 + m_Name: Smiling face with smiling eyes + m_HashCode: -1318250903 + - m_ElementType: 2 + m_Unicode: 128523 + m_GlyphIndex: 1 + m_Scale: 1 + m_Name: 1f60b + m_HashCode: 57188339 + - m_ElementType: 2 + m_Unicode: 128525 + m_GlyphIndex: 2 + m_Scale: 1 + m_Name: 1f60d + m_HashCode: 57188341 + - m_ElementType: 2 + m_Unicode: 128526 + m_GlyphIndex: 3 + m_Scale: 1 + m_Name: 1f60e + m_HashCode: 57188340 + - m_ElementType: 2 + m_Unicode: 128512 + m_GlyphIndex: 4 + m_Scale: 1 + m_Name: Grinning face + m_HashCode: -95541379 + - m_ElementType: 2 + m_Unicode: 128513 + m_GlyphIndex: 5 + m_Scale: 1 + m_Name: 1f601 + m_HashCode: 57188256 + - m_ElementType: 2 + m_Unicode: 128514 + m_GlyphIndex: 6 + m_Scale: 1 + m_Name: Face with tears of joy + m_HashCode: 239522663 + - m_ElementType: 2 + m_Unicode: 128515 + m_GlyphIndex: 7 + m_Scale: 1 + m_Name: 1f603 + m_HashCode: 57188258 + - m_ElementType: 2 + m_Unicode: 128516 + m_GlyphIndex: 8 + m_Scale: 1 + m_Name: 1f604 + m_HashCode: 57188261 + - m_ElementType: 2 + m_Unicode: 128517 + m_GlyphIndex: 9 + m_Scale: 1 + m_Name: 1f605 + m_HashCode: 57188260 + - m_ElementType: 2 + m_Unicode: 128518 + m_GlyphIndex: 10 + m_Scale: 1 + m_Name: 1f606 + m_HashCode: 57188263 + - m_ElementType: 2 + m_Unicode: 128521 + m_GlyphIndex: 11 + m_Scale: 1 + m_Name: 1f609 + m_HashCode: 57188264 + - m_ElementType: 2 + m_Unicode: 0 + m_GlyphIndex: 12 + m_Scale: 1 + m_Name: .notdef + m_HashCode: -600915428 + - m_ElementType: 2 + m_Unicode: 129315 + m_GlyphIndex: 13 + m_Scale: 1 + m_Name: 1f923 + m_HashCode: 57200239 + - m_ElementType: 2 + m_Unicode: 9786 + m_GlyphIndex: 14 + m_Scale: 1 + m_Name: 263a + m_HashCode: 1748406 + - m_ElementType: 2 + m_Unicode: 9785 + m_GlyphIndex: 15 + m_Scale: 1 + m_Name: 2639 + m_HashCode: 1748462 + m_SpriteGlyphTable: + - m_Index: 0 + m_Metrics: + m_Width: 128 + m_Height: 128 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 115.6 + m_HorizontalAdvance: 128 + m_GlyphRect: + m_X: 0 + m_Y: 384 + m_Width: 128 + m_Height: 128 + m_Scale: 1 + m_AtlasIndex: 0 + sprite: {fileID: 0} + - m_Index: 1 + m_Metrics: + m_Width: 128 + m_Height: 128 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 115.6 + m_HorizontalAdvance: 128 + m_GlyphRect: + m_X: 128 + m_Y: 384 + m_Width: 128 + m_Height: 128 + m_Scale: 1 + m_AtlasIndex: 0 + sprite: {fileID: 0} + - m_Index: 2 + m_Metrics: + m_Width: 128 + m_Height: 128 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 115.6 + m_HorizontalAdvance: 128 + m_GlyphRect: + m_X: 256 + m_Y: 384 + m_Width: 128 + m_Height: 128 + m_Scale: 1 + m_AtlasIndex: 0 + sprite: {fileID: 0} + - m_Index: 3 + m_Metrics: + m_Width: 128 + m_Height: 128 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 115.6 + m_HorizontalAdvance: 128 + m_GlyphRect: + m_X: 384 + m_Y: 384 + m_Width: 128 + m_Height: 128 + m_Scale: 1 + m_AtlasIndex: 0 + sprite: {fileID: 0} + - m_Index: 4 + m_Metrics: + m_Width: 128 + m_Height: 128 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 115.6 + m_HorizontalAdvance: 128 + m_GlyphRect: + m_X: 0 + m_Y: 256 + m_Width: 128 + m_Height: 128 + m_Scale: 1 + m_AtlasIndex: 0 + sprite: {fileID: 0} + - m_Index: 5 + m_Metrics: + m_Width: 128 + m_Height: 128 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 115.6 + m_HorizontalAdvance: 128 + m_GlyphRect: + m_X: 128 + m_Y: 256 + m_Width: 128 + m_Height: 128 + m_Scale: 1 + m_AtlasIndex: 0 + sprite: {fileID: 0} + - m_Index: 6 + m_Metrics: + m_Width: 128 + m_Height: 128 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 115.6 + m_HorizontalAdvance: 128 + m_GlyphRect: + m_X: 256 + m_Y: 256 + m_Width: 128 + m_Height: 128 + m_Scale: 1 + m_AtlasIndex: 0 + sprite: {fileID: 0} + - m_Index: 7 + m_Metrics: + m_Width: 128 + m_Height: 128 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 115.6 + m_HorizontalAdvance: 128 + m_GlyphRect: + m_X: 384 + m_Y: 256 + m_Width: 128 + m_Height: 128 + m_Scale: 1 + m_AtlasIndex: 0 + sprite: {fileID: 0} + - m_Index: 8 + m_Metrics: + m_Width: 128 + m_Height: 128 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 115.6 + m_HorizontalAdvance: 128 + m_GlyphRect: + m_X: 0 + m_Y: 128 + m_Width: 128 + m_Height: 128 + m_Scale: 1 + m_AtlasIndex: 0 + sprite: {fileID: 0} + - m_Index: 9 + m_Metrics: + m_Width: 128 + m_Height: 128 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 115.6 + m_HorizontalAdvance: 128 + m_GlyphRect: + m_X: 128 + m_Y: 128 + m_Width: 128 + m_Height: 128 + m_Scale: 1 + m_AtlasIndex: 0 + sprite: {fileID: 0} + - m_Index: 10 + m_Metrics: + m_Width: 128 + m_Height: 128 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 115.6 + m_HorizontalAdvance: 128 + m_GlyphRect: + m_X: 256 + m_Y: 128 + m_Width: 128 + m_Height: 128 + m_Scale: 1 + m_AtlasIndex: 0 + sprite: {fileID: 0} + - m_Index: 11 + m_Metrics: + m_Width: 128 + m_Height: 128 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 115.6 + m_HorizontalAdvance: 128 + m_GlyphRect: + m_X: 384 + m_Y: 128 + m_Width: 128 + m_Height: 128 + m_Scale: 1 + m_AtlasIndex: 0 + sprite: {fileID: 0} + - m_Index: 12 + m_Metrics: + m_Width: 128 + m_Height: 128 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 115.6 + m_HorizontalAdvance: 128 + m_GlyphRect: + m_X: 0 + m_Y: 0 + m_Width: 128 + m_Height: 128 + m_Scale: 1 + m_AtlasIndex: 0 + sprite: {fileID: 0} + - m_Index: 13 + m_Metrics: + m_Width: 128 + m_Height: 128 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 115.6 + m_HorizontalAdvance: 128 + m_GlyphRect: + m_X: 128 + m_Y: 0 + m_Width: 128 + m_Height: 128 + m_Scale: 1 + m_AtlasIndex: 0 + sprite: {fileID: 0} + - m_Index: 14 + m_Metrics: + m_Width: 128 + m_Height: 128 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 115.6 + m_HorizontalAdvance: 128 + m_GlyphRect: + m_X: 256 + m_Y: 0 + m_Width: 128 + m_Height: 128 + m_Scale: 1 + m_AtlasIndex: 0 + sprite: {fileID: 0} + - m_Index: 15 + m_Metrics: + m_Width: 128 + m_Height: 128 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 115.6 + m_HorizontalAdvance: 128 + m_GlyphRect: + m_X: 384 + m_Y: 0 + m_Width: 128 + m_Height: 128 + m_Scale: 1 + m_AtlasIndex: 0 + sprite: {fileID: 0} + spriteInfoList: + - id: 0 + x: 0 + y: 384 + width: 128 + height: 128 + xOffset: 0 + yOffset: 115.6 + xAdvance: 128 + scale: 1 + name: Smiling face with smiling eyes + hashCode: -1318250903 + unicode: 128522 + pivot: {x: 0.5, y: 0.5} + sprite: {fileID: 0} + - id: 1 + x: 128 + y: 384 + width: 128 + height: 128 + xOffset: 0 + yOffset: 115.6 + xAdvance: 128 + scale: 1 + name: 1f60b + hashCode: 57188339 + unicode: 128523 + pivot: {x: 0.5, y: 0.5} + sprite: {fileID: 0} + - id: 2 + x: 256 + y: 384 + width: 128 + height: 128 + xOffset: 0 + yOffset: 115.6 + xAdvance: 128 + scale: 1 + name: 1f60d + hashCode: 57188341 + unicode: 128525 + pivot: {x: 0.5, y: 0.5} + sprite: {fileID: 0} + - id: 3 + x: 384 + y: 384 + width: 128 + height: 128 + xOffset: 0 + yOffset: 115.6 + xAdvance: 128 + scale: 1 + name: 1f60e + hashCode: 57188340 + unicode: 128526 + pivot: {x: 0.5, y: 0.5} + sprite: {fileID: 0} + - id: 4 + x: 0 + y: 256 + width: 128 + height: 128 + xOffset: 0 + yOffset: 115.6 + xAdvance: 128 + scale: 1 + name: Grinning face + hashCode: -95541379 + unicode: 128512 + pivot: {x: 0.5, y: 0.5} + sprite: {fileID: 0} + - id: 5 + x: 128 + y: 256 + width: 128 + height: 128 + xOffset: 0 + yOffset: 115.6 + xAdvance: 128 + scale: 1 + name: 1f601 + hashCode: 57188256 + unicode: 128513 + pivot: {x: 0.5, y: 0.5} + sprite: {fileID: 0} + - id: 6 + x: 256 + y: 256 + width: 128 + height: 128 + xOffset: 0 + yOffset: 115.6 + xAdvance: 128 + scale: 1 + name: Face with tears of joy + hashCode: 239522663 + unicode: 128514 + pivot: {x: 0.5, y: 0.5} + sprite: {fileID: 0} + - id: 7 + x: 384 + y: 256 + width: 128 + height: 128 + xOffset: 0 + yOffset: 115.6 + xAdvance: 128 + scale: 1 + name: 1f603 + hashCode: 57188258 + unicode: 128515 + pivot: {x: 0.5, y: 0.5} + sprite: {fileID: 0} + - id: 8 + x: 0 + y: 128 + width: 128 + height: 128 + xOffset: 0 + yOffset: 115.6 + xAdvance: 128 + scale: 1 + name: 1f604 + hashCode: 57188261 + unicode: 128516 + pivot: {x: 0.5, y: 0.5} + sprite: {fileID: 0} + - id: 9 + x: 128 + y: 128 + width: 128 + height: 128 + xOffset: 0 + yOffset: 115.6 + xAdvance: 128 + scale: 1 + name: 1f605 + hashCode: 57188260 + unicode: 128517 + pivot: {x: 0.5, y: 0.5} + sprite: {fileID: 0} + - id: 10 + x: 256 + y: 128 + width: 128 + height: 128 + xOffset: 0 + yOffset: 115.6 + xAdvance: 128 + scale: 1 + name: 1f606 + hashCode: 57188263 + unicode: 128518 + pivot: {x: 0.5, y: 0.5} + sprite: {fileID: 0} + - id: 11 + x: 384 + y: 128 + width: 128 + height: 128 + xOffset: 0 + yOffset: 115.6 + xAdvance: 128 + scale: 1 + name: 1f609 + hashCode: 57188264 + unicode: 128521 + pivot: {x: 0.5, y: 0.5} + sprite: {fileID: 0} + - id: 12 + x: 0 + y: 0 + width: 128 + height: 128 + xOffset: 0 + yOffset: 115.6 + xAdvance: 128 + scale: 1 + name: 1f618 + hashCode: 57188168 + unicode: 128536 + pivot: {x: 0.5, y: 0.5} + sprite: {fileID: 0} + - id: 13 + x: 128 + y: 0 + width: 128 + height: 128 + xOffset: 0 + yOffset: 115.6 + xAdvance: 128 + scale: 1 + name: 1f923 + hashCode: 57200239 + unicode: 129315 + pivot: {x: 0.5, y: 0.5} + sprite: {fileID: 0} + - id: 14 + x: 256 + y: 0 + width: 128 + height: 128 + xOffset: 0 + yOffset: 115.6 + xAdvance: 128 + scale: 1 + name: 263a + hashCode: 1748406 + unicode: 9786 + pivot: {x: 0.5, y: 0.5} + sprite: {fileID: 0} + - id: 15 + x: 384 + y: 0 + width: 128 + height: 128 + xOffset: 0 + yOffset: 115.6 + xAdvance: 128 + scale: 1 + name: 2639 + hashCode: 1748462 + unicode: 9785 + pivot: {x: 0.5, y: 0.5} + sprite: {fileID: 0} + fallbackSpriteAssets: [] +--- !u!21 &1369835458 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: TextMeshPro/Sprite + m_Shader: {fileID: 4800000, guid: cf81c85f95fe47e1a27f6ae460cf182c, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: [] + m_Floats: [] + m_Colors: [] diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta new file mode 100755 index 000000000..c7ac83f4d --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c41005c129ba4d66911b75229fd70b45 +timeCreated: 1480316912 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Style Sheets.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Style Sheets.meta new file mode 100755 index 000000000..4958550d9 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Style Sheets.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4aecb92fff08436c8303b10eab8da368 +folderAsset: yes +timeCreated: 1441876950 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset new file mode 100755 index 000000000..ceb609b29 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset @@ -0,0 +1,68 @@ +%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: ab2114bdc8544297b417dfefe9f1e410, type: 3} + m_Name: Default Style Sheet + m_EditorClassIdentifier: + m_StyleList: + - m_Name: H1 + m_HashCode: 2425 + m_OpeningDefinition: <#40ff80>* + m_ClosingDefinition: '*' + m_OpeningTagArray: 3c00000073000000690000007a000000650000003d00000032000000650000006d0000003e0000003c000000620000003e0000003c000000230000003400000030000000660000006600000038000000300000003e0000002a000000 + m_ClosingTagArray: 2a0000003c0000002f00000073000000690000007a000000650000003e0000003c0000002f000000620000003e0000003c0000002f000000630000006f0000006c0000006f000000720000003e000000 + - m_Name: Quote + m_HashCode: 92254330 + m_OpeningDefinition: + m_ClosingDefinition: + m_OpeningTagArray: 3c000000690000003e0000003c00000073000000690000007a000000650000003d0000003700000035000000250000003e0000003c0000006d000000610000007200000067000000690000006e0000003d0000003100000030000000250000003e000000 + m_ClosingTagArray: 3c0000002f000000690000003e0000003c0000002f00000073000000690000007a000000650000003e0000003c0000002f00000077000000690000006400000074000000680000003e0000003c0000002f0000006d000000610000007200000067000000690000006e0000003e000000 + - m_Name: Link + m_HashCode: 2687968 + m_OpeningDefinition: <#40a0ff> + m_ClosingDefinition: + m_OpeningTagArray: 3c000000750000003e0000003c000000230000003400000030000000610000003000000066000000660000003e0000003c0000006c000000690000006e0000006b0000003d0000002200000049000000440000005f0000003000000031000000220000003e000000 + m_ClosingTagArray: 3c0000002f000000750000003e0000003c0000002f000000630000006f0000006c0000006f000000720000003e0000003c0000002f0000006c000000690000006e0000006b0000003e000000 + - m_Name: Title + m_HashCode: 98732960 + m_OpeningDefinition: + m_ClosingDefinition: + m_OpeningTagArray: 3c00000073000000690000007a000000650000003d000000310000003200000035000000250000003e0000003c000000620000003e0000003c000000610000006c00000069000000670000006e0000003d00000063000000650000006e0000007400000065000000720000003e000000 + m_ClosingTagArray: 3c0000002f00000073000000690000007a000000650000003e0000003c0000002f000000620000003e0000003c0000002f000000610000006c00000069000000670000006e0000003e000000 + - m_Name: H2 + m_HashCode: 2426 + m_OpeningDefinition: <#4080FF> + m_ClosingDefinition: + m_OpeningTagArray: 3c00000073000000690000007a000000650000003d000000310000002e00000035000000650000006d0000003e0000003c000000620000003e0000003c000000230000003400000030000000380000003000000046000000460000003e000000 + m_ClosingTagArray: 3c0000002f00000073000000690000007a000000650000003e0000003c0000002f000000620000003e0000003c0000002f000000630000006f0000006c0000006f000000720000003e000000 + - m_Name: H3 + m_HashCode: 2427 + m_OpeningDefinition: <#FF8040> + m_ClosingDefinition: + m_OpeningTagArray: 3c00000073000000690000007a000000650000003d000000310000002e0000003100000037000000650000006d0000003e0000003c000000620000003e0000003c000000230000004600000046000000380000003000000034000000300000003e000000 + m_ClosingTagArray: 3c0000002f00000073000000690000007a000000650000003e0000003c0000002f000000620000003e0000003c0000002f000000630000006f0000006c0000006f000000720000003e000000 + - m_Name: C1 + m_HashCode: 2194 + m_OpeningDefinition: + m_ClosingDefinition: + m_OpeningTagArray: 3c000000630000006f0000006c0000006f000000720000003d000000230000006600000066000000660000006600000034000000300000003e000000 + m_ClosingTagArray: 3c0000002f000000630000006f0000006c0000006f000000720000003e000000 + - m_Name: C2 + m_HashCode: 2193 + m_OpeningDefinition: + m_ClosingDefinition: + m_OpeningTagArray: 3c000000630000006f0000006c0000006f000000720000003d000000230000006600000066000000340000003000000046000000460000003e0000003c00000073000000690000007a000000650000003d000000310000003200000035000000250000003e000000 + m_ClosingTagArray: 3c0000002f000000630000006f0000006c0000006f000000720000003e0000003c0000002f00000073000000690000007a000000650000003e000000 + - m_Name: C3 + m_HashCode: 2192 + m_OpeningDefinition: + m_ClosingDefinition: + m_OpeningTagArray: 3c000000630000006f0000006c0000006f000000720000003d000000230000003800000030000000410000003000000046000000460000003e0000003c000000620000003e000000 + m_ClosingTagArray: 3c0000002f000000630000006f0000006c0000006f000000720000003e0000003c0000002f000000620000003e000000 diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta new file mode 100755 index 000000000..95fd96ed4 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f952c082cb03451daed3ee968ac6c63e +timeCreated: 1432805430 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/TMP Settings.asset b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/TMP Settings.asset new file mode 100755 index 000000000..c09a92f1c --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/TMP Settings.asset @@ -0,0 +1,46 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2705215ac5b84b70bacc50632be6e391, type: 3} + m_Name: TMP Settings + m_EditorClassIdentifier: + m_enableWordWrapping: 1 + m_enableKerning: 1 + m_enableExtraPadding: 0 + m_enableTintAllSprites: 0 + m_enableParseEscapeCharacters: 1 + m_EnableRaycastTarget: 1 + m_GetFontFeaturesAtRuntime: 1 + m_missingGlyphCharacter: 0 + m_warningsDisabled: 0 + m_defaultFontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_defaultFontAssetPath: Fonts & Materials/ + m_defaultFontSize: 36 + m_defaultAutoSizeMinRatio: 0.5 + m_defaultAutoSizeMaxRatio: 2 + m_defaultTextMeshProTextContainerSize: {x: 20, y: 5} + m_defaultTextMeshProUITextContainerSize: {x: 200, y: 50} + m_autoSizeTextContainer: 0 + m_fallbackFontAssets: [] + m_matchMaterialPreset: 1 + m_defaultSpriteAsset: {fileID: 11400000, guid: c41005c129ba4d66911b75229fd70b45, + type: 2} + m_defaultSpriteAssetPath: Sprite Assets/ + m_enableEmojiSupport: 1 + m_MissingCharacterSpriteUnicode: 0 + m_defaultColorGradientPresetsPath: Color Gradient Presets/ + m_defaultStyleSheet: {fileID: 11400000, guid: f952c082cb03451daed3ee968ac6c63e, + type: 2} + m_StyleSheetsResourcePath: + m_leadingCharacters: {fileID: 4900000, guid: d82c1b31c7e74239bff1220585707d2b, type: 3} + m_followingCharacters: {fileID: 4900000, guid: fade42e8bc714b018fac513c043d323b, + type: 3} + m_UseModernHangulLineBreakingRules: 0 diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/TMP Settings.asset.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/TMP Settings.asset.meta new file mode 100755 index 000000000..32db3845d --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Resources/TMP Settings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3f5b5dff67a942289a9defa416b206f3 +timeCreated: 1436653997 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders.meta new file mode 100755 index 000000000..29a90a6a6 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e9f693669af91aa45ad615fc681ed29f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader new file mode 100755 index 000000000..bab2b2c67 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader @@ -0,0 +1,143 @@ +Shader "TextMeshPro/Bitmap Custom Atlas" { + +Properties { + _MainTex ("Font Atlas", 2D) = "white" {} + _FaceTex ("Font Texture", 2D) = "white" {} + [HDR]_FaceColor ("Text Color", Color) = (1,1,1,1) + + _VertexOffsetX ("Vertex OffsetX", float) = 0 + _VertexOffsetY ("Vertex OffsetY", float) = 0 + _MaskSoftnessX ("Mask SoftnessX", float) = 0 + _MaskSoftnessY ("Mask SoftnessY", float) = 0 + + _ClipRect("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + _Padding ("Padding", float) = 0 + + _StencilComp("Stencil Comparison", Float) = 8 + _Stencil("Stencil ID", Float) = 0 + _StencilOp("Stencil Operation", Float) = 0 + _StencilWriteMask("Stencil Write Mask", Float) = 255 + _StencilReadMask("Stencil Read Mask", Float) = 255 + + _CullMode("Cull Mode", Float) = 0 + _ColorMask("Color Mask", Float) = 15 +} + +SubShader{ + + Tags { "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" } + + Stencil + { + Ref[_Stencil] + Comp[_StencilComp] + Pass[_StencilOp] + ReadMask[_StencilReadMask] + WriteMask[_StencilWriteMask] + } + + + Lighting Off + Cull [_CullMode] + ZTest [unity_GUIZTestMode] + ZWrite Off + Fog { Mode Off } + Blend SrcAlpha OneMinusSrcAlpha + ColorMask[_ColorMask] + + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + + #include "UnityCG.cginc" + + struct appdata_t { + float4 vertex : POSITION; + fixed4 color : COLOR; + float2 texcoord0 : TEXCOORD0; + float2 texcoord1 : TEXCOORD1; + }; + + struct v2f { + float4 vertex : SV_POSITION; + fixed4 color : COLOR; + float2 texcoord0 : TEXCOORD0; + float2 texcoord1 : TEXCOORD1; + float4 mask : TEXCOORD2; + }; + + uniform sampler2D _MainTex; + uniform sampler2D _FaceTex; + uniform float4 _FaceTex_ST; + uniform fixed4 _FaceColor; + + uniform float _VertexOffsetX; + uniform float _VertexOffsetY; + uniform float4 _ClipRect; + uniform float _MaskSoftnessX; + uniform float _MaskSoftnessY; + + float2 UnpackUV(float uv) + { + float2 output; + output.x = floor(uv / 4096); + output.y = uv - 4096 * output.x; + + return output * 0.001953125; + } + + v2f vert (appdata_t v) + { + float4 vert = v.vertex; + vert.x += _VertexOffsetX; + vert.y += _VertexOffsetY; + + vert.xy += (vert.w * 0.5) / _ScreenParams.xy; + + float4 vPosition = UnityPixelSnap(UnityObjectToClipPos(vert)); + + fixed4 faceColor = v.color; + faceColor *= _FaceColor; + + v2f OUT; + OUT.vertex = vPosition; + OUT.color = faceColor; + OUT.texcoord0 = v.texcoord0; + OUT.texcoord1 = TRANSFORM_TEX(UnpackUV(v.texcoord1), _FaceTex); + float2 pixelSize = vPosition.w; + pixelSize /= abs(float2(_ScreenParams.x * UNITY_MATRIX_P[0][0], _ScreenParams.y * UNITY_MATRIX_P[1][1])); + + // Clamp _ClipRect to 16bit. + float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); + OUT.mask = float4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)); + + return OUT; + } + + fixed4 frag (v2f IN) : SV_Target + { + fixed4 color = tex2D(_MainTex, IN.texcoord0) * tex2D(_FaceTex, IN.texcoord1) * IN.color; + + // Alternative implementation to UnityGet2DClipping with support for softness. + #if UNITY_UI_CLIP_RECT + half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(IN.mask.xy)) * IN.mask.zw); + color *= m.x * m.y; + #endif + + #if UNITY_UI_ALPHACLIP + clip(color.a - 0.001); + #endif + + return color; + } + ENDCG + } +} + + CustomEditor "TMPro.EditorUtilities.TMP_BitmapShaderGUI" +} diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta new file mode 100755 index 000000000..0a416c85b --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 48bb5f55d8670e349b6e614913f9d910 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader new file mode 100755 index 000000000..006a271ee --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader @@ -0,0 +1,145 @@ +Shader "TextMeshPro/Mobile/Bitmap" { + +Properties { + _MainTex ("Font Atlas", 2D) = "white" {} + [HDR]_Color ("Text Color", Color) = (1,1,1,1) + _DiffusePower ("Diffuse Power", Range(1.0,4.0)) = 1.0 + + _VertexOffsetX("Vertex OffsetX", float) = 0 + _VertexOffsetY("Vertex OffsetY", float) = 0 + _MaskSoftnessX("Mask SoftnessX", float) = 0 + _MaskSoftnessY("Mask SoftnessY", float) = 0 + + _ClipRect("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + + _StencilComp("Stencil Comparison", Float) = 8 + _Stencil("Stencil ID", Float) = 0 + _StencilOp("Stencil Operation", Float) = 0 + _StencilWriteMask("Stencil Write Mask", Float) = 255 + _StencilReadMask("Stencil Read Mask", Float) = 255 + + _CullMode("Cull Mode", Float) = 0 + _ColorMask("Color Mask", Float) = 15 +} + +SubShader { + + Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } + + Stencil + { + Ref[_Stencil] + Comp[_StencilComp] + Pass[_StencilOp] + ReadMask[_StencilReadMask] + WriteMask[_StencilWriteMask] + } + + + Lighting Off + Cull [_CullMode] + ZTest [unity_GUIZTestMode] + ZWrite Off + Fog { Mode Off } + Blend SrcAlpha OneMinusSrcAlpha + ColorMask[_ColorMask] + + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + + #include "UnityCG.cginc" + + struct appdata_t { + float4 vertex : POSITION; + fixed4 color : COLOR; + float2 texcoord0 : TEXCOORD0; + float2 texcoord1 : TEXCOORD1; + }; + + struct v2f { + float4 vertex : POSITION; + fixed4 color : COLOR; + float2 texcoord0 : TEXCOORD0; + float4 mask : TEXCOORD2; + }; + + sampler2D _MainTex; + fixed4 _Color; + float _DiffusePower; + + uniform float _VertexOffsetX; + uniform float _VertexOffsetY; + uniform float4 _ClipRect; + uniform float _MaskSoftnessX; + uniform float _MaskSoftnessY; + + v2f vert (appdata_t v) + { + v2f OUT; + float4 vert = v.vertex; + vert.x += _VertexOffsetX; + vert.y += _VertexOffsetY; + + vert.xy += (vert.w * 0.5) / _ScreenParams.xy; + + OUT.vertex = UnityPixelSnap(UnityObjectToClipPos(vert)); + OUT.color = v.color; + OUT.color *= _Color; + OUT.color.rgb *= _DiffusePower; + OUT.texcoord0 = v.texcoord0; + + float2 pixelSize = OUT.vertex.w; + //pixelSize /= abs(float2(_ScreenParams.x * UNITY_MATRIX_P[0][0], _ScreenParams.y * UNITY_MATRIX_P[1][1])); + + // Clamp _ClipRect to 16bit. + float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); + OUT.mask = float4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)); + + return OUT; + } + + fixed4 frag (v2f IN) : COLOR + { + fixed4 color = fixed4(IN.color.rgb, IN.color.a * tex2D(_MainTex, IN.texcoord0).a); + + // Alternative implementation to UnityGet2DClipping with support for softness. + #if UNITY_UI_CLIP_RECT + half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(IN.mask.xy)) * IN.mask.zw); + color *= m.x * m.y; + #endif + + #if UNITY_UI_ALPHACLIP + clip(color.a - 0.001); + #endif + + return color; + } + ENDCG + } +} + +SubShader { + Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } + Lighting Off Cull Off ZTest Always ZWrite Off Fog { Mode Off } + Blend SrcAlpha OneMinusSrcAlpha + BindChannels { + Bind "Color", color + Bind "Vertex", vertex + Bind "TexCoord", texcoord0 + } + Pass { + SetTexture [_MainTex] { + constantColor [_Color] combine constant * primary, constant * texture + } + } +} + +CustomEditor "TMPro.EditorUtilities.TMP_BitmapShaderGUI" +} diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta new file mode 100755 index 000000000..d5fb125e1 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1e3b057af24249748ff873be7fafee47 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader new file mode 100755 index 000000000..8ce4937a0 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader @@ -0,0 +1,143 @@ +Shader "TextMeshPro/Bitmap" { + +Properties { + _MainTex ("Font Atlas", 2D) = "white" {} + _FaceTex ("Font Texture", 2D) = "white" {} + [HDR]_FaceColor ("Text Color", Color) = (1,1,1,1) + + _VertexOffsetX ("Vertex OffsetX", float) = 0 + _VertexOffsetY ("Vertex OffsetY", float) = 0 + _MaskSoftnessX ("Mask SoftnessX", float) = 0 + _MaskSoftnessY ("Mask SoftnessY", float) = 0 + + _ClipRect("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + + _StencilComp("Stencil Comparison", Float) = 8 + _Stencil("Stencil ID", Float) = 0 + _StencilOp("Stencil Operation", Float) = 0 + _StencilWriteMask("Stencil Write Mask", Float) = 255 + _StencilReadMask("Stencil Read Mask", Float) = 255 + + _CullMode("Cull Mode", Float) = 0 + _ColorMask("Color Mask", Float) = 15 +} + +SubShader{ + + Tags { "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" } + + Stencil + { + Ref[_Stencil] + Comp[_StencilComp] + Pass[_StencilOp] + ReadMask[_StencilReadMask] + WriteMask[_StencilWriteMask] + } + + + Lighting Off + Cull [_CullMode] + ZTest [unity_GUIZTestMode] + ZWrite Off + Fog { Mode Off } + Blend SrcAlpha OneMinusSrcAlpha + ColorMask[_ColorMask] + + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + + #include "UnityCG.cginc" + + struct appdata_t { + float4 vertex : POSITION; + fixed4 color : COLOR; + float2 texcoord0 : TEXCOORD0; + float2 texcoord1 : TEXCOORD1; + }; + + struct v2f { + float4 vertex : SV_POSITION; + fixed4 color : COLOR; + float2 texcoord0 : TEXCOORD0; + float2 texcoord1 : TEXCOORD1; + float4 mask : TEXCOORD2; + }; + + uniform sampler2D _MainTex; + uniform sampler2D _FaceTex; + uniform float4 _FaceTex_ST; + uniform fixed4 _FaceColor; + + uniform float _VertexOffsetX; + uniform float _VertexOffsetY; + uniform float4 _ClipRect; + uniform float _MaskSoftnessX; + uniform float _MaskSoftnessY; + + float2 UnpackUV(float uv) + { + float2 output; + output.x = floor(uv / 4096); + output.y = uv - 4096 * output.x; + + return output * 0.001953125; + } + + v2f vert (appdata_t v) + { + float4 vert = v.vertex; + vert.x += _VertexOffsetX; + vert.y += _VertexOffsetY; + + vert.xy += (vert.w * 0.5) / _ScreenParams.xy; + + float4 vPosition = UnityPixelSnap(UnityObjectToClipPos(vert)); + + fixed4 faceColor = v.color; + faceColor *= _FaceColor; + + v2f OUT; + OUT.vertex = vPosition; + OUT.color = faceColor; + OUT.texcoord0 = v.texcoord0; + OUT.texcoord1 = TRANSFORM_TEX(UnpackUV(v.texcoord1), _FaceTex); + float2 pixelSize = vPosition.w; + pixelSize /= abs(float2(_ScreenParams.x * UNITY_MATRIX_P[0][0], _ScreenParams.y * UNITY_MATRIX_P[1][1])); + + // Clamp _ClipRect to 16bit. + float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); + OUT.mask = float4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)); + + return OUT; + } + + fixed4 frag (v2f IN) : SV_Target + { + fixed4 color = tex2D(_MainTex, IN.texcoord0); + color = fixed4 (tex2D(_FaceTex, IN.texcoord1).rgb * IN.color.rgb, IN.color.a * color.a); + + // Alternative implementation to UnityGet2DClipping with support for softness. + #if UNITY_UI_CLIP_RECT + half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(IN.mask.xy)) * IN.mask.zw); + color *= m.x * m.y; + #endif + + #if UNITY_UI_ALPHACLIP + clip(color.a - 0.001); + #endif + + return color; + } + ENDCG + } +} + + CustomEditor "TMPro.EditorUtilities.TMP_BitmapShaderGUI" +} diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta new file mode 100755 index 000000000..7eb1870f8 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 128e987d567d4e2c824d754223b3f3b0 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader new file mode 100755 index 000000000..c50c5930d --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader @@ -0,0 +1,317 @@ +Shader "TextMeshPro/Distance Field Overlay" { + +Properties { + _FaceTex ("Face Texture", 2D) = "white" {} + _FaceUVSpeedX ("Face UV Speed X", Range(-5, 5)) = 0.0 + _FaceUVSpeedY ("Face UV Speed Y", Range(-5, 5)) = 0.0 + [HDR]_FaceColor ("Face Color", Color) = (1,1,1,1) + _FaceDilate ("Face Dilate", Range(-1,1)) = 0 + + [HDR]_OutlineColor ("Outline Color", Color) = (0,0,0,1) + _OutlineTex ("Outline Texture", 2D) = "white" {} + _OutlineUVSpeedX ("Outline UV Speed X", Range(-5, 5)) = 0.0 + _OutlineUVSpeedY ("Outline UV Speed Y", Range(-5, 5)) = 0.0 + _OutlineWidth ("Outline Thickness", Range(0, 1)) = 0 + _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 + + _Bevel ("Bevel", Range(0,1)) = 0.5 + _BevelOffset ("Bevel Offset", Range(-0.5,0.5)) = 0 + _BevelWidth ("Bevel Width", Range(-.5,0.5)) = 0 + _BevelClamp ("Bevel Clamp", Range(0,1)) = 0 + _BevelRoundness ("Bevel Roundness", Range(0,1)) = 0 + + _LightAngle ("Light Angle", Range(0.0, 6.2831853)) = 3.1416 + [HDR]_SpecularColor ("Specular", Color) = (1,1,1,1) + _SpecularPower ("Specular", Range(0,4)) = 2.0 + _Reflectivity ("Reflectivity", Range(5.0,15.0)) = 10 + _Diffuse ("Diffuse", Range(0,1)) = 0.5 + _Ambient ("Ambient", Range(1,0)) = 0.5 + + _BumpMap ("Normal map", 2D) = "bump" {} + _BumpOutline ("Bump Outline", Range(0,1)) = 0 + _BumpFace ("Bump Face", Range(0,1)) = 0 + + _ReflectFaceColor ("Reflection Color", Color) = (0,0,0,1) + _ReflectOutlineColor("Reflection Color", Color) = (0,0,0,1) + _Cube ("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ } + _EnvMatrixRotation ("Texture Rotation", vector) = (0, 0, 0, 0) + + + [HDR]_UnderlayColor ("Border Color", Color) = (0,0,0, 0.5) + _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 + _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 + _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 + _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 + + [HDR]_GlowColor ("Color", Color) = (0, 1, 0, 0.5) + _GlowOffset ("Offset", Range(-1,1)) = 0 + _GlowInner ("Inner", Range(0,1)) = 0.05 + _GlowOuter ("Outer", Range(0,1)) = 0.05 + _GlowPower ("Falloff", Range(1, 0)) = 0.75 + + _WeightNormal ("Weight Normal", float) = 0 + _WeightBold ("Weight Bold", float) = 0.5 + + _ShaderFlags ("Flags", float) = 0 + _ScaleRatioA ("Scale RatioA", float) = 1 + _ScaleRatioB ("Scale RatioB", float) = 1 + _ScaleRatioC ("Scale RatioC", float) = 1 + + _MainTex ("Font Atlas", 2D) = "white" {} + _TextureWidth ("Texture Width", float) = 512 + _TextureHeight ("Texture Height", float) = 512 + _GradientScale ("Gradient Scale", float) = 5.0 + _ScaleX ("Scale X", float) = 1.0 + _ScaleY ("Scale Y", float) = 1.0 + _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 + _Sharpness ("Sharpness", Range(-1,1)) = 0 + + _VertexOffsetX ("Vertex OffsetX", float) = 0 + _VertexOffsetY ("Vertex OffsetY", float) = 0 + + _MaskCoord ("Mask Coordinates", vector) = (0, 0, 32767, 32767) + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + _MaskSoftnessX ("Mask SoftnessX", float) = 0 + _MaskSoftnessY ("Mask SoftnessY", float) = 0 + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _CullMode ("Cull Mode", Float) = 0 + _ColorMask ("Color Mask", Float) = 15 +} + +SubShader { + + Tags + { + "Queue"="Overlay" + "IgnoreProjector"="True" + "RenderType"="Transparent" + } + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull [_CullMode] + ZWrite Off + Lighting Off + Fog { Mode Off } + ZTest Always + Blend One OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass { + CGPROGRAM + #pragma target 3.0 + #pragma vertex VertShader + #pragma fragment PixShader + #pragma shader_feature __ BEVEL_ON + #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER + #pragma shader_feature __ GLOW_ON + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "TMPro_Properties.cginc" + #include "TMPro.cginc" + + struct vertex_t { + UNITY_VERTEX_INPUT_INSTANCE_ID + float4 position : POSITION; + float3 normal : NORMAL; + fixed4 color : COLOR; + float2 texcoord0 : TEXCOORD0; + float2 texcoord1 : TEXCOORD1; + }; + + + struct pixel_t { + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + float4 position : SV_POSITION; + fixed4 color : COLOR; + float2 atlas : TEXCOORD0; // Atlas + float4 param : TEXCOORD1; // alphaClip, scale, bias, weight + float4 mask : TEXCOORD2; // Position in object space(xy), pixel Size(zw) + float3 viewDir : TEXCOORD3; + + #if (UNDERLAY_ON || UNDERLAY_INNER) + float4 texcoord2 : TEXCOORD4; // u,v, scale, bias + fixed4 underlayColor : COLOR1; + #endif + float4 textures : TEXCOORD5; + }; + + // Used by Unity internally to handle Texture Tiling and Offset. + float4 _FaceTex_ST; + float4 _OutlineTex_ST; + + pixel_t VertShader(vertex_t input) + { + pixel_t output; + + UNITY_INITIALIZE_OUTPUT(pixel_t, output); + UNITY_SETUP_INSTANCE_ID(input); + UNITY_TRANSFER_INSTANCE_ID(input,output); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); + + float bold = step(input.texcoord1.y, 0); + + float4 vert = input.position; + vert.x += _VertexOffsetX; + vert.y += _VertexOffsetY; + + float4 vPosition = UnityObjectToClipPos(vert); + + float2 pixelSize = vPosition.w; + pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy)); + float scale = rsqrt(dot(pixelSize, pixelSize)); + scale *= abs(input.texcoord1.y) * _GradientScale * (_Sharpness + 1); + if (UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert))))); + + float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0; + weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5; + + float bias =(.5 - weight) + (.5 / scale); + + float alphaClip = (1.0 - _OutlineWidth*_ScaleRatioA - _OutlineSoftness*_ScaleRatioA); + + #if GLOW_ON + alphaClip = min(alphaClip, 1.0 - _GlowOffset * _ScaleRatioB - _GlowOuter * _ScaleRatioB); + #endif + + alphaClip = alphaClip / 2.0 - ( .5 / scale) - weight; + + #if (UNDERLAY_ON || UNDERLAY_INNER) + float4 underlayColor = _UnderlayColor; + underlayColor.rgb *= underlayColor.a; + + float bScale = scale; + bScale /= 1 + ((_UnderlaySoftness*_ScaleRatioC) * bScale); + float bBias = (0.5 - weight) * bScale - 0.5 - ((_UnderlayDilate * _ScaleRatioC) * 0.5 * bScale); + + float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth; + float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight; + float2 bOffset = float2(x, y); + #endif + + // Generate UV for the Masking Texture + float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); + float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy); + + // Support for texture tiling and offset + float2 textureUV = UnpackUV(input.texcoord1.x); + float2 faceUV = TRANSFORM_TEX(textureUV, _FaceTex); + float2 outlineUV = TRANSFORM_TEX(textureUV, _OutlineTex); + + + output.position = vPosition; + output.color = input.color; + output.atlas = input.texcoord0; + output.param = float4(alphaClip, scale, bias, weight); + output.mask = half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)); + output.viewDir = mul((float3x3)_EnvMatrix, _WorldSpaceCameraPos.xyz - mul(unity_ObjectToWorld, vert).xyz); + #if (UNDERLAY_ON || UNDERLAY_INNER) + output.texcoord2 = float4(input.texcoord0 + bOffset, bScale, bBias); + output.underlayColor = underlayColor; + #endif + output.textures = float4(faceUV, outlineUV); + + return output; + } + + + fixed4 PixShader(pixel_t input) : SV_Target + { + UNITY_SETUP_INSTANCE_ID(input); + + float c = tex2D(_MainTex, input.atlas).a; + + #ifndef UNDERLAY_ON + clip(c - input.param.x); + #endif + + float scale = input.param.y; + float bias = input.param.z; + float weight = input.param.w; + float sd = (bias - c) * scale; + + float outline = (_OutlineWidth * _ScaleRatioA) * scale; + float softness = (_OutlineSoftness * _ScaleRatioA) * scale; + + half4 faceColor = _FaceColor; + half4 outlineColor = _OutlineColor; + + faceColor.rgb *= input.color.rgb; + + faceColor *= tex2D(_FaceTex, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y); + outlineColor *= tex2D(_OutlineTex, input.textures.zw + float2(_OutlineUVSpeedX, _OutlineUVSpeedY) * _Time.y); + + faceColor = GetColor(sd, faceColor, outlineColor, outline, softness); + + #if BEVEL_ON + float3 dxy = float3(0.5 / _TextureWidth, 0.5 / _TextureHeight, 0); + float3 n = GetSurfaceNormal(input.atlas, weight, dxy); + + float3 bump = UnpackNormal(tex2D(_BumpMap, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y)).xyz; + bump *= lerp(_BumpFace, _BumpOutline, saturate(sd + outline * 0.5)); + n = normalize(n- bump); + + float3 light = normalize(float3(sin(_LightAngle), cos(_LightAngle), -1.0)); + + float3 col = GetSpecular(n, light); + faceColor.rgb += col*faceColor.a; + faceColor.rgb *= 1-(dot(n, light)*_Diffuse); + faceColor.rgb *= lerp(_Ambient, 1, n.z*n.z); + + fixed4 reflcol = texCUBE(_Cube, reflect(input.viewDir, -n)); + faceColor.rgb += reflcol.rgb * lerp(_ReflectFaceColor.rgb, _ReflectOutlineColor.rgb, saturate(sd + outline * 0.5)) * faceColor.a; + #endif + + #if UNDERLAY_ON + float d = tex2D(_MainTex, input.texcoord2.xy).a * input.texcoord2.z; + faceColor += input.underlayColor * saturate(d - input.texcoord2.w) * (1 - faceColor.a); + #endif + + #if UNDERLAY_INNER + float d = tex2D(_MainTex, input.texcoord2.xy).a * input.texcoord2.z; + faceColor += input.underlayColor * (1 - saturate(d - input.texcoord2.w)) * saturate(1 - sd) * (1 - faceColor.a); + #endif + + #if GLOW_ON + float4 glowColor = GetGlowColor(sd, scale); + faceColor.rgb += glowColor.rgb * glowColor.a; + #endif + + // Alternative implementation to UnityGet2DClipping with support for softness. + #if UNITY_UI_CLIP_RECT + half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw); + faceColor *= m.x * m.y; + #endif + + #if UNITY_UI_ALPHACLIP + clip(faceColor.a - 0.001); + #endif + + return faceColor * input.color.a; + } + + ENDCG + } +} + +Fallback "TextMeshPro/Mobile/Distance Field" +CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" +} diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta new file mode 100755 index 000000000..56284e9fd --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: dd89cf5b9246416f84610a006f916af7 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader new file mode 100755 index 000000000..ed48574d5 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader @@ -0,0 +1,310 @@ +Shader "TextMeshPro/Distance Field SSD" { + +Properties { + _FaceTex ("Face Texture", 2D) = "white" {} + _FaceUVSpeedX ("Face UV Speed X", Range(-5, 5)) = 0.0 + _FaceUVSpeedY ("Face UV Speed Y", Range(-5, 5)) = 0.0 + [HDR]_FaceColor ("Face Color", Color) = (1,1,1,1) + _FaceDilate ("Face Dilate", Range(-1,1)) = 0 + + [HDR]_OutlineColor ("Outline Color", Color) = (0,0,0,1) + _OutlineTex ("Outline Texture", 2D) = "white" {} + _OutlineUVSpeedX ("Outline UV Speed X", Range(-5, 5)) = 0.0 + _OutlineUVSpeedY ("Outline UV Speed Y", Range(-5, 5)) = 0.0 + _OutlineWidth ("Outline Thickness", Range(0, 1)) = 0 + _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 + + _Bevel ("Bevel", Range(0,1)) = 0.5 + _BevelOffset ("Bevel Offset", Range(-0.5,0.5)) = 0 + _BevelWidth ("Bevel Width", Range(-.5,0.5)) = 0 + _BevelClamp ("Bevel Clamp", Range(0,1)) = 0 + _BevelRoundness ("Bevel Roundness", Range(0,1)) = 0 + + _LightAngle ("Light Angle", Range(0.0, 6.2831853)) = 3.1416 + [HDR]_SpecularColor ("Specular", Color) = (1,1,1,1) + _SpecularPower ("Specular", Range(0,4)) = 2.0 + _Reflectivity ("Reflectivity", Range(5.0,15.0)) = 10 + _Diffuse ("Diffuse", Range(0,1)) = 0.5 + _Ambient ("Ambient", Range(1,0)) = 0.5 + + _BumpMap ("Normal map", 2D) = "bump" {} + _BumpOutline ("Bump Outline", Range(0,1)) = 0 + _BumpFace ("Bump Face", Range(0,1)) = 0 + + _ReflectFaceColor ("Reflection Color", Color) = (0,0,0,1) + _ReflectOutlineColor("Reflection Color", Color) = (0,0,0,1) + _Cube ("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ } + _EnvMatrixRotation ("Texture Rotation", vector) = (0, 0, 0, 0) + + + [HDR]_UnderlayColor ("Border Color", Color) = (0,0,0, 0.5) + _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 + _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 + _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 + _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 + + [HDR]_GlowColor ("Color", Color) = (0, 1, 0, 0.5) + _GlowOffset ("Offset", Range(-1,1)) = 0 + _GlowInner ("Inner", Range(0,1)) = 0.05 + _GlowOuter ("Outer", Range(0,1)) = 0.05 + _GlowPower ("Falloff", Range(1, 0)) = 0.75 + + _WeightNormal ("Weight Normal", float) = 0 + _WeightBold ("Weight Bold", float) = 0.5 + + _ShaderFlags ("Flags", float) = 0 + _ScaleRatioA ("Scale RatioA", float) = 1 + _ScaleRatioB ("Scale RatioB", float) = 1 + _ScaleRatioC ("Scale RatioC", float) = 1 + + _MainTex ("Font Atlas", 2D) = "white" {} + _TextureWidth ("Texture Width", float) = 512 + _TextureHeight ("Texture Height", float) = 512 + _GradientScale ("Gradient Scale", float) = 5.0 + _ScaleX ("Scale X", float) = 1.0 + _ScaleY ("Scale Y", float) = 1.0 + _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 + _Sharpness ("Sharpness", Range(-1,1)) = 0 + + _VertexOffsetX ("Vertex OffsetX", float) = 0 + _VertexOffsetY ("Vertex OffsetY", float) = 0 + + _MaskCoord ("Mask Coordinates", vector) = (0, 0, 32767, 32767) + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + _MaskSoftnessX ("Mask SoftnessX", float) = 0 + _MaskSoftnessY ("Mask SoftnessY", float) = 0 + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _CullMode ("Cull Mode", Float) = 0 + _ColorMask ("Color Mask", Float) = 15 +} + +SubShader { + Tags + { + "Queue" = "Transparent" + "IgnoreProjector" = "True" + "RenderType" = "Transparent" + } + + Stencil + { + Ref[_Stencil] + Comp[_StencilComp] + Pass[_StencilOp] + ReadMask[_StencilReadMask] + WriteMask[_StencilWriteMask] + } + + Cull[_CullMode] + ZWrite Off + Lighting Off + Fog { Mode Off } + ZTest[unity_GUIZTestMode] + Blend One OneMinusSrcAlpha + ColorMask[_ColorMask] + + Pass { + CGPROGRAM + #pragma target 3.0 + #pragma vertex VertShader + #pragma fragment PixShader + #pragma shader_feature __ BEVEL_ON + #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER + #pragma shader_feature __ GLOW_ON + #pragma shader_feature __ FORCE_LINEAR + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "TMPro_Properties.cginc" + #include "TMPro.cginc" + + struct vertex_t { + UNITY_VERTEX_INPUT_INSTANCE_ID + float4 position : POSITION; + float3 normal : NORMAL; + float4 color : COLOR; + float2 texcoord0 : TEXCOORD0; + float2 texcoord1 : TEXCOORD1; + }; + + + struct pixel_t { + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + float4 position : SV_POSITION; + float4 color : COLOR; + float2 atlas : TEXCOORD0; + float weight : TEXCOORD1; + float2 mask : TEXCOORD2; // Position in object space(xy) + float3 viewDir : TEXCOORD3; + + #if (UNDERLAY_ON || UNDERLAY_INNER) + float2 texcoord2 : TEXCOORD4; + float4 underlayColor : COLOR1; + #endif + float4 textures : TEXCOORD5; + }; + + // Used by Unity internally to handle Texture Tiling and Offset. + float4 _FaceTex_ST; + float4 _OutlineTex_ST; + + float4 SRGBToLinear(float4 rgba) { + return float4(lerp(rgba.rgb / 12.92f, pow((rgba.rgb + 0.055f) / 1.055f, 2.4f), step(0.04045f, rgba.rgb)), rgba.a); + } + + pixel_t VertShader(vertex_t input) + { + pixel_t output; + + UNITY_INITIALIZE_OUTPUT(pixel_t, output); + UNITY_SETUP_INSTANCE_ID(input); + UNITY_TRANSFER_INSTANCE_ID(input,output); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); + + float bold = step(input.texcoord1.y, 0); + + float4 vert = input.position; + vert.x += _VertexOffsetX; + vert.y += _VertexOffsetY; + + float4 vPosition = UnityObjectToClipPos(vert); + + float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0; + weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5; + + #if (UNDERLAY_ON || UNDERLAY_INNER) + float4 underlayColor = _UnderlayColor; + underlayColor.rgb *= underlayColor.a; + + float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth; + float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight; + float2 bOffset = float2(x, y); + #endif + + // Generate UV for the Masking Texture + float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); + + // Support for texture tiling and offset + float2 textureUV = UnpackUV(input.texcoord1.x); + float2 faceUV = TRANSFORM_TEX(textureUV, _FaceTex); + float2 outlineUV = TRANSFORM_TEX(textureUV, _OutlineTex); + + float4 color = input.color; + #if (FORCE_LINEAR && !UNITY_COLORSPACE_GAMMA) + color = SRGBToLinear(input.color); + #endif + + output.position = vPosition; + output.color = color; + output.atlas = input.texcoord0; + output.weight = weight; + output.mask = half2(vert.xy * 2 - clampedRect.xy - clampedRect.zw); + output.viewDir = mul((float3x3)_EnvMatrix, _WorldSpaceCameraPos.xyz - mul(unity_ObjectToWorld, vert).xyz); + #if (UNDERLAY_ON || UNDERLAY_INNER) + output.texcoord2 = input.texcoord0 + bOffset; + output.underlayColor = underlayColor; + #endif + output.textures = float4(faceUV, outlineUV); + + return output; + } + + + fixed4 PixShader(pixel_t input) : SV_Target + { + UNITY_SETUP_INSTANCE_ID(input); + + float c = tex2D(_MainTex, input.atlas).a; + + float2 pixelSize = float2(ddx(input.atlas.y), ddy(input.atlas.y)); + pixelSize *= _TextureWidth * .75; + float scale = rsqrt(dot(pixelSize, pixelSize)) * _GradientScale * (_Sharpness + 1); + + float weight = input.weight; + float bias = (.5 - weight) + (.5 / scale); + float sd = (bias - c) * scale; + + float outline = (_OutlineWidth * _ScaleRatioA) * scale; + float softness = (_OutlineSoftness * _ScaleRatioA) * scale; + + half4 faceColor = _FaceColor; + half4 outlineColor = _OutlineColor; + + faceColor.rgb *= input.color.rgb; + + faceColor *= tex2D(_FaceTex, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y); + outlineColor *= tex2D(_OutlineTex, input.textures.zw + float2(_OutlineUVSpeedX, _OutlineUVSpeedY) * _Time.y); + + faceColor = GetColor(sd, faceColor, outlineColor, outline, softness); + + #if BEVEL_ON + float3 dxy = float3(0.5 / _TextureWidth, 0.5 / _TextureHeight, 0); + float3 n = GetSurfaceNormal(input.atlas, weight, dxy); + + float3 bump = UnpackNormal(tex2D(_BumpMap, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y)).xyz; + bump *= lerp(_BumpFace, _BumpOutline, saturate(sd + outline * 0.5)); + n = normalize(n - bump); + + float3 light = normalize(float3(sin(_LightAngle), cos(_LightAngle), -1.0)); + + float3 col = GetSpecular(n, light); + faceColor.rgb += col * faceColor.a; + faceColor.rgb *= 1 - (dot(n, light) * _Diffuse); + faceColor.rgb *= lerp(_Ambient, 1, n.z * n.z); + + fixed4 reflcol = texCUBE(_Cube, reflect(input.viewDir, -n)); + faceColor.rgb += reflcol.rgb * lerp(_ReflectFaceColor.rgb, _ReflectOutlineColor.rgb, saturate(sd + outline * 0.5)) * faceColor.a; + #endif + + #if (UNDERLAY_ON || UNDERLAY_INNER) + float bScale = scale; + bScale /= 1 + ((_UnderlaySoftness * _ScaleRatioC) * bScale); + float bBias = (0.5 - weight) * bScale - 0.5 - ((_UnderlayDilate * _ScaleRatioC) * 0.5 * bScale); + #endif + + #if UNDERLAY_ON + float d = tex2D(_MainTex, input.texcoord2.xy).a * bScale; + faceColor += input.underlayColor * saturate(d - bBias) * (1 - faceColor.a); + #endif + + #if UNDERLAY_INNER + float d = tex2D(_MainTex, input.texcoord2.xy).a * bScale; + faceColor += input.underlayColor * (1 - saturate(d - bBias)) * saturate(1 - sd) * (1 - faceColor.a); + #endif + + #if GLOW_ON + float4 glowColor = GetGlowColor(sd, scale); + faceColor.rgb += glowColor.rgb * glowColor.a; + #endif + + // Alternative implementation to UnityGet2DClipping with support for softness. + #if UNITY_UI_CLIP_RECT + float2 maskZW = 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + (1 / scale)); + half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * maskZW); + faceColor *= m.x * m.y; + #endif + + #if UNITY_UI_ALPHACLIP + clip(faceColor.a - 0.001); + #endif + + return faceColor * input.color.a; + } + + ENDCG + } +} + +Fallback "TextMeshPro/Mobile/Distance Field" +CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" +} diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta new file mode 100755 index 000000000..08cd8ae5b --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 14eb328de4b8eb245bb7cea29e4ac00b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader new file mode 100755 index 000000000..7019aaf4b --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader @@ -0,0 +1,247 @@ +// Simplified SDF shader: +// - No Shading Option (bevel / bump / env map) +// - No Glow Option +// - Softness is applied on both side of the outline + +Shader "TextMeshPro/Mobile/Distance Field - Masking" { + +Properties { + [HDR]_FaceColor ("Face Color", Color) = (1,1,1,1) + _FaceDilate ("Face Dilate", Range(-1,1)) = 0 + + [HDR]_OutlineColor ("Outline Color", Color) = (0,0,0,1) + _OutlineWidth ("Outline Thickness", Range(0,1)) = 0 + _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 + + [HDR]_UnderlayColor ("Border Color", Color) = (0,0,0,.5) + _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 + _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 + _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 + _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 + + _WeightNormal ("Weight Normal", float) = 0 + _WeightBold ("Weight Bold", float) = .5 + + _ShaderFlags ("Flags", float) = 0 + _ScaleRatioA ("Scale RatioA", float) = 1 + _ScaleRatioB ("Scale RatioB", float) = 1 + _ScaleRatioC ("Scale RatioC", float) = 1 + + _MainTex ("Font Atlas", 2D) = "white" {} + _TextureWidth ("Texture Width", float) = 512 + _TextureHeight ("Texture Height", float) = 512 + _GradientScale ("Gradient Scale", float) = 5 + _ScaleX ("Scale X", float) = 1 + _ScaleY ("Scale Y", float) = 1 + _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 + _Sharpness ("Sharpness", Range(-1,1)) = 0 + + _VertexOffsetX ("Vertex OffsetX", float) = 0 + _VertexOffsetY ("Vertex OffsetY", float) = 0 + + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + _MaskSoftnessX ("Mask SoftnessX", float) = 0 + _MaskSoftnessY ("Mask SoftnessY", float) = 0 + _MaskTex ("Mask Texture", 2D) = "white" {} + _MaskInverse ("Inverse", float) = 0 + _MaskEdgeColor ("Edge Color", Color) = (1,1,1,1) + _MaskEdgeSoftness ("Edge Softness", Range(0, 1)) = 0.01 + _MaskWipeControl ("Wipe Position", Range(0, 1)) = 0.5 + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _CullMode ("Cull Mode", Float) = 0 + _ColorMask ("Color Mask", Float) = 15 +} + +SubShader { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + } + + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull [_CullMode] + ZWrite Off + Lighting Off + Fog { Mode Off } + ZTest [unity_GUIZTestMode] + Blend One OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass { + CGPROGRAM + #pragma vertex VertShader + #pragma fragment PixShader + #pragma shader_feature __ OUTLINE_ON + #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "TMPro_Properties.cginc" + + struct vertex_t { + float4 vertex : POSITION; + float3 normal : NORMAL; + fixed4 color : COLOR; + float2 texcoord0 : TEXCOORD0; + float2 texcoord1 : TEXCOORD1; + }; + + struct pixel_t { + float4 vertex : SV_POSITION; + fixed4 faceColor : COLOR; + fixed4 outlineColor : COLOR1; + float4 texcoord0 : TEXCOORD0; // Texture UV, Mask UV + half4 param : TEXCOORD1; // Scale(x), BiasIn(y), BiasOut(z), Bias(w) + half4 mask : TEXCOORD2; // Position in clip space(xy), Softness(zw) + #if (UNDERLAY_ON | UNDERLAY_INNER) + float4 texcoord1 : TEXCOORD3; // Texture UV, alpha, reserved + half2 underlayParam : TEXCOORD4; // Scale(x), Bias(y) + #endif + }; + + float _MaskWipeControl; + float _MaskEdgeSoftness; + fixed4 _MaskEdgeColor; + bool _MaskInverse; + + pixel_t VertShader(vertex_t input) + { + float bold = step(input.texcoord1.y, 0); + + float4 vert = input.vertex; + vert.x += _VertexOffsetX; + vert.y += _VertexOffsetY; + float4 vPosition = UnityObjectToClipPos(vert); + + float2 pixelSize = vPosition.w; + pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy)); + + float scale = rsqrt(dot(pixelSize, pixelSize)); + scale *= abs(input.texcoord1.y) * _GradientScale * (_Sharpness + 1); + if(UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert))))); + + float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0; + weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5; + + float layerScale = scale; + + scale /= 1 + (_OutlineSoftness * _ScaleRatioA * scale); + float bias = (0.5 - weight) * scale - 0.5; + float outline = _OutlineWidth * _ScaleRatioA * 0.5 * scale; + + float opacity = input.color.a; + #if (UNDERLAY_ON | UNDERLAY_INNER) + opacity = 1.0; + #endif + + fixed4 faceColor = fixed4(input.color.rgb, opacity) * _FaceColor; + faceColor.rgb *= faceColor.a; + + fixed4 outlineColor = _OutlineColor; + outlineColor.a *= opacity; + outlineColor.rgb *= outlineColor.a; + outlineColor = lerp(faceColor, outlineColor, sqrt(min(1.0, (outline * 2)))); + + #if (UNDERLAY_ON | UNDERLAY_INNER) + + layerScale /= 1 + ((_UnderlaySoftness * _ScaleRatioC) * layerScale); + float layerBias = (.5 - weight) * layerScale - .5 - ((_UnderlayDilate * _ScaleRatioC) * .5 * layerScale); + + float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth; + float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight; + float2 layerOffset = float2(x, y); + #endif + + // Generate UV for the Masking Texture + float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); + float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy); + + // Structure for pixel shader + pixel_t output = { + vPosition, + faceColor, + outlineColor, + float4(input.texcoord0.x, input.texcoord0.y, maskUV.x, maskUV.y), + half4(scale, bias - outline, bias + outline, bias), + half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)), + #if (UNDERLAY_ON | UNDERLAY_INNER) + float4(input.texcoord0 + layerOffset, input.color.a, 0), + half2(layerScale, layerBias), + #endif + }; + + return output; + } + + + // PIXEL SHADER + fixed4 PixShader(pixel_t input) : SV_Target + { + half d = tex2D(_MainTex, input.texcoord0.xy).a * input.param.x; + half4 c = input.faceColor * saturate(d - input.param.w); + + #ifdef OUTLINE_ON + c = lerp(input.outlineColor, input.faceColor, saturate(d - input.param.z)); + c *= saturate(d - input.param.y); + #endif + + #if UNDERLAY_ON + d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x; + c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * saturate(d - input.underlayParam.y) * (1 - c.a); + #endif + + #if UNDERLAY_INNER + half sd = saturate(d - input.param.z); + d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x; + c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * (1 - saturate(d - input.underlayParam.y)) * sd * (1 - c.a); + #endif + + // Alternative implementation to UnityGet2DClipping with support for softness. + //#if UNITY_UI_CLIP_RECT + half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw); + c *= m.x * m.y; + //#endif + + float a = abs(_MaskInverse - tex2D(_MaskTex, input.texcoord0.zw).a); + float t = a + (1 - _MaskWipeControl) * _MaskEdgeSoftness - _MaskWipeControl; + a = saturate(t / _MaskEdgeSoftness); + c.rgb = lerp(_MaskEdgeColor.rgb*c.a, c.rgb, a); + c *= a; + + #if (UNDERLAY_ON | UNDERLAY_INNER) + c *= input.texcoord1.z; + #endif + + #if UNITY_UI_ALPHACLIP + clip(c.a - 0.001); + #endif + + return c; + } + ENDCG + } +} + +CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" +} diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader.meta new file mode 100755 index 000000000..3cbdbbb43 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: bc1ede39bf3643ee8e493720e4259791 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader new file mode 100755 index 000000000..ce82bed5d --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader @@ -0,0 +1,240 @@ +// Simplified SDF shader: +// - No Shading Option (bevel / bump / env map) +// - No Glow Option +// - Softness is applied on both side of the outline + +Shader "TextMeshPro/Mobile/Distance Field Overlay" { + +Properties { + [HDR]_FaceColor ("Face Color", Color) = (1,1,1,1) + _FaceDilate ("Face Dilate", Range(-1,1)) = 0 + + [HDR]_OutlineColor ("Outline Color", Color) = (0,0,0,1) + _OutlineWidth ("Outline Thickness", Range(0,1)) = 0 + _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 + + [HDR]_UnderlayColor ("Border Color", Color) = (0,0,0,.5) + _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 + _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 + _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 + _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 + + _WeightNormal ("Weight Normal", float) = 0 + _WeightBold ("Weight Bold", float) = .5 + + _ShaderFlags ("Flags", float) = 0 + _ScaleRatioA ("Scale RatioA", float) = 1 + _ScaleRatioB ("Scale RatioB", float) = 1 + _ScaleRatioC ("Scale RatioC", float) = 1 + + _MainTex ("Font Atlas", 2D) = "white" {} + _TextureWidth ("Texture Width", float) = 512 + _TextureHeight ("Texture Height", float) = 512 + _GradientScale ("Gradient Scale", float) = 5 + _ScaleX ("Scale X", float) = 1 + _ScaleY ("Scale Y", float) = 1 + _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 + _Sharpness ("Sharpness", Range(-1,1)) = 0 + + _VertexOffsetX ("Vertex OffsetX", float) = 0 + _VertexOffsetY ("Vertex OffsetY", float) = 0 + + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + _MaskSoftnessX ("Mask SoftnessX", float) = 0 + _MaskSoftnessY ("Mask SoftnessY", float) = 0 + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _CullMode ("Cull Mode", Float) = 0 + _ColorMask ("Color Mask", Float) = 15 +} + +SubShader { + Tags + { + "Queue"="Overlay" + "IgnoreProjector"="True" + "RenderType"="Transparent" + } + + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull [_CullMode] + ZWrite Off + Lighting Off + Fog { Mode Off } + ZTest Always + Blend One OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass { + CGPROGRAM + #pragma vertex VertShader + #pragma fragment PixShader + #pragma shader_feature __ OUTLINE_ON + #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "TMPro_Properties.cginc" + + struct vertex_t { + UNITY_VERTEX_INPUT_INSTANCE_ID + float4 vertex : POSITION; + float3 normal : NORMAL; + fixed4 color : COLOR; + float2 texcoord0 : TEXCOORD0; + float2 texcoord1 : TEXCOORD1; + }; + + struct pixel_t { + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + float4 vertex : SV_POSITION; + fixed4 faceColor : COLOR; + fixed4 outlineColor : COLOR1; + float4 texcoord0 : TEXCOORD0; // Texture UV, Mask UV + half4 param : TEXCOORD1; // Scale(x), BiasIn(y), BiasOut(z), Bias(w) + half4 mask : TEXCOORD2; // Position in clip space(xy), Softness(zw) + #if (UNDERLAY_ON | UNDERLAY_INNER) + float4 texcoord1 : TEXCOORD3; // Texture UV, alpha, reserved + half2 underlayParam : TEXCOORD4; // Scale(x), Bias(y) + #endif + }; + + + pixel_t VertShader(vertex_t input) + { + pixel_t output; + + UNITY_INITIALIZE_OUTPUT(pixel_t, output); + UNITY_SETUP_INSTANCE_ID(input); + UNITY_TRANSFER_INSTANCE_ID(input, output); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); + + float bold = step(input.texcoord1.y, 0); + + float4 vert = input.vertex; + vert.x += _VertexOffsetX; + vert.y += _VertexOffsetY; + float4 vPosition = UnityObjectToClipPos(vert); + + float2 pixelSize = vPosition.w; + pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy)); + + float scale = rsqrt(dot(pixelSize, pixelSize)); + scale *= abs(input.texcoord1.y) * _GradientScale * (_Sharpness + 1); + if(UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert))))); + + float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0; + weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5; + + float layerScale = scale; + + scale /= 1 + (_OutlineSoftness * _ScaleRatioA * scale); + float bias = (0.5 - weight) * scale - 0.5; + float outline = _OutlineWidth * _ScaleRatioA * 0.5 * scale; + + float opacity = input.color.a; + #if (UNDERLAY_ON | UNDERLAY_INNER) + opacity = 1.0; + #endif + + fixed4 faceColor = fixed4(input.color.rgb, opacity) * _FaceColor; + faceColor.rgb *= faceColor.a; + + fixed4 outlineColor = _OutlineColor; + outlineColor.a *= opacity; + outlineColor.rgb *= outlineColor.a; + outlineColor = lerp(faceColor, outlineColor, sqrt(min(1.0, (outline * 2)))); + + #if (UNDERLAY_ON | UNDERLAY_INNER) + layerScale /= 1 + ((_UnderlaySoftness * _ScaleRatioC) * layerScale); + float layerBias = (.5 - weight) * layerScale - .5 - ((_UnderlayDilate * _ScaleRatioC) * .5 * layerScale); + + float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth; + float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight; + float2 layerOffset = float2(x, y); + #endif + + // Generate UV for the Masking Texture + float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); + float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy); + + // Populate structure for pixel shader + output.vertex = vPosition; + output.faceColor = faceColor; + output.outlineColor = outlineColor; + output.texcoord0 = float4(input.texcoord0.x, input.texcoord0.y, maskUV.x, maskUV.y); + output.param = half4(scale, bias - outline, bias + outline, bias); + output.mask = half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)); + #if (UNDERLAY_ON || UNDERLAY_INNER) + output.texcoord1 = float4(input.texcoord0 + layerOffset, input.color.a, 0); + output.underlayParam = half2(layerScale, layerBias); + #endif + + return output; + } + + + // PIXEL SHADER + fixed4 PixShader(pixel_t input) : SV_Target + { + UNITY_SETUP_INSTANCE_ID(input); + + half d = tex2D(_MainTex, input.texcoord0.xy).a * input.param.x; + half4 c = input.faceColor * saturate(d - input.param.w); + + #ifdef OUTLINE_ON + c = lerp(input.outlineColor, input.faceColor, saturate(d - input.param.z)); + c *= saturate(d - input.param.y); + #endif + + #if UNDERLAY_ON + d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x; + c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * saturate(d - input.underlayParam.y) * (1 - c.a); + #endif + + #if UNDERLAY_INNER + half sd = saturate(d - input.param.z); + d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x; + c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * (1 - saturate(d - input.underlayParam.y)) * sd * (1 - c.a); + #endif + + // Alternative implementation to UnityGet2DClipping with support for softness. + #if UNITY_UI_CLIP_RECT + half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw); + c *= m.x * m.y; + #endif + + #if (UNDERLAY_ON | UNDERLAY_INNER) + c *= input.texcoord1.z; + #endif + + #if UNITY_UI_ALPHACLIP + clip(c.a - 0.001); + #endif + + return c; + } + ENDCG + } +} + +CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" +} diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader.meta new file mode 100755 index 000000000..e6b149e0a --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a02a7d8c237544f1962732b55a9aebf1 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader new file mode 100755 index 000000000..df4d5b0b0 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader @@ -0,0 +1,106 @@ +// Simplified SDF shader: +// - No Shading Option (bevel / bump / env map) +// - No Glow Option +// - Softness is applied on both side of the outline + +Shader "TextMeshPro/Mobile/Distance Field SSD" { + +Properties { + [HDR]_FaceColor ("Face Color", Color) = (1,1,1,1) + _FaceDilate ("Face Dilate", Range(-1,1)) = 0 + + [HDR]_OutlineColor ("Outline Color", Color) = (0,0,0,1) + _OutlineWidth ("Outline Thickness", Range(0,1)) = 0 + _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 + + [HDR]_UnderlayColor ("Border Color", Color) = (0,0,0,.5) + _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 + _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 + _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 + _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 + + _WeightNormal ("Weight Normal", float) = 0 + _WeightBold ("Weight Bold", float) = .5 + + _ShaderFlags ("Flags", float) = 0 + _ScaleRatioA ("Scale RatioA", float) = 1 + _ScaleRatioB ("Scale RatioB", float) = 1 + _ScaleRatioC ("Scale RatioC", float) = 1 + + _MainTex ("Font Atlas", 2D) = "white" {} + _TextureWidth ("Texture Width", float) = 512 + _TextureHeight ("Texture Height", float) = 512 + _GradientScale ("Gradient Scale", float) = 5 + _ScaleX ("Scale X", float) = 1 + _ScaleY ("Scale Y", float) = 1 + _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 + _Sharpness ("Sharpness", Range(-1,1)) = 0 + + _VertexOffsetX ("Vertex OffsetX", float) = 0 + _VertexOffsetY ("Vertex OffsetY", float) = 0 + + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + _MaskSoftnessX ("Mask SoftnessX", float) = 0 + _MaskSoftnessY ("Mask SoftnessY", float) = 0 + _MaskTex ("Mask Texture", 2D) = "white" {} + _MaskInverse ("Inverse", float) = 0 + _MaskEdgeColor ("Edge Color", Color) = (1,1,1,1) + _MaskEdgeSoftness ("Edge Softness", Range(0, 1)) = 0.01 + _MaskWipeControl ("Wipe Position", Range(0, 1)) = 0.5 + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _CullMode ("Cull Mode", Float) = 0 + _ColorMask ("Color Mask", Float) = 15 +} + +SubShader { + Tags { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + } + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull [_CullMode] + ZWrite Off + Lighting Off + Fog { Mode Off } + ZTest [unity_GUIZTestMode] + Blend One OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass { + CGPROGRAM + #pragma vertex VertShader + #pragma fragment PixShader + #pragma shader_feature __ OUTLINE_ON + #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "TMPro_Properties.cginc" + + #include "TMPro_Mobile.cginc" + + ENDCG + } +} + +CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" +} diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader.meta new file mode 100755 index 000000000..9b84c13d0 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c8d12adcee749c344b8117cf7c7eb912 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader new file mode 100755 index 000000000..d3f5866c8 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader @@ -0,0 +1,240 @@ +// Simplified SDF shader: +// - No Shading Option (bevel / bump / env map) +// - No Glow Option +// - Softness is applied on both side of the outline + +Shader "TextMeshPro/Mobile/Distance Field" { + +Properties { + [HDR]_FaceColor ("Face Color", Color) = (1,1,1,1) + _FaceDilate ("Face Dilate", Range(-1,1)) = 0 + + [HDR]_OutlineColor ("Outline Color", Color) = (0,0,0,1) + _OutlineWidth ("Outline Thickness", Range(0,1)) = 0 + _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 + + [HDR]_UnderlayColor ("Border Color", Color) = (0,0,0,.5) + _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 + _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 + _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 + _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 + + _WeightNormal ("Weight Normal", float) = 0 + _WeightBold ("Weight Bold", float) = .5 + + _ShaderFlags ("Flags", float) = 0 + _ScaleRatioA ("Scale RatioA", float) = 1 + _ScaleRatioB ("Scale RatioB", float) = 1 + _ScaleRatioC ("Scale RatioC", float) = 1 + + _MainTex ("Font Atlas", 2D) = "white" {} + _TextureWidth ("Texture Width", float) = 512 + _TextureHeight ("Texture Height", float) = 512 + _GradientScale ("Gradient Scale", float) = 5 + _ScaleX ("Scale X", float) = 1 + _ScaleY ("Scale Y", float) = 1 + _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 + _Sharpness ("Sharpness", Range(-1,1)) = 0 + + _VertexOffsetX ("Vertex OffsetX", float) = 0 + _VertexOffsetY ("Vertex OffsetY", float) = 0 + + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + _MaskSoftnessX ("Mask SoftnessX", float) = 0 + _MaskSoftnessY ("Mask SoftnessY", float) = 0 + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _CullMode ("Cull Mode", Float) = 0 + _ColorMask ("Color Mask", Float) = 15 +} + +SubShader { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + } + + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull [_CullMode] + ZWrite Off + Lighting Off + Fog { Mode Off } + ZTest [unity_GUIZTestMode] + Blend One OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass { + CGPROGRAM + #pragma vertex VertShader + #pragma fragment PixShader + #pragma shader_feature __ OUTLINE_ON + #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "TMPro_Properties.cginc" + + struct vertex_t { + UNITY_VERTEX_INPUT_INSTANCE_ID + float4 vertex : POSITION; + float3 normal : NORMAL; + fixed4 color : COLOR; + float2 texcoord0 : TEXCOORD0; + float2 texcoord1 : TEXCOORD1; + }; + + struct pixel_t { + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + float4 vertex : SV_POSITION; + fixed4 faceColor : COLOR; + fixed4 outlineColor : COLOR1; + float4 texcoord0 : TEXCOORD0; // Texture UV, Mask UV + half4 param : TEXCOORD1; // Scale(x), BiasIn(y), BiasOut(z), Bias(w) + half4 mask : TEXCOORD2; // Position in clip space(xy), Softness(zw) + #if (UNDERLAY_ON | UNDERLAY_INNER) + float4 texcoord1 : TEXCOORD3; // Texture UV, alpha, reserved + half2 underlayParam : TEXCOORD4; // Scale(x), Bias(y) + #endif + }; + + + pixel_t VertShader(vertex_t input) + { + pixel_t output; + + UNITY_INITIALIZE_OUTPUT(pixel_t, output); + UNITY_SETUP_INSTANCE_ID(input); + UNITY_TRANSFER_INSTANCE_ID(input, output); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); + + float bold = step(input.texcoord1.y, 0); + + float4 vert = input.vertex; + vert.x += _VertexOffsetX; + vert.y += _VertexOffsetY; + float4 vPosition = UnityObjectToClipPos(vert); + + float2 pixelSize = vPosition.w; + pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy)); + + float scale = rsqrt(dot(pixelSize, pixelSize)); + scale *= abs(input.texcoord1.y) * _GradientScale * (_Sharpness + 1); + if(UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert))))); + + float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0; + weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5; + + float layerScale = scale; + + scale /= 1 + (_OutlineSoftness * _ScaleRatioA * scale); + float bias = (0.5 - weight) * scale - 0.5; + float outline = _OutlineWidth * _ScaleRatioA * 0.5 * scale; + + float opacity = input.color.a; + #if (UNDERLAY_ON | UNDERLAY_INNER) + opacity = 1.0; + #endif + + fixed4 faceColor = fixed4(input.color.rgb, opacity) * _FaceColor; + faceColor.rgb *= faceColor.a; + + fixed4 outlineColor = _OutlineColor; + outlineColor.a *= opacity; + outlineColor.rgb *= outlineColor.a; + outlineColor = lerp(faceColor, outlineColor, sqrt(min(1.0, (outline * 2)))); + + #if (UNDERLAY_ON | UNDERLAY_INNER) + layerScale /= 1 + ((_UnderlaySoftness * _ScaleRatioC) * layerScale); + float layerBias = (.5 - weight) * layerScale - .5 - ((_UnderlayDilate * _ScaleRatioC) * .5 * layerScale); + + float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth; + float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight; + float2 layerOffset = float2(x, y); + #endif + + // Generate UV for the Masking Texture + float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); + float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy); + + // Populate structure for pixel shader + output.vertex = vPosition; + output.faceColor = faceColor; + output.outlineColor = outlineColor; + output.texcoord0 = float4(input.texcoord0.x, input.texcoord0.y, maskUV.x, maskUV.y); + output.param = half4(scale, bias - outline, bias + outline, bias); + output.mask = half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)); + #if (UNDERLAY_ON || UNDERLAY_INNER) + output.texcoord1 = float4(input.texcoord0 + layerOffset, input.color.a, 0); + output.underlayParam = half2(layerScale, layerBias); + #endif + + return output; + } + + + // PIXEL SHADER + fixed4 PixShader(pixel_t input) : SV_Target + { + UNITY_SETUP_INSTANCE_ID(input); + + half d = tex2D(_MainTex, input.texcoord0.xy).a * input.param.x; + half4 c = input.faceColor * saturate(d - input.param.w); + + #ifdef OUTLINE_ON + c = lerp(input.outlineColor, input.faceColor, saturate(d - input.param.z)); + c *= saturate(d - input.param.y); + #endif + + #if UNDERLAY_ON + d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x; + c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * saturate(d - input.underlayParam.y) * (1 - c.a); + #endif + + #if UNDERLAY_INNER + half sd = saturate(d - input.param.z); + d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x; + c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * (1 - saturate(d - input.underlayParam.y)) * sd * (1 - c.a); + #endif + + // Alternative implementation to UnityGet2DClipping with support for softness. + #if UNITY_UI_CLIP_RECT + half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw); + c *= m.x * m.y; + #endif + + #if (UNDERLAY_ON | UNDERLAY_INNER) + c *= input.texcoord1.z; + #endif + + #if UNITY_UI_ALPHACLIP + clip(c.a - 0.001); + #endif + + return c; + } + ENDCG + } +} + +CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" +} diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta new file mode 100755 index 000000000..2ac6e76cd --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: fe393ace9b354375a9cb14cdbbc28be4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader new file mode 100755 index 000000000..be764aeb9 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader @@ -0,0 +1,138 @@ +// Simplified version of the SDF Surface shader : +// - No support for Bevel, Bump or envmap +// - Diffuse only lighting +// - Fully supports only 1 directional light. Other lights can affect it, but it will be per-vertex/SH. + +Shader "TextMeshPro/Mobile/Distance Field (Surface)" { + +Properties { + _FaceTex ("Fill Texture", 2D) = "white" {} + [HDR]_FaceColor ("Fill Color", Color) = (1,1,1,1) + _FaceDilate ("Face Dilate", Range(-1,1)) = 0 + + [HDR]_OutlineColor ("Outline Color", Color) = (0,0,0,1) + _OutlineTex ("Outline Texture", 2D) = "white" {} + _OutlineWidth ("Outline Thickness", Range(0, 1)) = 0 + _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 + + [HDR]_GlowColor ("Color", Color) = (0, 1, 0, 0.5) + _GlowOffset ("Offset", Range(-1,1)) = 0 + _GlowInner ("Inner", Range(0,1)) = 0.05 + _GlowOuter ("Outer", Range(0,1)) = 0.05 + _GlowPower ("Falloff", Range(1, 0)) = 0.75 + + _WeightNormal ("Weight Normal", float) = 0 + _WeightBold ("Weight Bold", float) = 0.5 + + // Should not be directly exposed to the user + _ShaderFlags ("Flags", float) = 0 + _ScaleRatioA ("Scale RatioA", float) = 1 + _ScaleRatioB ("Scale RatioB", float) = 1 + _ScaleRatioC ("Scale RatioC", float) = 1 + + _MainTex ("Font Atlas", 2D) = "white" {} + _TextureWidth ("Texture Width", float) = 512 + _TextureHeight ("Texture Height", float) = 512 + _GradientScale ("Gradient Scale", float) = 5.0 + _ScaleX ("Scale X", float) = 1.0 + _ScaleY ("Scale Y", float) = 1.0 + _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 + _Sharpness ("Sharpness", Range(-1,1)) = 0 + + _VertexOffsetX ("Vertex OffsetX", float) = 0 + _VertexOffsetY ("Vertex OffsetY", float) = 0 + + _CullMode ("Cull Mode", Float) = 0 + //_MaskCoord ("Mask Coords", vector) = (0,0,0,0) + //_MaskSoftness ("Mask Softness", float) = 0 +} + +SubShader { + + Tags { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + } + + LOD 300 + Cull [_CullMode] + + CGPROGRAM + #pragma surface PixShader Lambert alpha:blend vertex:VertShader noforwardadd nolightmap nodirlightmap + #pragma target 3.0 + #pragma shader_feature __ GLOW_ON + + #include "TMPro_Properties.cginc" + #include "TMPro.cginc" + + half _FaceShininess; + half _OutlineShininess; + + struct Input + { + fixed4 color : COLOR; + float2 uv_MainTex; + float2 uv2_FaceTex; + float2 uv2_OutlineTex; + float2 param; // Weight, Scale + float3 viewDirEnv; + }; + + #include "TMPro_Surface.cginc" + + ENDCG + + // Pass to render object as a shadow caster + Pass + { + Name "Caster" + Tags { "LightMode" = "ShadowCaster" } + Offset 1, 1 + + Fog {Mode Off} + ZWrite On ZTest LEqual Cull Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma multi_compile_shadowcaster + #include "UnityCG.cginc" + + struct v2f { + V2F_SHADOW_CASTER; + float2 uv : TEXCOORD1; + float2 uv2 : TEXCOORD3; + float alphaClip : TEXCOORD2; + }; + + uniform float4 _MainTex_ST; + uniform float4 _OutlineTex_ST; + float _OutlineWidth; + float _FaceDilate; + float _ScaleRatioA; + + v2f vert( appdata_base v ) + { + v2f o; + TRANSFER_SHADOW_CASTER(o) + o.uv = TRANSFORM_TEX(v.texcoord, _MainTex); + o.uv2 = TRANSFORM_TEX(v.texcoord, _OutlineTex); + o.alphaClip = o.alphaClip = (1.0 - _OutlineWidth * _ScaleRatioA - _FaceDilate * _ScaleRatioA) / 2; + return o; + } + + uniform sampler2D _MainTex; + + float4 frag(v2f i) : COLOR + { + fixed4 texcol = tex2D(_MainTex, i.uv).a; + clip(texcol.a - i.alphaClip); + SHADOW_CASTER_FRAGMENT(i) + } + ENDCG + } +} + +CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" +} diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader.meta new file mode 100755 index 000000000..bff8b7aa9 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 85187c2149c549c5b33f0cdb02836b17 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader new file mode 100755 index 000000000..bcb2bb273 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader @@ -0,0 +1,158 @@ +Shader "TextMeshPro/Distance Field (Surface)" { + +Properties { + _FaceTex ("Fill Texture", 2D) = "white" {} + _FaceUVSpeedX ("Face UV Speed X", Range(-5, 5)) = 0.0 + _FaceUVSpeedY ("Face UV Speed Y", Range(-5, 5)) = 0.0 + [HDR]_FaceColor ("Fill Color", Color) = (1,1,1,1) + _FaceDilate ("Face Dilate", Range(-1,1)) = 0 + + [HDR]_OutlineColor ("Outline Color", Color) = (0,0,0,1) + _OutlineTex ("Outline Texture", 2D) = "white" {} + _OutlineUVSpeedX ("Outline UV Speed X", Range(-5, 5)) = 0.0 + _OutlineUVSpeedY ("Outline UV Speed Y", Range(-5, 5)) = 0.0 + _OutlineWidth ("Outline Thickness", Range(0, 1)) = 0 + _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 + + _Bevel ("Bevel", Range(0,1)) = 0.5 + _BevelOffset ("Bevel Offset", Range(-0.5,0.5)) = 0 + _BevelWidth ("Bevel Width", Range(-.5,0.5)) = 0 + _BevelClamp ("Bevel Clamp", Range(0,1)) = 0 + _BevelRoundness ("Bevel Roundness", Range(0,1)) = 0 + + _BumpMap ("Normalmap", 2D) = "bump" {} + _BumpOutline ("Bump Outline", Range(0,1)) = 0.5 + _BumpFace ("Bump Face", Range(0,1)) = 0.5 + + _ReflectFaceColor ("Face Color", Color) = (0,0,0,1) + _ReflectOutlineColor ("Outline Color", Color) = (0,0,0,1) + _Cube ("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ } + _EnvMatrixRotation ("Texture Rotation", vector) = (0, 0, 0, 0) + [HDR]_SpecColor ("Specular Color", Color) = (0,0,0,1) + + _FaceShininess ("Face Shininess", Range(0,1)) = 0 + _OutlineShininess ("Outline Shininess", Range(0,1)) = 0 + + [HDR]_GlowColor ("Color", Color) = (0, 1, 0, 0.5) + _GlowOffset ("Offset", Range(-1,1)) = 0 + _GlowInner ("Inner", Range(0,1)) = 0.05 + _GlowOuter ("Outer", Range(0,1)) = 0.05 + _GlowPower ("Falloff", Range(1, 0)) = 0.75 + + _WeightNormal ("Weight Normal", float) = 0 + _WeightBold ("Weight Bold", float) = 0.5 + + // Should not be directly exposed to the user + _ShaderFlags ("Flags", float) = 0 + _ScaleRatioA ("Scale RatioA", float) = 1 + _ScaleRatioB ("Scale RatioB", float) = 1 + _ScaleRatioC ("Scale RatioC", float) = 1 + + _MainTex ("Font Atlas", 2D) = "white" {} + _TextureWidth ("Texture Width", float) = 512 + _TextureHeight ("Texture Height", float) = 512 + _GradientScale ("Gradient Scale", float) = 5.0 + _ScaleX ("Scale X", float) = 1.0 + _ScaleY ("Scale Y", float) = 1.0 + _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 + _Sharpness ("Sharpness", Range(-1,1)) = 0 + + _VertexOffsetX ("Vertex OffsetX", float) = 0 + _VertexOffsetY ("Vertex OffsetY", float) = 0 + + _CullMode ("Cull Mode", Float) = 0 + //_MaskCoord ("Mask Coords", vector) = (0,0,0,0) + //_MaskSoftness ("Mask Softness", float) = 0 +} + +SubShader { + + Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } + + LOD 300 + Cull [_CullMode] + + CGPROGRAM + #pragma surface PixShader BlinnPhong alpha:blend vertex:VertShader nolightmap nodirlightmap + #pragma target 3.0 + #pragma shader_feature __ GLOW_ON + #pragma glsl + + #include "TMPro_Properties.cginc" + #include "TMPro.cginc" + + half _FaceShininess; + half _OutlineShininess; + + struct Input + { + fixed4 color : COLOR; + float2 uv_MainTex; + float2 uv2_FaceTex; + float2 uv2_OutlineTex; + float2 param; // Weight, Scale + float3 viewDirEnv; + }; + + + #define BEVEL_ON 1 + #include "TMPro_Surface.cginc" + + ENDCG + + // Pass to render object as a shadow caster + Pass + { + Name "Caster" + Tags { "LightMode" = "ShadowCaster" } + Offset 1, 1 + + Fog {Mode Off} + ZWrite On + ZTest LEqual + Cull Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma multi_compile_shadowcaster + #include "UnityCG.cginc" + + struct v2f { + V2F_SHADOW_CASTER; + float2 uv : TEXCOORD1; + float2 uv2 : TEXCOORD3; + float alphaClip : TEXCOORD2; + }; + + uniform float4 _MainTex_ST; + uniform float4 _OutlineTex_ST; + float _OutlineWidth; + float _FaceDilate; + float _ScaleRatioA; + + v2f vert( appdata_base v ) + { + v2f o; + TRANSFER_SHADOW_CASTER(o) + o.uv = TRANSFORM_TEX(v.texcoord, _MainTex); + o.uv2 = TRANSFORM_TEX(v.texcoord, _OutlineTex); + o.alphaClip = (1.0 - _OutlineWidth * _ScaleRatioA - _FaceDilate * _ScaleRatioA) / 2; + return o; + } + + uniform sampler2D _MainTex; + + float4 frag(v2f i) : COLOR + { + fixed4 texcol = tex2D(_MainTex, i.uv).a; + clip(texcol.a - i.alphaClip); + SHADOW_CASTER_FRAGMENT(i) + } + ENDCG + } +} + +CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" +} + diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader.meta new file mode 100755 index 000000000..26e814c2c --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f7ada0af4f174f0694ca6a487b8f543d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF.shader b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF.shader new file mode 100755 index 000000000..011ee199a --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF.shader @@ -0,0 +1,317 @@ +Shader "TextMeshPro/Distance Field" { + +Properties { + _FaceTex ("Face Texture", 2D) = "white" {} + _FaceUVSpeedX ("Face UV Speed X", Range(-5, 5)) = 0.0 + _FaceUVSpeedY ("Face UV Speed Y", Range(-5, 5)) = 0.0 + [HDR]_FaceColor ("Face Color", Color) = (1,1,1,1) + _FaceDilate ("Face Dilate", Range(-1,1)) = 0 + + [HDR]_OutlineColor ("Outline Color", Color) = (0,0,0,1) + _OutlineTex ("Outline Texture", 2D) = "white" {} + _OutlineUVSpeedX ("Outline UV Speed X", Range(-5, 5)) = 0.0 + _OutlineUVSpeedY ("Outline UV Speed Y", Range(-5, 5)) = 0.0 + _OutlineWidth ("Outline Thickness", Range(0, 1)) = 0 + _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 + + _Bevel ("Bevel", Range(0,1)) = 0.5 + _BevelOffset ("Bevel Offset", Range(-0.5,0.5)) = 0 + _BevelWidth ("Bevel Width", Range(-.5,0.5)) = 0 + _BevelClamp ("Bevel Clamp", Range(0,1)) = 0 + _BevelRoundness ("Bevel Roundness", Range(0,1)) = 0 + + _LightAngle ("Light Angle", Range(0.0, 6.2831853)) = 3.1416 + [HDR]_SpecularColor ("Specular", Color) = (1,1,1,1) + _SpecularPower ("Specular", Range(0,4)) = 2.0 + _Reflectivity ("Reflectivity", Range(5.0,15.0)) = 10 + _Diffuse ("Diffuse", Range(0,1)) = 0.5 + _Ambient ("Ambient", Range(1,0)) = 0.5 + + _BumpMap ("Normal map", 2D) = "bump" {} + _BumpOutline ("Bump Outline", Range(0,1)) = 0 + _BumpFace ("Bump Face", Range(0,1)) = 0 + + _ReflectFaceColor ("Reflection Color", Color) = (0,0,0,1) + _ReflectOutlineColor("Reflection Color", Color) = (0,0,0,1) + _Cube ("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ } + _EnvMatrixRotation ("Texture Rotation", vector) = (0, 0, 0, 0) + + + [HDR]_UnderlayColor ("Border Color", Color) = (0,0,0, 0.5) + _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 + _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 + _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 + _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 + + [HDR]_GlowColor ("Color", Color) = (0, 1, 0, 0.5) + _GlowOffset ("Offset", Range(-1,1)) = 0 + _GlowInner ("Inner", Range(0,1)) = 0.05 + _GlowOuter ("Outer", Range(0,1)) = 0.05 + _GlowPower ("Falloff", Range(1, 0)) = 0.75 + + _WeightNormal ("Weight Normal", float) = 0 + _WeightBold ("Weight Bold", float) = 0.5 + + _ShaderFlags ("Flags", float) = 0 + _ScaleRatioA ("Scale RatioA", float) = 1 + _ScaleRatioB ("Scale RatioB", float) = 1 + _ScaleRatioC ("Scale RatioC", float) = 1 + + _MainTex ("Font Atlas", 2D) = "white" {} + _TextureWidth ("Texture Width", float) = 512 + _TextureHeight ("Texture Height", float) = 512 + _GradientScale ("Gradient Scale", float) = 5.0 + _ScaleX ("Scale X", float) = 1.0 + _ScaleY ("Scale Y", float) = 1.0 + _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 + _Sharpness ("Sharpness", Range(-1,1)) = 0 + + _VertexOffsetX ("Vertex OffsetX", float) = 0 + _VertexOffsetY ("Vertex OffsetY", float) = 0 + + _MaskCoord ("Mask Coordinates", vector) = (0, 0, 32767, 32767) + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + _MaskSoftnessX ("Mask SoftnessX", float) = 0 + _MaskSoftnessY ("Mask SoftnessY", float) = 0 + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _CullMode ("Cull Mode", Float) = 0 + _ColorMask ("Color Mask", Float) = 15 +} + +SubShader { + + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + } + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull [_CullMode] + ZWrite Off + Lighting Off + Fog { Mode Off } + ZTest [unity_GUIZTestMode] + Blend One OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass { + CGPROGRAM + #pragma target 3.0 + #pragma vertex VertShader + #pragma fragment PixShader + #pragma shader_feature __ BEVEL_ON + #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER + #pragma shader_feature __ GLOW_ON + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "TMPro_Properties.cginc" + #include "TMPro.cginc" + + struct vertex_t { + UNITY_VERTEX_INPUT_INSTANCE_ID + float4 position : POSITION; + float3 normal : NORMAL; + fixed4 color : COLOR; + float2 texcoord0 : TEXCOORD0; + float2 texcoord1 : TEXCOORD1; + }; + + + struct pixel_t { + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + float4 position : SV_POSITION; + fixed4 color : COLOR; + float2 atlas : TEXCOORD0; // Atlas + float4 param : TEXCOORD1; // alphaClip, scale, bias, weight + float4 mask : TEXCOORD2; // Position in object space(xy), pixel Size(zw) + float3 viewDir : TEXCOORD3; + + #if (UNDERLAY_ON || UNDERLAY_INNER) + float4 texcoord2 : TEXCOORD4; // u,v, scale, bias + fixed4 underlayColor : COLOR1; + #endif + float4 textures : TEXCOORD5; + }; + + // Used by Unity internally to handle Texture Tiling and Offset. + float4 _FaceTex_ST; + float4 _OutlineTex_ST; + + pixel_t VertShader(vertex_t input) + { + pixel_t output; + + UNITY_INITIALIZE_OUTPUT(pixel_t, output); + UNITY_SETUP_INSTANCE_ID(input); + UNITY_TRANSFER_INSTANCE_ID(input,output); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); + + float bold = step(input.texcoord1.y, 0); + + float4 vert = input.position; + vert.x += _VertexOffsetX; + vert.y += _VertexOffsetY; + + float4 vPosition = UnityObjectToClipPos(vert); + + float2 pixelSize = vPosition.w; + pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy)); + float scale = rsqrt(dot(pixelSize, pixelSize)); + scale *= abs(input.texcoord1.y) * _GradientScale * (_Sharpness + 1); + if (UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert))))); + + float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0; + weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5; + + float bias =(.5 - weight) + (.5 / scale); + + float alphaClip = (1.0 - _OutlineWidth * _ScaleRatioA - _OutlineSoftness * _ScaleRatioA); + + #if GLOW_ON + alphaClip = min(alphaClip, 1.0 - _GlowOffset * _ScaleRatioB - _GlowOuter * _ScaleRatioB); + #endif + + alphaClip = alphaClip / 2.0 - ( .5 / scale) - weight; + + #if (UNDERLAY_ON || UNDERLAY_INNER) + float4 underlayColor = _UnderlayColor; + underlayColor.rgb *= underlayColor.a; + + float bScale = scale; + bScale /= 1 + ((_UnderlaySoftness*_ScaleRatioC) * bScale); + float bBias = (0.5 - weight) * bScale - 0.5 - ((_UnderlayDilate * _ScaleRatioC) * 0.5 * bScale); + + float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth; + float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight; + float2 bOffset = float2(x, y); + #endif + + // Generate UV for the Masking Texture + float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); + float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy); + + // Support for texture tiling and offset + float2 textureUV = UnpackUV(input.texcoord1.x); + float2 faceUV = TRANSFORM_TEX(textureUV, _FaceTex); + float2 outlineUV = TRANSFORM_TEX(textureUV, _OutlineTex); + + + output.position = vPosition; + output.color = input.color; + output.atlas = input.texcoord0; + output.param = float4(alphaClip, scale, bias, weight); + output.mask = half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)); + output.viewDir = mul((float3x3)_EnvMatrix, _WorldSpaceCameraPos.xyz - mul(unity_ObjectToWorld, vert).xyz); + #if (UNDERLAY_ON || UNDERLAY_INNER) + output.texcoord2 = float4(input.texcoord0 + bOffset, bScale, bBias); + output.underlayColor = underlayColor; + #endif + output.textures = float4(faceUV, outlineUV); + + return output; + } + + + fixed4 PixShader(pixel_t input) : SV_Target + { + UNITY_SETUP_INSTANCE_ID(input); + + float c = tex2D(_MainTex, input.atlas).a; + + #ifndef UNDERLAY_ON + clip(c - input.param.x); + #endif + + float scale = input.param.y; + float bias = input.param.z; + float weight = input.param.w; + float sd = (bias - c) * scale; + + float outline = (_OutlineWidth * _ScaleRatioA) * scale; + float softness = (_OutlineSoftness * _ScaleRatioA) * scale; + + half4 faceColor = _FaceColor; + half4 outlineColor = _OutlineColor; + + faceColor.rgb *= input.color.rgb; + + faceColor *= tex2D(_FaceTex, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y); + outlineColor *= tex2D(_OutlineTex, input.textures.zw + float2(_OutlineUVSpeedX, _OutlineUVSpeedY) * _Time.y); + + faceColor = GetColor(sd, faceColor, outlineColor, outline, softness); + + #if BEVEL_ON + float3 dxy = float3(0.5 / _TextureWidth, 0.5 / _TextureHeight, 0); + float3 n = GetSurfaceNormal(input.atlas, weight, dxy); + + float3 bump = UnpackNormal(tex2D(_BumpMap, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y)).xyz; + bump *= lerp(_BumpFace, _BumpOutline, saturate(sd + outline * 0.5)); + n = normalize(n- bump); + + float3 light = normalize(float3(sin(_LightAngle), cos(_LightAngle), -1.0)); + + float3 col = GetSpecular(n, light); + faceColor.rgb += col*faceColor.a; + faceColor.rgb *= 1-(dot(n, light)*_Diffuse); + faceColor.rgb *= lerp(_Ambient, 1, n.z*n.z); + + fixed4 reflcol = texCUBE(_Cube, reflect(input.viewDir, -n)); + faceColor.rgb += reflcol.rgb * lerp(_ReflectFaceColor.rgb, _ReflectOutlineColor.rgb, saturate(sd + outline * 0.5)) * faceColor.a; + #endif + + #if UNDERLAY_ON + float d = tex2D(_MainTex, input.texcoord2.xy).a * input.texcoord2.z; + faceColor += input.underlayColor * saturate(d - input.texcoord2.w) * (1 - faceColor.a); + #endif + + #if UNDERLAY_INNER + float d = tex2D(_MainTex, input.texcoord2.xy).a * input.texcoord2.z; + faceColor += input.underlayColor * (1 - saturate(d - input.texcoord2.w)) * saturate(1 - sd) * (1 - faceColor.a); + #endif + + #if GLOW_ON + float4 glowColor = GetGlowColor(sd, scale); + faceColor.rgb += glowColor.rgb * glowColor.a; + #endif + + // Alternative implementation to UnityGet2DClipping with support for softness. + #if UNITY_UI_CLIP_RECT + half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw); + faceColor *= m.x * m.y; + #endif + + #if UNITY_UI_ALPHACLIP + clip(faceColor.a - 0.001); + #endif + + return faceColor * input.color.a; + } + + ENDCG + } +} + +Fallback "TextMeshPro/Mobile/Distance Field" +CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" +} diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF.shader.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF.shader.meta new file mode 100755 index 000000000..e1cf3f38f --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_SDF.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 68e6db2ebdc24f95958faec2be5558d6 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader new file mode 100755 index 000000000..e8283a78e --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader @@ -0,0 +1,116 @@ +Shader "TextMeshPro/Sprite" +{ + Properties + { + [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {} + _Color ("Tint", Color) = (1,1,1,1) + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _CullMode ("Cull Mode", Float) = 0 + _ColorMask ("Color Mask", Float) = 15 + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + + [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 + } + + SubShader + { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + "PreviewType"="Plane" + "CanUseSpriteAtlas"="True" + } + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull [_CullMode] + Lighting Off + ZWrite Off + ZTest [unity_GUIZTestMode] + Blend SrcAlpha OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass + { + Name "Default" + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 2.0 + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + struct appdata_t + { + float4 vertex : POSITION; + float4 color : COLOR; + float2 texcoord : TEXCOORD0; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f + { + float4 vertex : SV_POSITION; + fixed4 color : COLOR; + float2 texcoord : TEXCOORD0; + float4 worldPosition : TEXCOORD1; + UNITY_VERTEX_OUTPUT_STEREO + }; + + sampler2D _MainTex; + fixed4 _Color; + fixed4 _TextureSampleAdd; + float4 _ClipRect; + float4 _MainTex_ST; + + v2f vert(appdata_t v) + { + v2f OUT; + UNITY_SETUP_INSTANCE_ID(v); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT); + OUT.worldPosition = v.vertex; + OUT.vertex = UnityObjectToClipPos(OUT.worldPosition); + + OUT.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); + + OUT.color = v.color * _Color; + return OUT; + } + + fixed4 frag(v2f IN) : SV_Target + { + half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd) * IN.color; + + #ifdef UNITY_UI_CLIP_RECT + color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); + #endif + + #ifdef UNITY_UI_ALPHACLIP + clip (color.a - 0.001); + #endif + + return color; + } + ENDCG + } + } +} diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader.meta new file mode 100755 index 000000000..50ba195eb --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: cf81c85f95fe47e1a27f6ae460cf182c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro.cginc b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro.cginc new file mode 100755 index 000000000..589813044 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro.cginc @@ -0,0 +1,84 @@ +float2 UnpackUV(float uv) +{ + float2 output; + output.x = floor(uv / 4096); + output.y = uv - 4096 * output.x; + + return output * 0.001953125; +} + +fixed4 GetColor(half d, fixed4 faceColor, fixed4 outlineColor, half outline, half softness) +{ + half faceAlpha = 1-saturate((d - outline * 0.5 + softness * 0.5) / (1.0 + softness)); + half outlineAlpha = saturate((d + outline * 0.5)) * sqrt(min(1.0, outline)); + + faceColor.rgb *= faceColor.a; + outlineColor.rgb *= outlineColor.a; + + faceColor = lerp(faceColor, outlineColor, outlineAlpha); + + faceColor *= faceAlpha; + + return faceColor; +} + +float3 GetSurfaceNormal(float4 h, float bias) +{ + bool raisedBevel = step(1, fmod(_ShaderFlags, 2)); + + h += bias+_BevelOffset; + + float bevelWidth = max(.01, _OutlineWidth+_BevelWidth); + + // Track outline + h -= .5; + h /= bevelWidth; + h = saturate(h+.5); + + if(raisedBevel) h = 1 - abs(h*2.0 - 1.0); + h = lerp(h, sin(h*3.141592/2.0), _BevelRoundness); + h = min(h, 1.0-_BevelClamp); + h *= _Bevel * bevelWidth * _GradientScale * -2.0; + + float3 va = normalize(float3(1.0, 0.0, h.y - h.x)); + float3 vb = normalize(float3(0.0, -1.0, h.w - h.z)); + + return cross(va, vb); +} + +float3 GetSurfaceNormal(float2 uv, float bias, float3 delta) +{ + // Read "height field" + float4 h = {tex2D(_MainTex, uv - delta.xz).a, + tex2D(_MainTex, uv + delta.xz).a, + tex2D(_MainTex, uv - delta.zy).a, + tex2D(_MainTex, uv + delta.zy).a}; + + return GetSurfaceNormal(h, bias); +} + +float3 GetSpecular(float3 n, float3 l) +{ + float spec = pow(max(0.0, dot(n, l)), _Reflectivity); + return _SpecularColor.rgb * spec * _SpecularPower; +} + +float4 GetGlowColor(float d, float scale) +{ + float glow = d - (_GlowOffset*_ScaleRatioB) * 0.5 * scale; + float t = lerp(_GlowInner, (_GlowOuter * _ScaleRatioB), step(0.0, glow)) * 0.5 * scale; + glow = saturate(abs(glow/(1.0 + t))); + glow = 1.0-pow(glow, _GlowPower); + glow *= sqrt(min(1.0, t)); // Fade off glow thinner than 1 screen pixel + return float4(_GlowColor.rgb, saturate(_GlowColor.a * glow * 2)); +} + +float4 BlendARGB(float4 overlying, float4 underlying) +{ + overlying.rgb *= overlying.a; + underlying.rgb *= underlying.a; + float3 blended = overlying.rgb + ((1-overlying.a)*underlying.rgb); + float alpha = underlying.a + (1-underlying.a)*overlying.a; + return float4(blended, alpha); +} + diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro.cginc.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro.cginc.meta new file mode 100755 index 000000000..0d6eb56ce --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 407bc68d299748449bbf7f48ee690f8d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc new file mode 100755 index 000000000..5969fec1a --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc @@ -0,0 +1,157 @@ +struct vertex_t { + UNITY_VERTEX_INPUT_INSTANCE_ID + float4 position : POSITION; + float3 normal : NORMAL; + float4 color : COLOR; + float2 texcoord0 : TEXCOORD0; + float2 texcoord1 : TEXCOORD1; +}; + +struct pixel_t { + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + float4 position : SV_POSITION; + float4 faceColor : COLOR; + float4 outlineColor : COLOR1; + float4 texcoord0 : TEXCOORD0; + float4 param : TEXCOORD1; // weight, scaleRatio + float2 mask : TEXCOORD2; + #if (UNDERLAY_ON || UNDERLAY_INNER) + float4 texcoord2 : TEXCOORD3; + float4 underlayColor : COLOR2; + #endif +}; + +float4 SRGBToLinear(float4 rgba) { + return float4(lerp(rgba.rgb / 12.92f, pow((rgba.rgb + 0.055f) / 1.055f, 2.4f), step(0.04045f, rgba.rgb)), rgba.a); +} + +pixel_t VertShader(vertex_t input) +{ + pixel_t output; + + UNITY_INITIALIZE_OUTPUT(pixel_t, output); + UNITY_SETUP_INSTANCE_ID(input); + UNITY_TRANSFER_INSTANCE_ID(input, output); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); + + float bold = step(input.texcoord1.y, 0); + + float4 vert = input.position; + vert.x += _VertexOffsetX; + vert.y += _VertexOffsetY; + + float4 vPosition = UnityObjectToClipPos(vert); + + float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0; + weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5; + + // Generate UV for the Masking Texture + float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); + float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy); + + float4 color = input.color; + #if (FORCE_LINEAR && !UNITY_COLORSPACE_GAMMA) + color = SRGBToLinear(input.color); + #endif + + float opacity = color.a; + #if (UNDERLAY_ON | UNDERLAY_INNER) + opacity = 1.0; + #endif + + float4 faceColor = float4(color.rgb, opacity) * _FaceColor; + faceColor.rgb *= faceColor.a; + + float4 outlineColor = _OutlineColor; + outlineColor.a *= opacity; + outlineColor.rgb *= outlineColor.a; + + output.position = vPosition; + output.faceColor = faceColor; + output.outlineColor = outlineColor; + output.texcoord0 = float4(input.texcoord0.xy, maskUV.xy); + output.param = float4(0.5 - weight, 1.3333 * _GradientScale * (_Sharpness + 1) / _TextureWidth, _OutlineWidth * _ScaleRatioA * 0.5, 0); + + float2 mask = float2(0, 0); + #if UNITY_UI_CLIP_RECT + mask = vert.xy * 2 - clampedRect.xy - clampedRect.zw; + #endif + output.mask = mask; + + #if (UNDERLAY_ON || UNDERLAY_INNER) + float4 underlayColor = _UnderlayColor; + underlayColor.rgb *= underlayColor.a; + + float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth; + float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight; + + output.texcoord2 = float4(input.texcoord0 + float2(x, y), input.color.a, 0); + output.underlayColor = underlayColor; + #endif + + return output; +} + +float4 PixShader(pixel_t input) : SV_Target +{ + UNITY_SETUP_INSTANCE_ID(input); + + float d = tex2D(_MainTex, input.texcoord0.xy).a; + + float2 UV = input.texcoord0.xy; + float scale = rsqrt(abs(ddx(UV.x) * ddy(UV.y) - ddy(UV.x) * ddx(UV.y))) * input.param.y; + + #if (UNDERLAY_ON | UNDERLAY_INNER) + float layerScale = scale; + layerScale /= 1 + ((_UnderlaySoftness * _ScaleRatioC) * layerScale); + float layerBias = input.param.x * layerScale - .5 - ((_UnderlayDilate * _ScaleRatioC) * .5 * layerScale); + #endif + + scale /= 1 + (_OutlineSoftness * _ScaleRatioA * scale); + + float4 faceColor = input.faceColor * saturate((d - input.param.x) * scale + 0.5); + + #ifdef OUTLINE_ON + float4 outlineColor = lerp(input.faceColor, input.outlineColor, sqrt(min(1.0, input.param.z * scale * 2))); + faceColor = lerp(outlineColor, input.faceColor, saturate((d - input.param.x - input.param.z) * scale + 0.5)); + faceColor *= saturate((d - input.param.x + input.param.z) * scale + 0.5); + #endif + + #if UNDERLAY_ON + d = tex2D(_MainTex, input.texcoord2.xy).a * layerScale; + faceColor += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * saturate(d - layerBias) * (1 - faceColor.a); + #endif + + #if UNDERLAY_INNER + float bias = input.param.x * scale - 0.5; + float sd = saturate(d * scale - bias - input.param.z); + d = tex2D(_MainTex, input.texcoord2.xy).a * layerScale; + faceColor += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * (1 - saturate(d - layerBias)) * sd * (1 - faceColor.a); + #endif + + #ifdef MASKING + float a = abs(_MaskInverse - tex2D(_MaskTex, input.texcoord0.zw).a); + float t = a + (1 - _MaskWipeControl) * _MaskEdgeSoftness - _MaskWipeControl; + a = saturate(t / _MaskEdgeSoftness); + faceColor.rgb = lerp(_MaskEdgeColor.rgb * faceColor.a, faceColor.rgb, a); + faceColor *= a; + #endif + + // Alternative implementation to UnityGet2DClipping with support for softness + #if UNITY_UI_CLIP_RECT + float2 maskZW = 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + (1 / scale)); + float2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * maskZW); + faceColor *= m.x * m.y; + #endif + + #if (UNDERLAY_ON | UNDERLAY_INNER) + faceColor *= input.texcoord2.z; + #endif + + #if UNITY_UI_ALPHACLIP + clip(faceColor.a - 0.001); + #endif + + return faceColor; +} diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta new file mode 100755 index 000000000..4415e5078 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c334973cef89a9840b0b0c507e0377ab +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc new file mode 100755 index 000000000..2e962588c --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc @@ -0,0 +1,85 @@ +// UI Editable properties +uniform sampler2D _FaceTex; // Alpha : Signed Distance +uniform float _FaceUVSpeedX; +uniform float _FaceUVSpeedY; +uniform fixed4 _FaceColor; // RGBA : Color + Opacity +uniform float _FaceDilate; // v[ 0, 1] +uniform float _OutlineSoftness; // v[ 0, 1] + +uniform sampler2D _OutlineTex; // RGBA : Color + Opacity +uniform float _OutlineUVSpeedX; +uniform float _OutlineUVSpeedY; +uniform fixed4 _OutlineColor; // RGBA : Color + Opacity +uniform float _OutlineWidth; // v[ 0, 1] + +uniform float _Bevel; // v[ 0, 1] +uniform float _BevelOffset; // v[-1, 1] +uniform float _BevelWidth; // v[-1, 1] +uniform float _BevelClamp; // v[ 0, 1] +uniform float _BevelRoundness; // v[ 0, 1] + +uniform sampler2D _BumpMap; // Normal map +uniform float _BumpOutline; // v[ 0, 1] +uniform float _BumpFace; // v[ 0, 1] + +uniform samplerCUBE _Cube; // Cube / sphere map +uniform fixed4 _ReflectFaceColor; // RGB intensity +uniform fixed4 _ReflectOutlineColor; +//uniform float _EnvTiltX; // v[-1, 1] +//uniform float _EnvTiltY; // v[-1, 1] +uniform float3 _EnvMatrixRotation; +uniform float4x4 _EnvMatrix; + +uniform fixed4 _SpecularColor; // RGB intensity +uniform float _LightAngle; // v[ 0,Tau] +uniform float _SpecularPower; // v[ 0, 1] +uniform float _Reflectivity; // v[ 5, 15] +uniform float _Diffuse; // v[ 0, 1] +uniform float _Ambient; // v[ 0, 1] + +uniform fixed4 _UnderlayColor; // RGBA : Color + Opacity +uniform float _UnderlayOffsetX; // v[-1, 1] +uniform float _UnderlayOffsetY; // v[-1, 1] +uniform float _UnderlayDilate; // v[-1, 1] +uniform float _UnderlaySoftness; // v[ 0, 1] + +uniform fixed4 _GlowColor; // RGBA : Color + Intesity +uniform float _GlowOffset; // v[-1, 1] +uniform float _GlowOuter; // v[ 0, 1] +uniform float _GlowInner; // v[ 0, 1] +uniform float _GlowPower; // v[ 1, 1/(1+4*4)] + +// API Editable properties +uniform float _ShaderFlags; +uniform float _WeightNormal; +uniform float _WeightBold; + +uniform float _ScaleRatioA; +uniform float _ScaleRatioB; +uniform float _ScaleRatioC; + +uniform float _VertexOffsetX; +uniform float _VertexOffsetY; + +//uniform float _UseClipRect; +uniform float _MaskID; +uniform sampler2D _MaskTex; +uniform float4 _MaskCoord; +uniform float4 _ClipRect; // bottom left(x,y) : top right(z,w) +//uniform float _MaskWipeControl; +//uniform float _MaskEdgeSoftness; +//uniform fixed4 _MaskEdgeColor; +//uniform bool _MaskInverse; + +uniform float _MaskSoftnessX; +uniform float _MaskSoftnessY; + +// Font Atlas properties +uniform sampler2D _MainTex; +uniform float _TextureWidth; +uniform float _TextureHeight; +uniform float _GradientScale; +uniform float _ScaleX; +uniform float _ScaleY; +uniform float _PerspectiveFilter; +uniform float _Sharpness; diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc.meta new file mode 100755 index 000000000..7b37f2f1d --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3997e2241185407d80309a82f9148466 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc new file mode 100755 index 000000000..622ae8758 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc @@ -0,0 +1,101 @@ +void VertShader(inout appdata_full v, out Input data) +{ + v.vertex.x += _VertexOffsetX; + v.vertex.y += _VertexOffsetY; + + UNITY_INITIALIZE_OUTPUT(Input, data); + + float bold = step(v.texcoord1.y, 0); + + // Generate normal for backface + float3 view = ObjSpaceViewDir(v.vertex); + v.normal *= sign(dot(v.normal, view)); + +#if USE_DERIVATIVE + data.param.y = 1; +#else + float4 vert = v.vertex; + float4 vPosition = UnityObjectToClipPos(vert); + float2 pixelSize = vPosition.w; + + pixelSize /= float2(_ScaleX, _ScaleY) * mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy); + float scale = rsqrt(dot(pixelSize, pixelSize)); + scale *= abs(v.texcoord1.y) * _GradientScale * (_Sharpness + 1); + scale = lerp(scale * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(v.normal.xyz), normalize(WorldSpaceViewDir(vert))))); + data.param.y = scale; +#endif + + data.param.x = (lerp(_WeightNormal, _WeightBold, bold) / 4.0 + _FaceDilate) * _ScaleRatioA * 0.5; // + + v.texcoord1.xy = UnpackUV(v.texcoord1.x); + data.viewDirEnv = mul((float3x3)_EnvMatrix, WorldSpaceViewDir(v.vertex)); +} + +void PixShader(Input input, inout SurfaceOutput o) +{ + +#if USE_DERIVATIVE + float2 pixelSize = float2(ddx(input.uv_MainTex.y), ddy(input.uv_MainTex.y)); + pixelSize *= _TextureWidth * .75; + float scale = rsqrt(dot(pixelSize, pixelSize)) * _GradientScale * (_Sharpness + 1); +#else + float scale = input.param.y; +#endif + + // Signed distance + float c = tex2D(_MainTex, input.uv_MainTex).a; + float sd = (.5 - c - input.param.x) * scale + .5; + float outline = _OutlineWidth*_ScaleRatioA * scale; + float softness = _OutlineSoftness*_ScaleRatioA * scale; + + // Color & Alpha + float4 faceColor = _FaceColor; + float4 outlineColor = _OutlineColor; + faceColor *= input.color; + outlineColor.a *= input.color.a; + faceColor *= tex2D(_FaceTex, float2(input.uv2_FaceTex.x + _FaceUVSpeedX * _Time.y, input.uv2_FaceTex.y + _FaceUVSpeedY * _Time.y)); + outlineColor *= tex2D(_OutlineTex, float2(input.uv2_OutlineTex.x + _OutlineUVSpeedX * _Time.y, input.uv2_OutlineTex.y + _OutlineUVSpeedY * _Time.y)); + faceColor = GetColor(sd, faceColor, outlineColor, outline, softness); + faceColor.rgb /= max(faceColor.a, 0.0001); + +#if BEVEL_ON + float3 delta = float3(1.0 / _TextureWidth, 1.0 / _TextureHeight, 0.0); + + float4 smp4x = {tex2D(_MainTex, input.uv_MainTex - delta.xz).a, + tex2D(_MainTex, input.uv_MainTex + delta.xz).a, + tex2D(_MainTex, input.uv_MainTex - delta.zy).a, + tex2D(_MainTex, input.uv_MainTex + delta.zy).a }; + + // Face Normal + float3 n = GetSurfaceNormal(smp4x, input.param.x); + + // Bumpmap + float3 bump = UnpackNormal(tex2D(_BumpMap, input.uv2_FaceTex.xy)).xyz; + bump *= lerp(_BumpFace, _BumpOutline, saturate(sd + outline * 0.5)); + bump = lerp(float3(0, 0, 1), bump, faceColor.a); + n = normalize(n - bump); + + // Cubemap reflection + fixed4 reflcol = texCUBE(_Cube, reflect(input.viewDirEnv, mul((float3x3)unity_ObjectToWorld, n))); + float3 emission = reflcol.rgb * lerp(_ReflectFaceColor.rgb, _ReflectOutlineColor.rgb, saturate(sd + outline * 0.5)) * faceColor.a; +#else + float3 n = float3(0, 0, -1); + float3 emission = float3(0, 0, 0); +#endif + +#if GLOW_ON + float4 glowColor = GetGlowColor(sd, scale); + glowColor.a *= input.color.a; + emission += glowColor.rgb*glowColor.a; + faceColor = BlendARGB(glowColor, faceColor); + faceColor.rgb /= max(faceColor.a, 0.0001); +#endif + + // Set Standard output structure + o.Albedo = faceColor.rgb; + o.Normal = -n; + o.Emission = emission; + o.Specular = lerp(_FaceShininess, _OutlineShininess, saturate(sd + outline * 0.5)); + o.Gloss = 1; + o.Alpha = faceColor.a; +} diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta new file mode 100755 index 000000000..41ef4b102 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d930090c0cd643c7b55f19a38538c162 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites.meta new file mode 100755 index 000000000..8b699e5fc --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d0603b6d5186471b96c778c3949c7ce2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt new file mode 100755 index 000000000..10c4be3a7 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt @@ -0,0 +1,3 @@ +This sample of beautiful emojis are provided by EmojiOne https://www.emojione.com/ + +Please visit their website to view the complete set of their emojis and review their licensing terms. \ No newline at end of file diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta new file mode 100755 index 000000000..0d30e6532 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 381dcb09d5029d14897e55f98031fca5 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites/EmojiOne.json b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites/EmojiOne.json new file mode 100755 index 000000000..16c800d5c --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites/EmojiOne.json @@ -0,0 +1,156 @@ +{"frames": [ + +{ + "filename": "1f60a.png", + "frame": {"x":0,"y":0,"w":128,"h":128}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, + "sourceSize": {"w":128,"h":128}, + "pivot": {"x":0.5,"y":0.5} +}, +{ + "filename": "1f60b.png", + "frame": {"x":128,"y":0,"w":128,"h":128}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, + "sourceSize": {"w":128,"h":128}, + "pivot": {"x":0.5,"y":0.5} +}, +{ + "filename": "1f60d.png", + "frame": {"x":256,"y":0,"w":128,"h":128}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, + "sourceSize": {"w":128,"h":128}, + "pivot": {"x":0.5,"y":0.5} +}, +{ + "filename": "1f60e.png", + "frame": {"x":384,"y":0,"w":128,"h":128}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, + "sourceSize": {"w":128,"h":128}, + "pivot": {"x":0.5,"y":0.5} +}, +{ + "filename": "1f600.png", + "frame": {"x":0,"y":128,"w":128,"h":128}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, + "sourceSize": {"w":128,"h":128}, + "pivot": {"x":0.5,"y":0.5} +}, +{ + "filename": "1f601.png", + "frame": {"x":128,"y":128,"w":128,"h":128}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, + "sourceSize": {"w":128,"h":128}, + "pivot": {"x":0.5,"y":0.5} +}, +{ + "filename": "1f602.png", + "frame": {"x":256,"y":128,"w":128,"h":128}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, + "sourceSize": {"w":128,"h":128}, + "pivot": {"x":0.5,"y":0.5} +}, +{ + "filename": "1f603.png", + "frame": {"x":384,"y":128,"w":128,"h":128}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, + "sourceSize": {"w":128,"h":128}, + "pivot": {"x":0.5,"y":0.5} +}, +{ + "filename": "1f604.png", + "frame": {"x":0,"y":256,"w":128,"h":128}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, + "sourceSize": {"w":128,"h":128}, + "pivot": {"x":0.5,"y":0.5} +}, +{ + "filename": "1f605.png", + "frame": {"x":128,"y":256,"w":128,"h":128}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, + "sourceSize": {"w":128,"h":128}, + "pivot": {"x":0.5,"y":0.5} +}, +{ + "filename": "1f606.png", + "frame": {"x":256,"y":256,"w":128,"h":128}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, + "sourceSize": {"w":128,"h":128}, + "pivot": {"x":0.5,"y":0.5} +}, +{ + "filename": "1f609.png", + "frame": {"x":384,"y":256,"w":128,"h":128}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, + "sourceSize": {"w":128,"h":128}, + "pivot": {"x":0.5,"y":0.5} +}, +{ + "filename": "1f618.png", + "frame": {"x":0,"y":384,"w":128,"h":128}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, + "sourceSize": {"w":128,"h":128}, + "pivot": {"x":0.5,"y":0.5} +}, +{ + "filename": "1f923.png", + "frame": {"x":128,"y":384,"w":128,"h":128}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, + "sourceSize": {"w":128,"h":128}, + "pivot": {"x":0.5,"y":0.5} +}, +{ + "filename": "263a.png", + "frame": {"x":256,"y":384,"w":128,"h":128}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, + "sourceSize": {"w":128,"h":128}, + "pivot": {"x":0.5,"y":0.5} +}, +{ + "filename": "2639.png", + "frame": {"x":384,"y":384,"w":128,"h":128}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, + "sourceSize": {"w":128,"h":128}, + "pivot": {"x":0.5,"y":0.5} +}], +"meta": { + "app": "http://www.codeandweb.com/texturepacker", + "version": "1.0", + "image": "EmojiOne.png", + "format": "RGBA8888", + "size": {"w":512,"h":512}, + "scale": "1", + "smartupdate": "$TexturePacker:SmartUpdate:196a26a2e149d875b91ffc8fa3581e76:fc928c7e275404b7e0649307410475cb:424723c3774975ddb2053fd5c4b85f6e$" +} +} diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites/EmojiOne.json.meta b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites/EmojiOne.json.meta new file mode 100755 index 000000000..762cf15c9 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites/EmojiOne.json.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8f05276190cf498a8153f6cbe761d4e6 +timeCreated: 1480316860 +licenseType: Pro +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites/EmojiOne.png b/Basic/DyanmicPrefabs/Assets/TextMesh Pro/Sprites/EmojiOne.png new file mode 100755 index 0000000000000000000000000000000000000000..c0de66d0ab8976d2e00122faa45887a4208c07af GIT binary patch literal 112319 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

xMw{_$ce~^VZld@MEWPn}OBCb-| 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΢MWdz93`CaT#q?@>~pm40=*o~e-A0G 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", + "ignore": false, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + "newSceneOverride": 0 +} \ No newline at end of file diff --git a/Basic/DyanmicPrefabs/ProjectSettings/TagManager.asset b/Basic/DyanmicPrefabs/ProjectSettings/TagManager.asset new file mode 100644 index 000000000..1c92a7840 --- /dev/null +++ b/Basic/DyanmicPrefabs/ProjectSettings/TagManager.asset @@ -0,0 +1,43 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!78 &1 +TagManager: + serializedVersion: 2 + tags: [] + layers: + - Default + - TransparentFX + - Ignore Raycast + - + - Water + - UI + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + m_SortingLayers: + - name: Default + uniqueID: 0 + locked: 0 diff --git a/Basic/DyanmicPrefabs/ProjectSettings/TimeManager.asset b/Basic/DyanmicPrefabs/ProjectSettings/TimeManager.asset new file mode 100644 index 000000000..558a017e1 --- /dev/null +++ b/Basic/DyanmicPrefabs/ProjectSettings/TimeManager.asset @@ -0,0 +1,9 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!5 &1 +TimeManager: + m_ObjectHideFlags: 0 + Fixed Timestep: 0.02 + Maximum Allowed Timestep: 0.33333334 + m_TimeScale: 1 + Maximum Particle Timestep: 0.03 diff --git a/Basic/DyanmicPrefabs/ProjectSettings/UnityConnectSettings.asset b/Basic/DyanmicPrefabs/ProjectSettings/UnityConnectSettings.asset new file mode 100644 index 000000000..6125b308a --- /dev/null +++ b/Basic/DyanmicPrefabs/ProjectSettings/UnityConnectSettings.asset @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!310 &1 +UnityConnectSettings: + m_ObjectHideFlags: 0 + serializedVersion: 1 + m_Enabled: 0 + m_TestMode: 0 + m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events + m_EventUrl: https://cdp.cloud.unity3d.com/v1/events + m_ConfigUrl: https://config.uca.cloud.unity3d.com + m_DashboardUrl: https://dashboard.unity3d.com + m_TestInitMode: 0 + CrashReportingSettings: + m_EventUrl: https://perf-events.cloud.unity3d.com + m_Enabled: 0 + m_LogBufferSize: 10 + m_CaptureEditorExceptions: 1 + UnityPurchasingSettings: + m_Enabled: 0 + m_TestMode: 0 + UnityAnalyticsSettings: + m_Enabled: 0 + m_TestMode: 0 + m_InitializeOnStartup: 1 + UnityAdsSettings: + m_Enabled: 0 + m_InitializeOnStartup: 1 + m_TestMode: 0 + m_IosGameId: + m_AndroidGameId: + m_GameIds: {} + m_GameId: + PerformanceReportingSettings: + m_Enabled: 0 diff --git a/Basic/DyanmicPrefabs/ProjectSettings/VFXManager.asset b/Basic/DyanmicPrefabs/ProjectSettings/VFXManager.asset new file mode 100644 index 000000000..3a95c98be --- /dev/null +++ b/Basic/DyanmicPrefabs/ProjectSettings/VFXManager.asset @@ -0,0 +1,12 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!937362698 &1 +VFXManager: + m_ObjectHideFlags: 0 + m_IndirectShader: {fileID: 0} + m_CopyBufferShader: {fileID: 0} + m_SortShader: {fileID: 0} + m_StripUpdateShader: {fileID: 0} + m_RenderPipeSettingsPath: + m_FixedTimeStep: 0.016666668 + m_MaxDeltaTime: 0.05 diff --git a/Basic/DyanmicPrefabs/ProjectSettings/VersionControlSettings.asset b/Basic/DyanmicPrefabs/ProjectSettings/VersionControlSettings.asset new file mode 100644 index 000000000..dca288142 --- /dev/null +++ b/Basic/DyanmicPrefabs/ProjectSettings/VersionControlSettings.asset @@ -0,0 +1,8 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!890905787 &1 +VersionControlSettings: + m_ObjectHideFlags: 0 + m_Mode: Visible Meta Files + m_CollabEditorSettings: + inProgressEnabled: 1 diff --git a/Basic/DyanmicPrefabs/ProjectSettings/XRSettings.asset b/Basic/DyanmicPrefabs/ProjectSettings/XRSettings.asset new file mode 100644 index 000000000..482590c19 --- /dev/null +++ b/Basic/DyanmicPrefabs/ProjectSettings/XRSettings.asset @@ -0,0 +1,10 @@ +{ + "m_SettingKeys": [ + "VR Device Disabled", + "VR Device User Alert" + ], + "m_SettingValues": [ + "False", + "False" + ] +} \ No newline at end of file diff --git a/Basic/DyanmicPrefabs/ProjectSettings/boot.config b/Basic/DyanmicPrefabs/ProjectSettings/boot.config new file mode 100644 index 000000000..e69de29bb From 677d9e65ae7aa14d62be4f3aa45f41aaf4f6edf7 Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Thu, 3 Nov 2022 09:04:58 -0400 Subject: [PATCH 02/55] Added brief readme --- Basic/DyanmicPrefabs/README.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 Basic/DyanmicPrefabs/README.md diff --git a/Basic/DyanmicPrefabs/README.md b/Basic/DyanmicPrefabs/README.md new file mode 100644 index 000000000..0be08cdd1 --- /dev/null +++ b/Basic/DyanmicPrefabs/README.md @@ -0,0 +1,27 @@ +# Dynamic Prefabs + +This sample showcases the available use-cases for the dynamic prefab system, which allows us to add new spawnable prefabs in runtime. + +## Sample feature + +Dynamic prefabs feature allows the developer to add a new prefab to the network prefab list in runtime. +For simplicity, this sample uses Addressables to load the dynamic prefab, however any GameObject with a NetworkObject component can be used, regardless of it's source. + +There are several limitations to this API: +- If you have NetworkConfig.ForceSamePrefabs enabled, you can only modify your prefab lists before starting + networking, and the server and all connected clients must all have the same exact set of prefabs + added via this method before connecting +- Adding a prefab on the server does not automatically add it on the client - it's up to you + to make sure the client and server are synchronized via whatever method makes sense for your game + (RPCs, configs, deterministic loading, etc) +- If the server sends a Spawn message to a client that has not yet added a prefab for, the spawn message + and any other relevant messages will be held for a configurable time (default 1 second, configured via + NetworkConfig.SpawnTimeout) before an error is logged. This is intented to enable the SDK to gracefully + handle unexpected conditions (slow disks, slow network, etc) that slow down asset loading. This timeout + should not be relied on and code shouldn't be written around it - your code should be written so that + the asset is expected to be loaded before it's needed. +- Currently it's impossible to latejoin for clients after a dynamic prefab has been spawned by the server. The reason for this is that the initial sync doesn't allow us any time to load prefabs that are yet absent on the client. + +Based on these limitations the following use cases are covered in the sample: + - PreloadingSample.cs - this is the simplest case of a dynamic prefab - we just add it to the list of prefabs before we connect on all the peers + - SparseLoadingNoLatejoinSample.cs - this is a more complex case where the server spawns things that the client haven't yet loaded, but with the ability to latejoin or reconnect disabled after the "game session" has started. From 2c803c30056e7bb6302ca03a6839b3b2b0720cf5 Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Mon, 7 Nov 2022 11:01:11 -0500 Subject: [PATCH 03/55] Update Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs Co-authored-by: Sam Bellomo <71790295+SamuelBellomo@users.noreply.github.com> --- .../SparseLoadingNoLatejoinSample.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs index 4396059a8..fc7579ace 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs @@ -19,7 +19,7 @@ namespace Game /// Then we wait for a configured amount of time, and then spawn the prefab on the server, which replicates it to the clients. /// Then we hope that the clients will be able to load the prefab during the (m_SpawnDelayInSeconds + m_SpawnTimeoutInSeconds) time window. /// - /// Currently latejoin doesn't work with dynaic prefabs, because the initial sync message doesn't allow the clients any time to load prefabs. That's a bug. + /// Currently latejoin doesn't work with dynamic prefabs, because the initial sync message doesn't allow the clients any time to load prefabs. That's a bug. /// To circumvent this issue we simply disallow latejoins (and reconnections :( ) and do not spawn dynamic things until all clients are connected and the gameplay is started by the server. /// /// This is not ideal, and in the future we will be able to deal with latejoiners who need to preload a bunch of From a0adc17d69ecf99267f7bbab8ce4837782444e47 Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Mon, 7 Nov 2022 11:01:23 -0500 Subject: [PATCH 04/55] Update Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs Co-authored-by: Sam Bellomo <71790295+SamuelBellomo@users.noreply.github.com> --- .../SparseLoadingNoLatejoinSample.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs index fc7579ace..26b6595e2 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs @@ -22,8 +22,6 @@ namespace Game /// Currently latejoin doesn't work with dynamic prefabs, because the initial sync message doesn't allow the clients any time to load prefabs. That's a bug. /// To circumvent this issue we simply disallow latejoins (and reconnections :( ) and do not spawn dynamic things until all clients are connected and the gameplay is started by the server. /// - /// This is not ideal, and in the future we will be able to deal with latejoiners who need to preload a bunch of - /// prefabs before they can properly replicate. /// We will need to maintain a collection of loaded dynamic prefabs on the server, and they will need to be loaded when a new client connects. /// /// From c395fd4ece66f6bafab46045ce0fff1a795618da Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Mon, 7 Nov 2022 14:43:43 -0500 Subject: [PATCH 05/55] slimmed down the package manifest --- Basic/DyanmicPrefabs/Packages/manifest.json | 38 +-- .../Packages/packages-lock.json | 293 +----------------- 2 files changed, 10 insertions(+), 321 deletions(-) diff --git a/Basic/DyanmicPrefabs/Packages/manifest.json b/Basic/DyanmicPrefabs/Packages/manifest.json index 4222ead5a..04e7acb14 100644 --- a/Basic/DyanmicPrefabs/Packages/manifest.json +++ b/Basic/DyanmicPrefabs/Packages/manifest.json @@ -1,49 +1,13 @@ { "dependencies": { "com.unity.addressables": "1.19.19", - "com.unity.collab-proxy": "1.17.1", - "com.unity.feature.development": "1.0.1", "com.unity.ide.rider": "3.0.15", "com.unity.ide.visualstudio": "2.0.16", "com.unity.ide.vscode": "1.2.5", "com.unity.multiplayer.tools": "1.0.0", "com.unity.netcode.gameobjects": "1.1.0", - "com.unity.test-framework": "1.1.31", "com.unity.textmeshpro": "3.0.6", - "com.unity.timeline": "1.6.4", "com.unity.ugui": "1.0.0", - "com.unity.visualscripting": "1.7.8", - "com.veriorpies.parrelsync": "https://github.com/VeriorPies/ParrelSync.git?path=/ParrelSync", - "com.unity.modules.ai": "1.0.0", - "com.unity.modules.androidjni": "1.0.0", - "com.unity.modules.animation": "1.0.0", - "com.unity.modules.assetbundle": "1.0.0", - "com.unity.modules.audio": "1.0.0", - "com.unity.modules.cloth": "1.0.0", - "com.unity.modules.director": "1.0.0", - "com.unity.modules.imageconversion": "1.0.0", - "com.unity.modules.imgui": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0", - "com.unity.modules.particlesystem": "1.0.0", - "com.unity.modules.physics": "1.0.0", - "com.unity.modules.physics2d": "1.0.0", - "com.unity.modules.screencapture": "1.0.0", - "com.unity.modules.terrain": "1.0.0", - "com.unity.modules.terrainphysics": "1.0.0", - "com.unity.modules.tilemap": "1.0.0", - "com.unity.modules.ui": "1.0.0", - "com.unity.modules.uielements": "1.0.0", - "com.unity.modules.umbra": "1.0.0", - "com.unity.modules.unityanalytics": "1.0.0", - "com.unity.modules.unitywebrequest": "1.0.0", - "com.unity.modules.unitywebrequestassetbundle": "1.0.0", - "com.unity.modules.unitywebrequestaudio": "1.0.0", - "com.unity.modules.unitywebrequesttexture": "1.0.0", - "com.unity.modules.unitywebrequestwww": "1.0.0", - "com.unity.modules.vehicles": "1.0.0", - "com.unity.modules.video": "1.0.0", - "com.unity.modules.vr": "1.0.0", - "com.unity.modules.wind": "1.0.0", - "com.unity.modules.xr": "1.0.0" + "com.veriorpies.parrelsync": "https://github.com/VeriorPies/ParrelSync.git?path=/ParrelSync" } } diff --git a/Basic/DyanmicPrefabs/Packages/packages-lock.json b/Basic/DyanmicPrefabs/Packages/packages-lock.json index 585da6d9d..fe346176c 100644 --- a/Basic/DyanmicPrefabs/Packages/packages-lock.json +++ b/Basic/DyanmicPrefabs/Packages/packages-lock.json @@ -23,15 +23,6 @@ }, "url": "https://packages.unity.com" }, - "com.unity.collab-proxy": { - "version": "1.17.1", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.services.core": "1.0.1" - }, - "url": "https://packages.unity.com" - }, "com.unity.collections": { "version": "1.2.4", "depth": 1, @@ -42,13 +33,6 @@ }, "url": "https://packages.unity.com" }, - "com.unity.editorcoroutines": { - "version": "1.0.0", - "depth": 1, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, "com.unity.ext.nunit": { "version": "1.0.6", "depth": 1, @@ -56,20 +40,6 @@ "dependencies": {}, "url": "https://packages.unity.com" }, - "com.unity.feature.development": { - "version": "1.0.1", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.ide.visualstudio": "2.0.16", - "com.unity.ide.rider": "3.0.15", - "com.unity.ide.vscode": "1.2.5", - "com.unity.editorcoroutines": "1.0.0", - "com.unity.performance.profile-analyzer": "1.1.1", - "com.unity.test-framework": "1.1.31", - "com.unity.testtools.codecoverage": "1.0.1" - } - }, "com.unity.ide.rider": { "version": "3.0.15", "depth": 0, @@ -139,13 +109,6 @@ "dependencies": {}, "url": "https://packages.unity.com" }, - "com.unity.performance.profile-analyzer": { - "version": "1.1.1", - "depth": 1, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, "com.unity.profiling.core": { "version": "1.0.2", "depth": 1, @@ -160,27 +123,9 @@ "dependencies": {}, "url": "https://packages.unity.com" }, - "com.unity.services.core": { - "version": "1.4.2", - "depth": 1, - "source": "registry", - "dependencies": { - "com.unity.modules.unitywebrequest": "1.0.0", - "com.unity.nuget.newtonsoft-json": "3.0.2", - "com.unity.modules.androidjni": "1.0.0" - }, - "url": "https://packages.unity.com" - }, - "com.unity.settings-manager": { - "version": "1.0.3", - "depth": 2, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, "com.unity.test-framework": { "version": "1.1.31", - "depth": 0, + "depth": 1, "source": "registry", "dependencies": { "com.unity.ext.nunit": "1.0.6", @@ -189,16 +134,6 @@ }, "url": "https://packages.unity.com" }, - "com.unity.testtools.codecoverage": { - "version": "1.0.1", - "depth": 1, - "source": "registry", - "dependencies": { - "com.unity.test-framework": "1.0.16", - "com.unity.settings-manager": "1.0.1" - }, - "url": "https://packages.unity.com" - }, "com.unity.textmeshpro": { "version": "3.0.6", "depth": 0, @@ -208,18 +143,6 @@ }, "url": "https://packages.unity.com" }, - "com.unity.timeline": { - "version": "1.6.4", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.modules.director": "1.0.0", - "com.unity.modules.animation": "1.0.0", - "com.unity.modules.audio": "1.0.0", - "com.unity.modules.particlesystem": "1.0.0" - }, - "url": "https://packages.unity.com" - }, "com.unity.transport": { "version": "1.3.0", "depth": 1, @@ -240,16 +163,6 @@ "com.unity.modules.imgui": "1.0.0" } }, - "com.unity.visualscripting": { - "version": "1.7.8", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.ugui": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0" - }, - "url": "https://packages.unity.com" - }, "com.veriorpies.parrelsync": { "version": "https://github.com/VeriorPies/ParrelSync.git?path=/ParrelSync", "depth": 0, @@ -257,137 +170,39 @@ "dependencies": {}, "hash": "f45424822189ebd875d864a17d7f03b72eafbff7" }, - "com.unity.modules.ai": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.androidjni": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.animation": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, "com.unity.modules.assetbundle": { "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.audio": { - "version": "1.0.0", - "depth": 0, + "depth": 1, "source": "builtin", "dependencies": {} }, - "com.unity.modules.cloth": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.physics": "1.0.0" - } - }, - "com.unity.modules.director": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.audio": "1.0.0", - "com.unity.modules.animation": "1.0.0" - } - }, "com.unity.modules.imageconversion": { "version": "1.0.0", - "depth": 0, + "depth": 1, "source": "builtin", "dependencies": {} }, "com.unity.modules.imgui": { "version": "1.0.0", - "depth": 0, + "depth": 1, "source": "builtin", "dependencies": {} }, "com.unity.modules.jsonserialize": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.particlesystem": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.physics": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.physics2d": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.screencapture": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.imageconversion": "1.0.0" - } - }, - "com.unity.modules.subsystems": { "version": "1.0.0", "depth": 1, "source": "builtin", - "dependencies": { - "com.unity.modules.jsonserialize": "1.0.0" - } - }, - "com.unity.modules.terrain": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", "dependencies": {} }, - "com.unity.modules.terrainphysics": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.physics": "1.0.0", - "com.unity.modules.terrain": "1.0.0" - } - }, - "com.unity.modules.tilemap": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.physics2d": "1.0.0" - } - }, "com.unity.modules.ui": { "version": "1.0.0", - "depth": 0, + "depth": 1, "source": "builtin", "dependencies": {} }, "com.unity.modules.uielements": { "version": "1.0.0", - "depth": 0, + "depth": 1, "source": "builtin", "dependencies": { "com.unity.modules.ui": "1.0.0", @@ -398,7 +213,7 @@ }, "com.unity.modules.uielementsnative": { "version": "1.0.0", - "depth": 1, + "depth": 2, "source": "builtin", "dependencies": { "com.unity.modules.ui": "1.0.0", @@ -406,110 +221,20 @@ "com.unity.modules.jsonserialize": "1.0.0" } }, - "com.unity.modules.umbra": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.unityanalytics": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.unitywebrequest": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0" - } - }, "com.unity.modules.unitywebrequest": { "version": "1.0.0", - "depth": 0, + "depth": 1, "source": "builtin", "dependencies": {} }, "com.unity.modules.unitywebrequestassetbundle": { "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.assetbundle": "1.0.0", - "com.unity.modules.unitywebrequest": "1.0.0" - } - }, - "com.unity.modules.unitywebrequestaudio": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.unitywebrequest": "1.0.0", - "com.unity.modules.audio": "1.0.0" - } - }, - "com.unity.modules.unitywebrequesttexture": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.unitywebrequest": "1.0.0", - "com.unity.modules.imageconversion": "1.0.0" - } - }, - "com.unity.modules.unitywebrequestwww": { - "version": "1.0.0", - "depth": 0, + "depth": 1, "source": "builtin", "dependencies": { - "com.unity.modules.unitywebrequest": "1.0.0", - "com.unity.modules.unitywebrequestassetbundle": "1.0.0", - "com.unity.modules.unitywebrequestaudio": "1.0.0", - "com.unity.modules.audio": "1.0.0", "com.unity.modules.assetbundle": "1.0.0", - "com.unity.modules.imageconversion": "1.0.0" - } - }, - "com.unity.modules.vehicles": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.physics": "1.0.0" - } - }, - "com.unity.modules.video": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.audio": "1.0.0", - "com.unity.modules.ui": "1.0.0", "com.unity.modules.unitywebrequest": "1.0.0" } - }, - "com.unity.modules.vr": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.jsonserialize": "1.0.0", - "com.unity.modules.physics": "1.0.0", - "com.unity.modules.xr": "1.0.0" - } - }, - "com.unity.modules.wind": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.xr": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.physics": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0", - "com.unity.modules.subsystems": "1.0.0" - } } } } From 233f715b1d330f19f3fb5d6e3c38216fc21e9ee3 Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Mon, 7 Nov 2022 16:47:32 -0500 Subject: [PATCH 06/55] swapped awake for async start, added more comments to help the user understand what's going on --- .../PreloadingSample.cs | 34 +++++++++++-------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs b/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs index 78a051f98..14fd23a44 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs @@ -1,8 +1,8 @@ using System; +using System.Threading.Tasks; using Unity.Netcode; using UnityEngine; using UnityEngine.AddressableAssets; -using UnityEngine.Serialization; namespace Game { @@ -11,28 +11,32 @@ public sealed class PreloadingSample : MonoBehaviour [SerializeField] AssetReferenceGameObject m_DynamicPrefabRef; [SerializeField] NetworkManager _networkManager; - void Awake() - { - //this is the simplest case of a dynamic prefab - we just add it to the list of prefabs before we start the server - //at this point we can also easily change the PlayerPrefab - // - //what's important is that it doesn't really matter where the prefab comes from, - //it could be a simple prefab or it could be an addressable - it's all the same - // - //it's important to note that this isn't limited to PlayerPrefab, despite the method name - //you can add any prefab to the list of prefabs that will be spawned - - PreloadDynamicPlayerPrefab(); - } + async void Start() + { + //this is the simplest case of a dynamic prefab - we just add it to the list of prefabs before we start the server + //at this point we can also easily change the PlayerPrefab + // + //what's important is that it doesn't really matter where the prefab comes from, + //it could be a simple prefab or it could be an addressable - it's all the same + // + //it's important to note that this isn't limited to PlayerPrefab, despite the method name + //you can add any prefab to the list of prefabs that will be spawned + + await PreloadDynamicPlayerPrefab(); + + //after we've waited for the prefabs to load - we can start the host or the client via the NetworkManagerHud component. + + } - async void PreloadDynamicPlayerPrefab() + async Task PreloadDynamicPlayerPrefab() { var op = Addressables.LoadAssetAsync(m_DynamicPrefabRef); var prefab = await op.Task; Addressables.Release(op); _networkManager.NetworkConfig.ForceSamePrefabs = true; + //it's important to actually add the player prefab to the list of network prefabs - it doesn't happen automatically _networkManager.AddNetworkPrefab(prefab); _networkManager.NetworkConfig.PlayerPrefab = prefab; } From ad67a9b4fc7469cb11d0bd4a28ec3cbfcbea2984 Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Tue, 8 Nov 2022 17:25:14 -0500 Subject: [PATCH 07/55] sparse loading now ensures clients ack the prefab load before spawning --- .../01_SparseLoadingNoLatejoin.unity.meta | 2 +- .../SparseLoadingNoLatejoinSample.cs | 106 +++++++++++++----- .../ProjectSettings/EditorBuildSettings.asset | 2 +- 3 files changed, 78 insertions(+), 32 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity.meta b/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity.meta index a0d3b6954..966c2827b 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity.meta +++ b/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity.meta @@ -1,3 +1,3 @@ fileFormatVersion: 2 -guid: 2202c8fdc114468cbabe8305186c7cf9 +guid: a4b10a79c91b64ba4863188ca77f36e8 timeCreated: 1666715239 \ No newline at end of file diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs index 26b6595e2..56b46e2c1 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Threading.Tasks; using Unity.Collections; using Unity.Netcode; @@ -9,21 +10,18 @@ namespace Game { ///

- /// This is probably the most advanced scenario - we are spawning prefabs that aren't known to clients beforehand. + /// In this scenario we are spawning prefabs that aren't known to the clients beforehand. /// - /// Here we are not implementing client acknowledgement of the prefab loading completion - - /// this would allow the server to wait for all the clients to have loaded the prefab and spawn it only then, which is safer. - /// However, this is not implemented here for simplicity - there is a whole slew of potential failures that this would have to handle. + /// NGO requires us to load the prefab before we spawn it. /// - /// Instead we load the prefab from an addressable, and then send an RPC to the clients, telling them to start loading the prefab. - /// Then we wait for a configured amount of time, and then spawn the prefab on the server, which replicates it to the clients. - /// Then we hope that the clients will be able to load the prefab during the (m_SpawnDelayInSeconds + m_SpawnTimeoutInSeconds) time window. - /// - /// Currently latejoin doesn't work with dynamic prefabs, because the initial sync message doesn't allow the clients any time to load prefabs. That's a bug. - /// To circumvent this issue we simply disallow latejoins (and reconnections :( ) and do not spawn dynamic things until all clients are connected and the gameplay is started by the server. - /// - /// We will need to maintain a collection of loaded dynamic prefabs on the server, and they will need to be loaded when a new client connects. + /// The inbuilt delay that is accessible through NetworkManager.NetworkConfig.SpawnTimeout is NOT MEANT to serve + /// as a buffering time during which the clients attempt to catch up with the server's spawn command by loading the prefab and hoping that this load won't take more than the timeout. + /// Such approach would inevitably lead to desyncs in production. /// + /// To be safe and to respect the NGO requirement of loading the prefab before spawning it, we: + /// - ensure that the clients acknowledge that they have loaded the prefab + /// - the server waits for a specified amount of time for the clients to acknowledge the load, and if all the clients are successful - it spawns the prefab + /// - otherwise the server runs out of time and the spawn is cancelled /// public sealed class SparseLoadingNoLatejoinSample : NetworkBehaviour { @@ -39,12 +37,16 @@ public sealed class SparseLoadingNoLatejoinSample : NetworkBehaviour [SerializeField] float m_SpawnDelayInSeconds; - bool m_isGameStarted = false; + bool m_IsGameStarted = false; + + int m_CountOfClientsThatLoadedThePrefab = 0; + float m_SpawnTimeoutTimer = 0; + + private Dictionary m_LoadedDynamicPrefabs = new Dictionary(); void Awake() { _networkManager.NetworkConfig.ForceSamePrefabs = false; - _networkManager.NetworkConfig.SpawnTimeout = m_SpawnTimeoutInSeconds; _networkManager.ConnectionApprovalCallback = ConnectionApprovalCallback; } @@ -52,7 +54,7 @@ public override void OnNetworkSpawn() { if (IsServer) { - m_StartGameButton.onClick.AddListener(StartGame); + m_StartGameButton.onClick.AddListener(OnClickedSpawnButton); } else { @@ -60,21 +62,25 @@ public override void OnNetworkSpawn() } } - private void StartGame() + async void OnClickedSpawnButton() { - if (!m_isGameStarted) + if (!m_IsGameStarted) { - m_isGameStarted = true; - - SpawnDynamicPrefabWithDelay(); - + m_IsGameStarted = true; m_StartGameButton.gameObject.SetActive(false); + + bool didManageToSpawn = await TrySpawnDynamicPrefabWithDelay(); + + if (!didManageToSpawn) + { + m_StartGameButton.gameObject.SetActive(true); + } } } void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) { - if (m_isGameStarted) + if (m_IsGameStarted) { response.Approved = false; } @@ -84,26 +90,49 @@ void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request } } - private async void SpawnDynamicPrefabWithDelay() + async Task TrySpawnDynamicPrefabWithDelay() { - if (IsServer || IsHost) + if (IsServer) { + m_CountOfClientsThatLoadedThePrefab = 0; + m_SpawnTimeoutTimer = 0; + + Debug.Log("Loading dynamic prefab on the clients..."); LoadAddressableClientRpc(m_DynamicPrefabRef.AssetGUID); - var prefab = await LoadDynamicAddressablePrefab(m_DynamicPrefabRef.AssetGUID); - await SpawnAfterDelay(_networkManager.LocalClientId, (int)(m_SpawnDelayInSeconds * 1000), prefab); + int requiredAcknowledgementsCount = IsHost ? _networkManager.ConnectedClients.Count - 1 : _networkManager.ConnectedClients.Count; + + while (m_SpawnTimeoutTimer < m_SpawnTimeoutInSeconds) + { + if (m_CountOfClientsThatLoadedThePrefab >= requiredAcknowledgementsCount) + { + Debug.Log($"All clients have loaded the prefab in {m_SpawnTimeoutTimer} seconds, spawning the prefab on the server..."); + var prefab = await EnsureDynamicPrefabIsLoaded(m_DynamicPrefabRef.AssetGUID); + await SpawnAfterDelay(_networkManager.LocalClientId, (int)(m_SpawnDelayInSeconds * 1000), prefab); + return true; + } + + m_SpawnTimeoutTimer += Time.deltaTime; + await Task.Yield(); + } + + Debug.LogError("Failed to spawn dynamic prefab - timeout"); + return false; } + return false; + async Task SpawnAfterDelay(ulong ownerId, int delayMS, GameObject prefab) { await Task.Delay(delayMS); var obj = Instantiate(prefab).GetComponent(); obj.SpawnWithOwnership(ownerId); + Debug.Log("Spawned dynamic prefab"); } } [ClientRpc] - private void LoadAddressableClientRpc(FixedString64Bytes guid, ClientRpcParams rpcParams = default) + void LoadAddressableClientRpc(FixedString64Bytes guid, ClientRpcParams rpcParams = default) { if (!IsHost) { @@ -112,18 +141,35 @@ private void LoadAddressableClientRpc(FixedString64Bytes guid, ClientRpcParams r async void LoadPrefab(FixedString64Bytes guid) { - await LoadDynamicAddressablePrefab(guid.ToString()); + Debug.Log("Loading dynamic prefab on the client..."); + await EnsureDynamicPrefabIsLoaded(guid.ToString()); + Debug.Log("Client loaded dynamic prefab"); + AcknowledgeSuccessfulPrefabLoadServerRpc(guid); } } + + [ServerRpc(RequireOwnership = false)] + void AcknowledgeSuccessfulPrefabLoadServerRpc(FixedString64Bytes guid, ServerRpcParams rpcParams = default) + { + m_CountOfClientsThatLoadedThePrefab++; + Debug.Log("Client acknowledged successful prefab load"); + } - private async Task LoadDynamicAddressablePrefab(string guid) + async Task EnsureDynamicPrefabIsLoaded(string guid) { + if(m_LoadedDynamicPrefabs.ContainsKey(guid)) + { + Debug.Log("Prefab has already been loaded, skipping loading this time"); + return m_LoadedDynamicPrefabs[guid]; + } + var op = Addressables.LoadAssetAsync(guid); var prefab = await op.Task; Addressables.Release(op); _networkManager.AddNetworkPrefab(prefab); - + m_LoadedDynamicPrefabs.Add(guid, prefab); + return prefab; } } diff --git a/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset b/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset index 5c54031c9..77d7694f0 100644 --- a/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset +++ b/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset @@ -10,6 +10,6 @@ EditorBuildSettings: guid: 9fc0d4010bbf28b4594072e72b8655ab - enabled: 1 path: Assets/Scenes/01_SparseLoadingNoLatejoin.unity - guid: 2202c8fdc114468cbabe8305186c7cf9 + guid: a4b10a79c91b64ba4863188ca77f36e8 m_configObjects: com.unity.addressableassets: {fileID: 11400000, guid: b1ddf61b298f54d599a3d954101e1b69, type: 2} From 1a07308dc245bec14ecf26fd1ec3b790086b6fc6 Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Tue, 8 Nov 2022 19:25:23 -0500 Subject: [PATCH 08/55] added server-side logic to not delay the spawn of a prefab that has already been preloaded on all peers --- .../SparseLoadingNoLatejoinSample.cs | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs index 56b46e2c1..be21d832d 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs @@ -32,17 +32,12 @@ public sealed class SparseLoadingNoLatejoinSample : NetworkBehaviour [SerializeField] NetworkManager _networkManager; - [SerializeField] - float m_SpawnTimeoutInSeconds; - [SerializeField] - float m_SpawnDelayInSeconds; + [SerializeField] float m_SpawnTimeoutInSeconds; bool m_IsGameStarted = false; - int m_CountOfClientsThatLoadedThePrefab = 0; float m_SpawnTimeoutTimer = 0; - - private Dictionary m_LoadedDynamicPrefabs = new Dictionary(); + Dictionary m_LoadedDynamicPrefabs = new Dictionary(); void Awake() { @@ -69,7 +64,7 @@ async void OnClickedSpawnButton() m_IsGameStarted = true; m_StartGameButton.gameObject.SetActive(false); - bool didManageToSpawn = await TrySpawnDynamicPrefabWithDelay(); + bool didManageToSpawn = await TrySpawnDynamicPrefab(m_DynamicPrefabRef.AssetGUID); if (!didManageToSpawn) { @@ -90,10 +85,17 @@ void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request } } - async Task TrySpawnDynamicPrefabWithDelay() + async Task TrySpawnDynamicPrefab(string guid) { if (IsServer) { + if (m_LoadedDynamicPrefabs.ContainsKey(guid)) + { + Debug.Log("Prefab is already loaded by all peers, we can spawn it immediately"); + await Spawn(guid); + return true; + } + m_CountOfClientsThatLoadedThePrefab = 0; m_SpawnTimeoutTimer = 0; @@ -107,8 +109,7 @@ async Task TrySpawnDynamicPrefabWithDelay() if (m_CountOfClientsThatLoadedThePrefab >= requiredAcknowledgementsCount) { Debug.Log($"All clients have loaded the prefab in {m_SpawnTimeoutTimer} seconds, spawning the prefab on the server..."); - var prefab = await EnsureDynamicPrefabIsLoaded(m_DynamicPrefabRef.AssetGUID); - await SpawnAfterDelay(_networkManager.LocalClientId, (int)(m_SpawnDelayInSeconds * 1000), prefab); + await Spawn(guid); return true; } @@ -121,12 +122,12 @@ async Task TrySpawnDynamicPrefabWithDelay() } return false; - - async Task SpawnAfterDelay(ulong ownerId, int delayMS, GameObject prefab) + + async Task Spawn(string assetGuid) { - await Task.Delay(delayMS); + var prefab = await EnsureDynamicPrefabIsLoaded(assetGuid); var obj = Instantiate(prefab).GetComponent(); - obj.SpawnWithOwnership(ownerId); + obj.SpawnWithOwnership(_networkManager.LocalClientId); Debug.Log("Spawned dynamic prefab"); } } From ee6d50feb5988cf4d8761452c70e05e341d44ef3 Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Tue, 8 Nov 2022 19:26:56 -0500 Subject: [PATCH 09/55] formatting --- .../SparseLoadingNoLatejoinSample.cs | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs index be21d832d..03a47a5b0 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs @@ -25,13 +25,9 @@ namespace Game /// public sealed class SparseLoadingNoLatejoinSample : NetworkBehaviour { - [SerializeField] - Button m_StartGameButton; - + [SerializeField] Button m_StartGameButton; [SerializeField] AssetReferenceGameObject m_DynamicPrefabRef; - [SerializeField] NetworkManager _networkManager; - [SerializeField] float m_SpawnTimeoutInSeconds; bool m_IsGameStarted = false; @@ -140,17 +136,17 @@ void LoadAddressableClientRpc(FixedString64Bytes guid, ClientRpcParams rpcParams LoadPrefab(guid); } - async void LoadPrefab(FixedString64Bytes guid) + async void LoadPrefab(FixedString64Bytes assetGuid) { Debug.Log("Loading dynamic prefab on the client..."); - await EnsureDynamicPrefabIsLoaded(guid.ToString()); + await EnsureDynamicPrefabIsLoaded(assetGuid.ToString()); Debug.Log("Client loaded dynamic prefab"); - AcknowledgeSuccessfulPrefabLoadServerRpc(guid); + AcknowledgeSuccessfulPrefabLoadServerRpc(); } } [ServerRpc(RequireOwnership = false)] - void AcknowledgeSuccessfulPrefabLoadServerRpc(FixedString64Bytes guid, ServerRpcParams rpcParams = default) + void AcknowledgeSuccessfulPrefabLoadServerRpc(ServerRpcParams rpcParams = default) { m_CountOfClientsThatLoadedThePrefab++; Debug.Log("Client acknowledged successful prefab load"); From 320dc4a730edbe6f05613b2abff0e0e596e26f63 Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Wed, 16 Nov 2022 17:42:59 -0500 Subject: [PATCH 10/55] wip adding latejoin support --- .../Scenes/01_SparseLoadingNoLatejoin.unity | 562 +++++++++++++++++- .../SparseLoadingNoLatejoinSample.cs | 292 ++++++++- 2 files changed, 803 insertions(+), 51 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity b/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity index 5a2162f34..a8e8d7da5 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity @@ -352,6 +352,276 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &788102163 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 788102164} + - component: {fileID: 788102166} + - component: {fileID: 788102165} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &788102164 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788102163} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1541538684} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &788102165 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788102163} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Client + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &788102166 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788102163} + m_CullTransparentMesh: 1 +--- !u!1 &832999904 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 832999905} + - component: {fileID: 832999907} + - component: {fileID: 832999906} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &832999905 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 832999904} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1242229360} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &832999906 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 832999904} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Host + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &832999907 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 832999904} + m_CullTransparentMesh: 1 --- !u!1 &963194225 GameObject: m_ObjectHideFlags: 0 @@ -481,7 +751,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} m_Name: m_EditorClassIdentifier: - GlobalObjectIdHash: 733721036 + GlobalObjectIdHash: 3033738229 AlwaysReplicateAsRoot: 0 DontDestroyWithOwner: 0 AutoObjectParentSync: 1 @@ -503,9 +773,8 @@ MonoBehaviour: m_SubObjectName: m_SubObjectType: m_EditorAssetChanged: 0 - _networkManager: {fileID: 2054638265} m_SpawnTimeoutInSeconds: 5 - m_SpawnDelayInSeconds: 0 + m_NetworkManager: {fileID: 2054638265} --- !u!1 &1157890485 GameObject: m_ObjectHideFlags: 0 @@ -599,6 +868,8 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1684107769} + - {fileID: 1242229360} + - {fileID: 1541538684} m_Father: {fileID: 0} m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -607,6 +878,140 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 0} +--- !u!1 &1242229359 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1242229360} + - component: {fileID: 1242229363} + - component: {fileID: 1242229362} + - component: {fileID: 1242229361} + m_Layer: 5 + m_Name: Btn - Start Host + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1242229360 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242229359} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 832999905} + m_Father: {fileID: 1157890489} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 17, y: -25} + m_SizeDelta: {x: 300, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1242229361 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242229359} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1242229362} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 989424453} + m_TargetAssemblyTypeName: Game.SparseLoadingNoLatejoinSample, Assembly-CSharp + m_MethodName: StartHost + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1242229362 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242229359} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1242229363 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242229359} + m_CullTransparentMesh: 1 --- !u!1 &1521417880 GameObject: m_ObjectHideFlags: 0 @@ -675,6 +1080,140 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1541538683 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1541538684} + - component: {fileID: 1541538687} + - component: {fileID: 1541538686} + - component: {fileID: 1541538685} + m_Layer: 5 + m_Name: Btn - Start Client + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1541538684 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541538683} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 788102164} + m_Father: {fileID: 1157890489} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 347, y: -25} + m_SizeDelta: {x: 300, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1541538685 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541538683} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1541538686} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 989424453} + m_TargetAssemblyTypeName: Game.SparseLoadingNoLatejoinSample, Assembly-CSharp + m_MethodName: StartClient + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1541538686 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541538683} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1541538687 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541538683} + m_CullTransparentMesh: 1 --- !u!1 &1684107768 GameObject: m_ObjectHideFlags: 0 @@ -688,7 +1227,7 @@ GameObject: - component: {fileID: 1684107771} - component: {fileID: 1684107770} m_Layer: 5 - m_Name: Button + m_Name: Btn - Spawn on Server m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -808,7 +1347,6 @@ GameObject: - component: {fileID: 2054638266} - component: {fileID: 2054638265} - component: {fileID: 2054638264} - - component: {fileID: 2054638267} m_Layer: 0 m_Name: NetworkManager m_TagString: Untagged @@ -892,17 +1430,3 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2054638267 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2054638263} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e785819555ef441ea883f409bbb77c6f, type: 3} - m_Name: - m_EditorClassIdentifier: - DrawOffset: {x: 10, y: 10} - LabelColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs index 03a47a5b0..80b5bbfb8 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs @@ -1,14 +1,101 @@ using System; +using System.Buffers; using System.Collections.Generic; using System.Threading.Tasks; using Unity.Collections; using Unity.Netcode; +using Unity.Netcode.Transports.UTP; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.UI; namespace Game { + public enum ConnectStatus + { + Undefined, + Success, //client successfully connected. This may also be a successful reconnect. + ClientNeedsToPreload, //client needs to preload the dynamic prefabs before connecting + + ServerFull, //can't join, server is already at capacity. + LoggedInAgain, //logged in on a separate client, causing this one to be kicked out. + UserRequestedDisconnect, //Intentional Disconnect triggered by the user. + GenericDisconnect, //server disconnected, but no specific reason given. + Reconnecting, //client lost connection and is attempting to reconnect. + IncompatibleBuildType, //client build type is incompatible with server. + HostEndedSession, //host intentionally ended the session. + StartHostFailed, // server failed to bind + StartClientFailed // failed to connect to server and/or invalid network endpoint + } + + public struct AddressableGUID : INetworkSerializable + { + public FixedString128Bytes Value; + + public void NetworkSerialize(BufferSerializer serializer) where T : IReaderWriter + { + serializer.SerializeValue(ref Value); + } + + public override int GetHashCode() + { + return Value.GetHashCode(); + } + + public override string ToString() + { + return Value.ToString(); + } + } + + public struct AddressableGUIDCollection : INetworkSerializable + { + public AddressableGUID[] GUIDs; + + public void NetworkSerialize(BufferSerializer serializer) where T : IReaderWriter + { + // Length + int length = 0; + if (!serializer.IsReader) + { + length = GUIDs.Length; + } + + serializer.SerializeValue(ref length); + + // Array + if (serializer.IsReader) + { + GUIDs = new AddressableGUID[length]; + } + + for (int n = 0; n < length; ++n) + { + serializer.SerializeValue(ref GUIDs[n]); + } + } + + public override int GetHashCode() + { + int value = 0; + for (var i = 0;i< this.GUIDs.Length; i++) + { + value = HashCode.Combine(this.GUIDs[i],value); + } + + return value; + + //return ((IStructuralEquatable)this.GUIDs).GetHashCode(EqualityComparer.Default); + } + } + + + [Serializable] + public class ConnectionPayload + { + public int HashOfDynamicPrefabGUIDs; + } + /// /// In this scenario we are spawning prefabs that aren't known to the clients beforehand. /// @@ -25,20 +112,35 @@ namespace Game /// public sealed class SparseLoadingNoLatejoinSample : NetworkBehaviour { + const int k_MaxConnectPayload = 1024; + ushort m_Port = 7777; + string m_ConnectAddress = "127.0.0.1"; + [SerializeField] Button m_StartGameButton; [SerializeField] AssetReferenceGameObject m_DynamicPrefabRef; - [SerializeField] NetworkManager _networkManager; [SerializeField] float m_SpawnTimeoutInSeconds; + [SerializeField] NetworkManager m_NetworkManager; - bool m_IsGameStarted = false; int m_CountOfClientsThatLoadedThePrefab = 0; float m_SpawnTimeoutTimer = 0; - Dictionary m_LoadedDynamicPrefabs = new Dictionary(); - void Awake() + int m_HashOfDynamicPrefabGUIDs = -1; + Dictionary m_LoadedDynamicPrefabs = new Dictionary(); + + public void StartClient() + { + m_NetworkManager.NetworkConfig.ForceSamePrefabs = false; + m_NetworkManager.StartClient(); + m_NetworkManager.CustomMessagingManager.RegisterNamedMessageHandler(nameof(ReceiveServerToClientSetDisconnectReason_CustomMessage), ReceiveServerToClientSetDisconnectReason_CustomMessage); + } + + public void StartHost() { - _networkManager.NetworkConfig.ForceSamePrefabs = false; - _networkManager.ConnectionApprovalCallback = ConnectionApprovalCallback; + m_NetworkManager.NetworkConfig.ForceSamePrefabs = false; + var transport = m_NetworkManager.GetComponent(); + transport.SetConnectionData(m_ConnectAddress, m_Port); + m_NetworkManager.ConnectionApprovalCallback = ConnectionApprovalCallback; + m_NetworkManager.StartHost(); } public override void OnNetworkSpawn() @@ -53,42 +155,153 @@ public override void OnNetworkSpawn() } } - async void OnClickedSpawnButton() + void ReceiveServerToClientSetDisconnectReason_CustomMessage(ulong clientID, FastBufferReader reader) { - if (!m_IsGameStarted) + reader.ReadValueSafe(out ConnectStatus status); + + if (status == ConnectStatus.ClientNeedsToPreload) { - m_IsGameStarted = true; - m_StartGameButton.gameObject.SetActive(false); + reader.ReadValueSafe(out AddressableGUIDCollection addressableGUIDCollection); - bool didManageToSpawn = await TrySpawnDynamicPrefab(m_DynamicPrefabRef.AssetGUID); - - if (!didManageToSpawn) + //enumerate and log all the GUIDs that the server sent us + foreach (var guid in addressableGUIDCollection.GUIDs) { - m_StartGameButton.gameObject.SetActive(true); + Debug.Log($"Client needs to preload {guid.Value}"); } + + //todo: load missing prefabs and then retry connection } } - void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) + /// + /// Sends a DisconnectReason to the indicated client. This should only be done on the server, prior to disconnecting the client. + /// + /// id of the client to send to + /// The reason for the upcoming disconnect. + /// + private void SendServerToClientSetDisconnectReason(ulong clientID, ConnectStatus status, AddressableGUIDCollection addressableGUIDCollection) { - if (m_IsGameStarted) + var writer = new FastBufferWriter(sizeof(ConnectStatus), Allocator.Temp); + writer.WriteValueSafe(status); + writer.WriteValueSafe(addressableGUIDCollection); + + m_NetworkManager.CustomMessagingManager.SendNamedMessage(nameof(ReceiveServerToClientSetDisconnectReason_CustomMessage), clientID, writer); + } + + async void OnClickedSpawnButton() + { + m_StartGameButton.gameObject.SetActive(false); + + bool didManageToSpawn = await TrySpawnDynamicPrefab(m_DynamicPrefabRef.AssetGUID); + + if (!didManageToSpawn) { - response.Approved = false; + m_StartGameButton.gameObject.SetActive(true); } - else + } + + async void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) + { + var connectionData = request.Payload; + var clientId = request.ClientNetworkId; + + if (clientId == m_NetworkManager.LocalClientId) + { + //allow the host to connect + Approve(); + return; + } + + if (connectionData.Length > k_MaxConnectPayload) + { + // If connectionData is too big, deny immediately to avoid wasting time on the server. This is intended as + // a bit of light protection against DOS attacks that rely on sending silly big buffers of garbage. + ImmediateDeny(); + return; + } + + if (m_LoadedDynamicPrefabs.Count == 0) + { + //immediately approve the connection if we haven't loaded any prefabs yet + Approve(); + return; + } + + var payload = System.Text.Encoding.UTF8.GetString(connectionData); + var connectionPayload = JsonUtility.FromJson(payload); // https://docs.unity3d.com/2020.2/Documentation/Manual/JSONSerialization.html + + int clientPrefabHash = connectionPayload.HashOfDynamicPrefabGUIDs; + int serverPrefabHash = m_HashOfDynamicPrefabGUIDs; + + if (clientPrefabHash == serverPrefabHash) + { + //if the client has the same prefabs as the server - approve the connection + Approve(); + return; + } + + await WaitToDenyApproval(clientId, ConnectStatus.ClientNeedsToPreload, m_LoadedDynamicPrefabs.Keys); + + void Approve() { response.Approved = true; + response.CreatePlayerObject = true; + response.Position = Vector3.zero; + response.Rotation = Quaternion.identity; + } + + void ImmediateDeny() + { + response.Approved = false; + response.CreatePlayerObject = false; + } + + // In order for clients to not just get disconnected with no feedback, the server needs to tell the client why it disconnected it. + // This could happen after an auth check on a service or because of gameplay reasons (server full, wrong build version, etc) + // Since network objects haven't synced yet (still in the approval process), we need to send a custom message to clients, wait for + // UTP to update a frame and flush that message, then give our response to NetworkManager's connection approval process, with a denied approval. + async Task WaitToDenyApproval(ulong clientID, ConnectStatus status, ICollection addressableGUIDs) + { + response.Pending = true; // give some time for server to send connection status message to clients + response.Approved = false; + var dynamicPrefabGUIDs = ArrayPool.Shared.Rent(m_LoadedDynamicPrefabs.Keys.Count); + m_LoadedDynamicPrefabs.Keys.CopyTo(dynamicPrefabGUIDs, 0); + SendServerToClientSetDisconnectReason(clientID, status, new AddressableGUIDCollection(){GUIDs = dynamicPrefabGUIDs}); + await Task.Yield();// wait a frame so UTP can flush it's messages on next update + response.Pending = false; // connection approval process can be finished. + ArrayPool.Shared.Return(dynamicPrefabGUIDs); } } + //todo: return the reason for failure, not just a true/false + //and write up some ideas on how to deal with different kinds of failures (user timeout - to maybe disconnect the client?) + // + //we can try and use network visibility to prevent the client that failed to load a prefab from seeing it + // + //we probably should disconnect the user that fails to load the prefab - that's the simplest scenario, however a retry is also possible + // + //user can ask for more time to load, or respond with I'm dead, kick me message + + //todo: add a sammple that shows stand-ins (a prefab that is loaded somehow (dynamically or otherwise) and then it's internal graphics are replaced with a lioaded addressable - but it's fully functional from the code perspective) + + + //right now if player C if failing to load - all the players are stalled, this is not ideal + + //todo: store a dict of native strings to prefabs vs c# strings + async Task TrySpawnDynamicPrefab(string guid) { if (IsServer) { - if (m_LoadedDynamicPrefabs.ContainsKey(guid)) + var assetGuid = new AddressableGUID() + { + Value = guid + }; + + if (m_LoadedDynamicPrefabs.ContainsKey(assetGuid)) { Debug.Log("Prefab is already loaded by all peers, we can spawn it immediately"); - await Spawn(guid); + await Spawn(assetGuid); return true; } @@ -96,16 +309,16 @@ async Task TrySpawnDynamicPrefab(string guid) m_SpawnTimeoutTimer = 0; Debug.Log("Loading dynamic prefab on the clients..."); - LoadAddressableClientRpc(m_DynamicPrefabRef.AssetGUID); + LoadAddressableClientRpc(assetGuid); - int requiredAcknowledgementsCount = IsHost ? _networkManager.ConnectedClients.Count - 1 : _networkManager.ConnectedClients.Count; + int requiredAcknowledgementsCount = IsHost ? m_NetworkManager.ConnectedClients.Count - 1 : m_NetworkManager.ConnectedClients.Count; while (m_SpawnTimeoutTimer < m_SpawnTimeoutInSeconds) { if (m_CountOfClientsThatLoadedThePrefab >= requiredAcknowledgementsCount) { Debug.Log($"All clients have loaded the prefab in {m_SpawnTimeoutTimer} seconds, spawning the prefab on the server..."); - await Spawn(guid); + await Spawn(assetGuid); return true; } @@ -119,27 +332,27 @@ async Task TrySpawnDynamicPrefab(string guid) return false; - async Task Spawn(string assetGuid) + async Task Spawn(AddressableGUID assetGuid) { var prefab = await EnsureDynamicPrefabIsLoaded(assetGuid); var obj = Instantiate(prefab).GetComponent(); - obj.SpawnWithOwnership(_networkManager.LocalClientId); + obj.SpawnWithOwnership(NetworkManager.LocalClientId); Debug.Log("Spawned dynamic prefab"); } } [ClientRpc] - void LoadAddressableClientRpc(FixedString64Bytes guid, ClientRpcParams rpcParams = default) + void LoadAddressableClientRpc(AddressableGUID guid, ClientRpcParams rpcParams = default) { if (!IsHost) { - LoadPrefab(guid); + Load(guid); } - async void LoadPrefab(FixedString64Bytes assetGuid) + async void Load(AddressableGUID assetGuid) { Debug.Log("Loading dynamic prefab on the client..."); - await EnsureDynamicPrefabIsLoaded(assetGuid.ToString()); + await EnsureDynamicPrefabIsLoaded(assetGuid); Debug.Log("Client loaded dynamic prefab"); AcknowledgeSuccessfulPrefabLoadServerRpc(); } @@ -152,7 +365,7 @@ void AcknowledgeSuccessfulPrefabLoadServerRpc(ServerRpcParams rpcParams = defaul Debug.Log("Client acknowledged successful prefab load"); } - async Task EnsureDynamicPrefabIsLoaded(string guid) + async Task EnsureDynamicPrefabIsLoaded(AddressableGUID guid) { if(m_LoadedDynamicPrefabs.ContainsKey(guid)) { @@ -164,10 +377,25 @@ async Task EnsureDynamicPrefabIsLoaded(string guid) var prefab = await op.Task; Addressables.Release(op); - _networkManager.AddNetworkPrefab(prefab); + NetworkManager.AddNetworkPrefab(prefab); m_LoadedDynamicPrefabs.Add(guid, prefab); - + + CalculateDynamicPrefabArrayHash(); + return prefab; } + + void CalculateDynamicPrefabArrayHash() + { + var dynamicPrefabGUIDs = ArrayPool.Shared.Rent(m_LoadedDynamicPrefabs.Keys.Count); + m_LoadedDynamicPrefabs.Keys.CopyTo(dynamicPrefabGUIDs, 0); + Array.Sort(dynamicPrefabGUIDs, (a, b) => a.Value.CompareTo(b.Value)); + m_HashOfDynamicPrefabGUIDs = 0; + for (var i = 0; i < dynamicPrefabGUIDs.Length; i++) + { + m_HashOfDynamicPrefabGUIDs = HashCode.Combine(dynamicPrefabGUIDs[i], m_HashOfDynamicPrefabGUIDs); + } + ArrayPool.Shared.Return(dynamicPrefabGUIDs); + } } } From 0c4b9fe02b30687abc5ee253e36d85e4d8965747 Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Thu, 17 Nov 2022 17:15:16 -0500 Subject: [PATCH 11/55] fixing some exceptions --- .../SparseLoadingNoLatejoinSample.cs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs index 80b5bbfb8..2faaadee7 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs @@ -245,9 +245,7 @@ async void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest r void Approve() { response.Approved = true; - response.CreatePlayerObject = true; - response.Position = Vector3.zero; - response.Rotation = Quaternion.identity; + response.CreatePlayerObject = false; //we're not going to spawn a player object for this sample } void ImmediateDeny() @@ -373,7 +371,7 @@ async Task EnsureDynamicPrefabIsLoaded(AddressableGUID guid) return m_LoadedDynamicPrefabs[guid]; } - var op = Addressables.LoadAssetAsync(guid); + var op = Addressables.LoadAssetAsync(guid.Value); var prefab = await op.Task; Addressables.Release(op); From 981af51e4036ccacae5e9f4d9b03ea063bbfd737 Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Thu, 17 Nov 2022 17:43:19 -0500 Subject: [PATCH 12/55] # --- .../Scenes/01_SparseLoadingNoLatejoin.unity | 62 +++++++++++++++---- .../SparseLoadingNoLatejoinSample.cs | 37 ++++++++--- .../ProjectSettings/ProjectSettings.asset | 2 +- 3 files changed, 79 insertions(+), 22 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity b/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity index a8e8d7da5..5cf2eafc4 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity @@ -123,6 +123,44 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &346372779 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 346372780} + m_Layer: 5 + m_Name: Connection UI + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &346372780 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 346372779} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1242229360} + - {fileID: 1541538684} + m_Father: {fileID: 1157890489} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &484367935 GameObject: m_ObjectHideFlags: 0 @@ -767,7 +805,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: a5dd989004df436d9e1f8777007d25a5, type: 3} m_Name: m_EditorClassIdentifier: - m_StartGameButton: {fileID: 1684107770} + m_ConnectionUI: {fileID: 346372779} + m_SpawnButton: {fileID: 1684107770} m_DynamicPrefabRef: m_AssetGUID: 05ea0814e604c4acf8ae3b7e0a5dfb07 m_SubObjectName: @@ -868,8 +907,7 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1684107769} - - {fileID: 1242229360} - - {fileID: 1541538684} + - {fileID: 346372780} m_Father: {fileID: 0} m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -904,18 +942,18 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1242229359} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + 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_ConstrainProportionsScale: 0 m_Children: - {fileID: 832999905} - m_Father: {fileID: 1157890489} - m_RootOrder: 1 + m_Father: {fileID: 346372780} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 17, y: -25} + m_AnchoredPosition: {x: 18, y: -58} m_SizeDelta: {x: 300, y: 30} m_Pivot: {x: 0, y: 1} --- !u!114 &1242229361 @@ -1106,18 +1144,18 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1541538683} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + 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_ConstrainProportionsScale: 0 m_Children: - {fileID: 788102164} - m_Father: {fileID: 1157890489} - m_RootOrder: 2 + m_Father: {fileID: 346372780} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 347, y: -25} + m_AnchoredPosition: {x: 18, y: -20} m_SizeDelta: {x: 300, y: 30} m_Pivot: {x: 0, y: 1} --- !u!114 &1541538685 @@ -1251,7 +1289,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 18, y: -63.1} + m_AnchoredPosition: {x: 18, y: -99} m_SizeDelta: {x: 300, y: 30} m_Pivot: {x: 0, y: 1} --- !u!114 &1684107770 diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs index 2faaadee7..5f786a879 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs @@ -1,12 +1,14 @@ using System; using System.Buffers; using System.Collections.Generic; +using System.Runtime.InteropServices; using System.Threading.Tasks; using Unity.Collections; using Unity.Netcode; using Unity.Netcode.Transports.UTP; using UnityEngine; using UnityEngine.AddressableAssets; +using UnityEngine.Serialization; using UnityEngine.UI; namespace Game @@ -84,8 +86,11 @@ public override int GetHashCode() } return value; + } - //return ((IStructuralEquatable)this.GUIDs).GetHashCode(EqualityComparer.Default); + public unsafe int GetSizeInBytes() + { + return sizeof(AddressableGUID) * GUIDs.Length; } } @@ -115,8 +120,9 @@ public sealed class SparseLoadingNoLatejoinSample : NetworkBehaviour const int k_MaxConnectPayload = 1024; ushort m_Port = 7777; string m_ConnectAddress = "127.0.0.1"; - - [SerializeField] Button m_StartGameButton; + + [SerializeField] GameObject m_ConnectionUI; + [FormerlySerializedAs("m_StartGameButton")] [SerializeField] Button m_SpawnButton; [SerializeField] AssetReferenceGameObject m_DynamicPrefabRef; [SerializeField] float m_SpawnTimeoutInSeconds; [SerializeField] NetworkManager m_NetworkManager; @@ -130,8 +136,18 @@ public sealed class SparseLoadingNoLatejoinSample : NetworkBehaviour public void StartClient() { m_NetworkManager.NetworkConfig.ForceSamePrefabs = false; + + var payload = JsonUtility.ToJson(new ConnectionPayload() + { + HashOfDynamicPrefabGUIDs = m_HashOfDynamicPrefabGUIDs + }); + + var payloadBytes = System.Text.Encoding.UTF8.GetBytes(payload); + + m_NetworkManager.NetworkConfig.ConnectionData = payloadBytes; m_NetworkManager.StartClient(); m_NetworkManager.CustomMessagingManager.RegisterNamedMessageHandler(nameof(ReceiveServerToClientSetDisconnectReason_CustomMessage), ReceiveServerToClientSetDisconnectReason_CustomMessage); + m_ConnectionUI.SetActive(false); } public void StartHost() @@ -141,17 +157,18 @@ public void StartHost() transport.SetConnectionData(m_ConnectAddress, m_Port); m_NetworkManager.ConnectionApprovalCallback = ConnectionApprovalCallback; m_NetworkManager.StartHost(); + m_ConnectionUI.SetActive(false); } public override void OnNetworkSpawn() { if (IsServer) { - m_StartGameButton.onClick.AddListener(OnClickedSpawnButton); + m_SpawnButton.onClick.AddListener(OnClickedSpawnButton); } else { - m_StartGameButton.gameObject.SetActive(false); + m_SpawnButton.gameObject.SetActive(false); } } @@ -181,7 +198,9 @@ void ReceiveServerToClientSetDisconnectReason_CustomMessage(ulong clientID, Fast /// private void SendServerToClientSetDisconnectReason(ulong clientID, ConnectStatus status, AddressableGUIDCollection addressableGUIDCollection) { - var writer = new FastBufferWriter(sizeof(ConnectStatus), Allocator.Temp); + int guidCollectionSize = addressableGUIDCollection.GetSizeInBytes(); + + var writer = new FastBufferWriter(sizeof(ConnectStatus) + guidCollectionSize, Allocator.Temp); writer.WriteValueSafe(status); writer.WriteValueSafe(addressableGUIDCollection); @@ -190,13 +209,13 @@ private void SendServerToClientSetDisconnectReason(ulong clientID, ConnectStatus async void OnClickedSpawnButton() { - m_StartGameButton.gameObject.SetActive(false); + m_SpawnButton.gameObject.SetActive(false); bool didManageToSpawn = await TrySpawnDynamicPrefab(m_DynamicPrefabRef.AssetGUID); if (!didManageToSpawn) { - m_StartGameButton.gameObject.SetActive(true); + m_SpawnButton.gameObject.SetActive(true); } } @@ -371,7 +390,7 @@ async Task EnsureDynamicPrefabIsLoaded(AddressableGUID guid) return m_LoadedDynamicPrefabs[guid]; } - var op = Addressables.LoadAssetAsync(guid.Value); + var op = Addressables.LoadAssetAsync(guid.Value.ToString()); var prefab = await op.Task; Addressables.Release(op); diff --git a/Basic/DyanmicPrefabs/ProjectSettings/ProjectSettings.asset b/Basic/DyanmicPrefabs/ProjectSettings/ProjectSettings.asset index 38896c43e..883a7e89d 100644 --- a/Basic/DyanmicPrefabs/ProjectSettings/ProjectSettings.asset +++ b/Basic/DyanmicPrefabs/ProjectSettings/ProjectSettings.asset @@ -618,7 +618,7 @@ PlayerSettings: managedStrippingLevel: {} incrementalIl2cppBuild: {} suppressCommonWarnings: 1 - allowUnsafeCode: 0 + allowUnsafeCode: 1 useDeterministicCompilation: 1 enableRoslynAnalyzers: 1 additionalIl2CppArgs: From 7980ca6666cb5c6512b0816a0388ea53caf1e1f1 Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Thu, 17 Nov 2022 17:53:08 -0500 Subject: [PATCH 13/55] # --- .../SparseLoadingNoLatejoinSample.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs index 5f786a879..1e8fc2811 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs @@ -1,5 +1,6 @@ using System; using System.Buffers; +using System.Collections; using System.Collections.Generic; using System.Runtime.InteropServices; using System.Threading.Tasks; @@ -183,7 +184,7 @@ void ReceiveServerToClientSetDisconnectReason_CustomMessage(ulong clientID, Fast //enumerate and log all the GUIDs that the server sent us foreach (var guid in addressableGUIDCollection.GUIDs) { - Debug.Log($"Client needs to preload {guid.Value}"); + Debug.Log($"Client needs to preload {guid.Value.ToString()}"); } //todo: load missing prefabs and then retry connection @@ -219,7 +220,7 @@ async void OnClickedSpawnButton() } } - async void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) + void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) { var connectionData = request.Payload; var clientId = request.ClientNetworkId; @@ -259,7 +260,7 @@ async void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest r return; } - await WaitToDenyApproval(clientId, ConnectStatus.ClientNeedsToPreload, m_LoadedDynamicPrefabs.Keys); + StartCoroutine(WaitToDenyApproval(clientId, ConnectStatus.ClientNeedsToPreload, m_LoadedDynamicPrefabs.Keys)); void Approve() { @@ -277,14 +278,14 @@ void ImmediateDeny() // This could happen after an auth check on a service or because of gameplay reasons (server full, wrong build version, etc) // Since network objects haven't synced yet (still in the approval process), we need to send a custom message to clients, wait for // UTP to update a frame and flush that message, then give our response to NetworkManager's connection approval process, with a denied approval. - async Task WaitToDenyApproval(ulong clientID, ConnectStatus status, ICollection addressableGUIDs) + IEnumerator WaitToDenyApproval(ulong clientID, ConnectStatus status, ICollection addressableGUIDs) { response.Pending = true; // give some time for server to send connection status message to clients response.Approved = false; var dynamicPrefabGUIDs = ArrayPool.Shared.Rent(m_LoadedDynamicPrefabs.Keys.Count); m_LoadedDynamicPrefabs.Keys.CopyTo(dynamicPrefabGUIDs, 0); SendServerToClientSetDisconnectReason(clientID, status, new AddressableGUIDCollection(){GUIDs = dynamicPrefabGUIDs}); - await Task.Yield();// wait a frame so UTP can flush it's messages on next update + yield return null; // wait a frame so UTP can flush it's messages on next update response.Pending = false; // connection approval process can be finished. ArrayPool.Shared.Return(dynamicPrefabGUIDs); } From dc6071f3700f293575a5a4d52e696d4671ca69cf Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Mon, 21 Nov 2022 15:33:47 -0500 Subject: [PATCH 14/55] sparse loading works with latejoins --- .../Assets/Prefabs/DynamicPrefabTest.prefab | 15 -- ...tejoinSample.cs => SparseLoadingSample.cs} | 176 ++++++++++++------ ...le.cs.meta => SparseLoadingSample.cs.meta} | 0 3 files changed, 120 insertions(+), 71 deletions(-) rename Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/{SparseLoadingNoLatejoinSample.cs => SparseLoadingSample.cs} (69%) rename Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/{SparseLoadingNoLatejoinSample.cs.meta => SparseLoadingSample.cs.meta} (100%) diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest.prefab b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest.prefab index 158889856..4fa2952c8 100644 --- a/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest.prefab +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest.prefab @@ -87,7 +87,6 @@ GameObject: - component: {fileID: 6047369245460250749} - component: {fileID: 7951404474696023296} - component: {fileID: 8970186281398297407} - - component: {fileID: 3543718283281868568} m_Layer: 0 m_Name: Capsule m_TagString: Untagged @@ -160,17 +159,3 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!136 &3543718283281868568 -CapsuleCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6169323490332737807} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - m_Radius: 0.5 - m_Height: 2 - m_Direction: 1 - m_Center: {x: 0, y: 0, z: 0} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingSample.cs similarity index 69% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingSample.cs index 1e8fc2811..2ef966538 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingSample.cs @@ -1,14 +1,13 @@ using System; -using System.Buffers; using System.Collections; using System.Collections.Generic; -using System.Runtime.InteropServices; using System.Threading.Tasks; using Unity.Collections; using Unity.Netcode; using Unity.Netcode.Transports.UTP; using UnityEngine; using UnityEngine.AddressableAssets; +using UnityEngine.ResourceManagement.AsyncOperations; using UnityEngine.Serialization; using UnityEngine.UI; @@ -17,18 +16,17 @@ namespace Game public enum ConnectStatus { Undefined, - Success, //client successfully connected. This may also be a successful reconnect. + //Success, //client successfully connected. This may also be a successful reconnect. ClientNeedsToPreload, //client needs to preload the dynamic prefabs before connecting - - ServerFull, //can't join, server is already at capacity. - LoggedInAgain, //logged in on a separate client, causing this one to be kicked out. - UserRequestedDisconnect, //Intentional Disconnect triggered by the user. - GenericDisconnect, //server disconnected, but no specific reason given. - Reconnecting, //client lost connection and is attempting to reconnect. - IncompatibleBuildType, //client build type is incompatible with server. - HostEndedSession, //host intentionally ended the session. - StartHostFailed, // server failed to bind - StartClientFailed // failed to connect to server and/or invalid network endpoint + // ServerFull, //can't join, server is already at capacity. + // LoggedInAgain, //logged in on a separate client, causing this one to be kicked out. + // UserRequestedDisconnect, //Intentional Disconnect triggered by the user. + // GenericDisconnect, //server disconnected, but no specific reason given. + // Reconnecting, //client lost connection and is attempting to reconnect. + // IncompatibleBuildType, //client build type is incompatible with server. + // HostEndedSession, //host intentionally ended the session. + // StartHostFailed, // server failed to bind + // StartClientFailed // failed to connect to server and/or invalid network endpoint } public struct AddressableGUID : INetworkSerializable @@ -116,9 +114,10 @@ public class ConnectionPayload /// - the server waits for a specified amount of time for the clients to acknowledge the load, and if all the clients are successful - it spawns the prefab /// - otherwise the server runs out of time and the spawn is cancelled /// - public sealed class SparseLoadingNoLatejoinSample : NetworkBehaviour + public sealed class SparseLoadingSample : NetworkBehaviour { const int k_MaxConnectPayload = 1024; + const int k_EmptyDynamicPrefabHash = -1; ushort m_Port = 7777; string m_ConnectAddress = "127.0.0.1"; @@ -131,11 +130,14 @@ public sealed class SparseLoadingNoLatejoinSample : NetworkBehaviour int m_CountOfClientsThatLoadedThePrefab = 0; float m_SpawnTimeoutTimer = 0; - int m_HashOfDynamicPrefabGUIDs = -1; - Dictionary m_LoadedDynamicPrefabs = new Dictionary(); - + int m_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; + Dictionary> m_LoadedDynamicPrefabResourceHandles = new Dictionary>(); + List m_DynamicPrefabGUIDs = new List(); //cached list to avoid GC + public void StartClient() { + Debug.Log(nameof(StartClient)); + m_NetworkManager.NetworkConfig.ForceSamePrefabs = false; var payload = JsonUtility.ToJson(new ConnectionPayload() @@ -153,6 +155,8 @@ public void StartClient() public void StartHost() { + Debug.Log(nameof(StartHost)); + m_NetworkManager.NetworkConfig.ForceSamePrefabs = false; var transport = m_NetworkManager.GetComponent(); transport.SetConnectionData(m_ConnectAddress, m_Port); @@ -161,6 +165,12 @@ public void StartHost() m_ConnectionUI.SetActive(false); } + public override void OnDestroy() + { + UnloadAndReleaseAllDynamicPrefabs(); + base.OnDestroy(); + } + public override void OnNetworkSpawn() { if (IsServer) @@ -173,31 +183,39 @@ public override void OnNetworkSpawn() } } - void ReceiveServerToClientSetDisconnectReason_CustomMessage(ulong clientID, FastBufferReader reader) + async void ReceiveServerToClientSetDisconnectReason_CustomMessage(ulong clientID, FastBufferReader reader) { reader.ReadValueSafe(out ConnectStatus status); - if (status == ConnectStatus.ClientNeedsToPreload) + switch (status) { - reader.ReadValueSafe(out AddressableGUIDCollection addressableGUIDCollection); - - //enumerate and log all the GUIDs that the server sent us - foreach (var guid in addressableGUIDCollection.GUIDs) + case ConnectStatus.Undefined: + Debug.Log("Undefined"); + m_NetworkManager.Shutdown(); + m_ConnectionUI.SetActive(true); + break; + case ConnectStatus.ClientNeedsToPreload: { - Debug.Log($"Client needs to preload {guid.Value.ToString()}"); + m_NetworkManager.Shutdown(); + Debug.Log("Client needs to preload"); + reader.ReadValueSafe(out AddressableGUIDCollection addressableGUIDCollection); + await LoadDynamicPrefabs(addressableGUIDCollection); + Debug.Log("Restarting client"); + StartClient(); } - - //todo: load missing prefabs and then retry connection + break; + default: + throw new ArgumentOutOfRangeException(); } } - + /// /// Sends a DisconnectReason to the indicated client. This should only be done on the server, prior to disconnecting the client. /// /// id of the client to send to /// The reason for the upcoming disconnect. /// - private void SendServerToClientSetDisconnectReason(ulong clientID, ConnectStatus status, AddressableGUIDCollection addressableGUIDCollection) + void SendServerToClientSetDisconnectReason(ulong clientID, ConnectStatus status, AddressableGUIDCollection addressableGUIDCollection) { int guidCollectionSize = addressableGUIDCollection.GetSizeInBytes(); @@ -222,6 +240,7 @@ async void OnClickedSpawnButton() void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) { + Debug.Log("Client is trying to connect " + request.ClientNetworkId); var connectionData = request.Payload; var clientId = request.ClientNetworkId; @@ -240,7 +259,7 @@ void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request return; } - if (m_LoadedDynamicPrefabs.Count == 0) + if (m_LoadedDynamicPrefabResourceHandles.Count == 0) { //immediately approve the connection if we haven't loaded any prefabs yet Approve(); @@ -260,7 +279,7 @@ void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request return; } - StartCoroutine(WaitToDenyApproval(clientId, ConnectStatus.ClientNeedsToPreload, m_LoadedDynamicPrefabs.Keys)); + StartCoroutine(WaitToDenyApproval(clientId, ConnectStatus.ClientNeedsToPreload, m_LoadedDynamicPrefabResourceHandles.Keys)); void Approve() { @@ -282,12 +301,12 @@ IEnumerator WaitToDenyApproval(ulong clientID, ConnectStatus status, ICollection { response.Pending = true; // give some time for server to send connection status message to clients response.Approved = false; - var dynamicPrefabGUIDs = ArrayPool.Shared.Rent(m_LoadedDynamicPrefabs.Keys.Count); - m_LoadedDynamicPrefabs.Keys.CopyTo(dynamicPrefabGUIDs, 0); - SendServerToClientSetDisconnectReason(clientID, status, new AddressableGUIDCollection(){GUIDs = dynamicPrefabGUIDs}); + + m_DynamicPrefabGUIDs.Clear(); + m_DynamicPrefabGUIDs.AddRange(m_LoadedDynamicPrefabResourceHandles.Keys); + SendServerToClientSetDisconnectReason(clientID, status, new AddressableGUIDCollection(){GUIDs = m_DynamicPrefabGUIDs.ToArray()}); yield return null; // wait a frame so UTP can flush it's messages on next update response.Pending = false; // connection approval process can be finished. - ArrayPool.Shared.Return(dynamicPrefabGUIDs); } } @@ -316,7 +335,7 @@ async Task TrySpawnDynamicPrefab(string guid) Value = guid }; - if (m_LoadedDynamicPrefabs.ContainsKey(assetGuid)) + if (m_LoadedDynamicPrefabResourceHandles.ContainsKey(assetGuid)) { Debug.Log("Prefab is already loaded by all peers, we can spawn it immediately"); await Spawn(assetGuid); @@ -352,9 +371,9 @@ async Task TrySpawnDynamicPrefab(string guid) async Task Spawn(AddressableGUID assetGuid) { - var prefab = await EnsureDynamicPrefabIsLoaded(assetGuid); + var prefab = await LoadDynamicPrefab(assetGuid); var obj = Instantiate(prefab).GetComponent(); - obj.SpawnWithOwnership(NetworkManager.LocalClientId); + obj.SpawnWithOwnership(m_NetworkManager.LocalClientId); Debug.Log("Spawned dynamic prefab"); } } @@ -370,7 +389,7 @@ void LoadAddressableClientRpc(AddressableGUID guid, ClientRpcParams rpcParams = async void Load(AddressableGUID assetGuid) { Debug.Log("Loading dynamic prefab on the client..."); - await EnsureDynamicPrefabIsLoaded(assetGuid); + await LoadDynamicPrefab(assetGuid); Debug.Log("Client loaded dynamic prefab"); AcknowledgeSuccessfulPrefabLoadServerRpc(); } @@ -383,37 +402,82 @@ void AcknowledgeSuccessfulPrefabLoadServerRpc(ServerRpcParams rpcParams = defaul Debug.Log("Client acknowledged successful prefab load"); } - async Task EnsureDynamicPrefabIsLoaded(AddressableGUID guid) + async Task> LoadDynamicPrefabs(AddressableGUIDCollection addressableGUIDCollection) { - if(m_LoadedDynamicPrefabs.ContainsKey(guid)) + var tasks = new List>(); + + foreach (var guid in addressableGUIDCollection.GUIDs) { - Debug.Log("Prefab has already been loaded, skipping loading this time"); - return m_LoadedDynamicPrefabs[guid]; + tasks.Add( LoadDynamicPrefab(guid, recomputeHash:false)); } - var op = Addressables.LoadAssetAsync(guid.Value.ToString()); - var prefab = await op.Task; - Addressables.Release(op); - - NetworkManager.AddNetworkPrefab(prefab); - m_LoadedDynamicPrefabs.Add(guid, prefab); - + var prefabs = await Task.WhenAll(tasks); CalculateDynamicPrefabArrayHash(); + + return prefabs; + } + + + async Task LoadDynamicPrefab(AddressableGUID guid, bool recomputeHash = true) + { + if(m_LoadedDynamicPrefabResourceHandles.ContainsKey(guid)) + { + Debug.Log($"Prefab has already been loaded, skipping loading this time | {guid}"); + return m_LoadedDynamicPrefabResourceHandles[guid].Result; + } + + Debug.Log($"Loading dynamic prefab {guid.Value}"); + var op = Addressables.LoadAssetAsync(guid.ToString()); + var prefab = await op.Task; + m_NetworkManager.AddNetworkPrefab(prefab); + m_LoadedDynamicPrefabResourceHandles.Add(guid, op); + + if(recomputeHash) + { + CalculateDynamicPrefabArrayHash(); + } return prefab; } + void CalculateDynamicPrefabArrayHash() { - var dynamicPrefabGUIDs = ArrayPool.Shared.Rent(m_LoadedDynamicPrefabs.Keys.Count); - m_LoadedDynamicPrefabs.Keys.CopyTo(dynamicPrefabGUIDs, 0); - Array.Sort(dynamicPrefabGUIDs, (a, b) => a.Value.CompareTo(b.Value)); - m_HashOfDynamicPrefabGUIDs = 0; - for (var i = 0; i < dynamicPrefabGUIDs.Length; i++) + //we need to sort the array so that the hash is consistent across clients + //it's possible to use an order-independent hashing algorithm for some potential performance gains + m_DynamicPrefabGUIDs.Clear(); + m_DynamicPrefabGUIDs.AddRange(m_LoadedDynamicPrefabResourceHandles.Keys); + m_DynamicPrefabGUIDs.Sort((a, b) => a.Value.CompareTo(b.Value)); + m_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; + + //a simple hash combination algorithm suggested by Jon Skeet, + //found here: https://stackoverflow.com/questions/1646807/quick-and-simple-hash-code-combinations + //we can't use C# HashCode combine because it is unreliable across different processes (by design) + unchecked { - m_HashOfDynamicPrefabGUIDs = HashCode.Combine(dynamicPrefabGUIDs[i], m_HashOfDynamicPrefabGUIDs); + int hash = 17; + for (var i = 0; i < m_DynamicPrefabGUIDs.Count; ++i) + { + hash = hash * 31 + m_DynamicPrefabGUIDs[i].GetHashCode(); + } + + m_HashOfDynamicPrefabGUIDs = hash; + } + + Debug.Log($"Calculated hash of dynamic prefabs: {m_HashOfDynamicPrefabGUIDs}"); + } + + public void UnloadAndReleaseAllDynamicPrefabs() + { + m_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; + + foreach (var handle in m_LoadedDynamicPrefabResourceHandles.Values) + { + m_NetworkManager.RemoveNetworkPrefab(handle.Result); + Addressables.Release(handle); } - ArrayPool.Shared.Return(dynamicPrefabGUIDs); + + m_LoadedDynamicPrefabResourceHandles.Clear(); } } } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingSample.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingNoLatejoinSample.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingSample.cs.meta From 192c0e9094b5331b9d50193157864b9d28651fe8 Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Mon, 28 Nov 2022 11:28:20 -0500 Subject: [PATCH 15/55] Added functionality for spawning prefabs and keeping them hidden with visibility system --- ... dynamic prefab loading across peers.meta} | 0 .../AddressableGUID.cs | 26 ++ .../AddressableGUID.cs.meta | 3 + .../AddressableGUIDCollection.cs | 49 +++ .../AddressableGUIDCollection.cs.meta | 3 + .../ConnectStatus.cs | 20 ++ .../ConnectStatus.cs.meta | 3 + .../ConnectionPayload.cs | 10 + .../ConnectionPayload.cs.meta | 3 + .../DynamicPrefabManager.cs} | 319 +++++++++--------- .../DynamicPrefabManager.cs.meta | 3 + .../SparseLoadingSample.cs | 111 ++++++ .../SparseLoadingSample.cs.meta | 0 13 files changed, 384 insertions(+), 166 deletions(-) rename Basic/DyanmicPrefabs/Assets/Scripts/{01_Sparse loading with no latejoin.meta => 01_Server authoritative dynamic prefab loading across peers.meta} (100%) create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUID.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUID.cs.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUIDCollection.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUIDCollection.cs.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectStatus.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectStatus.cs.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectionPayload.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectionPayload.cs.meta rename Basic/DyanmicPrefabs/Assets/Scripts/{01_Sparse loading with no latejoin/SparseLoadingSample.cs => 01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs} (68%) create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/SparseLoadingSample.cs rename Basic/DyanmicPrefabs/Assets/Scripts/{01_Sparse loading with no latejoin => 01_Server authoritative dynamic prefab loading across peers}/SparseLoadingSample.cs.meta (100%) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin.meta b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUID.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUID.cs new file mode 100644 index 000000000..0ebe92ccb --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUID.cs @@ -0,0 +1,26 @@ +using System; +using Unity.Collections; +using Unity.Netcode; + +namespace Game +{ + public struct AddressableGUID : INetworkSerializable + { + public FixedString128Bytes Value; + + public void NetworkSerialize(BufferSerializer serializer) where T : IReaderWriter + { + serializer.SerializeValue(ref Value); + } + + public override int GetHashCode() + { + return Value.GetHashCode(); + } + + public override string ToString() + { + return Value.ToString(); + } + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUID.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUID.cs.meta new file mode 100644 index 000000000..4282f6280 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUID.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f410356c134346e5a5b85b9235533eb1 +timeCreated: 1669644910 \ No newline at end of file diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUIDCollection.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUIDCollection.cs new file mode 100644 index 000000000..e494ea135 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUIDCollection.cs @@ -0,0 +1,49 @@ +using System; +using Unity.Netcode; + +namespace Game +{ + public struct AddressableGUIDCollection : INetworkSerializable + { + public AddressableGUID[] GUIDs; + + public void NetworkSerialize(BufferSerializer serializer) where T : IReaderWriter + { + // Length + int length = 0; + if (!serializer.IsReader) + { + length = GUIDs.Length; + } + + serializer.SerializeValue(ref length); + + // Array + if (serializer.IsReader) + { + GUIDs = new AddressableGUID[length]; + } + + for (int n = 0; n < length; ++n) + { + serializer.SerializeValue(ref GUIDs[n]); + } + } + + public override int GetHashCode() + { + int value = 0; + for (var i = 0;i< this.GUIDs.Length; i++) + { + value = HashCode.Combine(this.GUIDs[i],value); + } + + return value; + } + + public unsafe int GetSizeInBytes() + { + return sizeof(AddressableGUID) * GUIDs.Length; + } + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUIDCollection.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUIDCollection.cs.meta new file mode 100644 index 000000000..edcd5971f --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUIDCollection.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: eeba2780a521460d972955d9d0e4ccf1 +timeCreated: 1669644881 \ No newline at end of file diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectStatus.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectStatus.cs new file mode 100644 index 000000000..5eaa49c49 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectStatus.cs @@ -0,0 +1,20 @@ +using System; + +namespace Game +{ + public enum ConnectStatus + { + Undefined, + //Success, //client successfully connected. This may also be a successful reconnect. + ClientNeedsToPreload, //client needs to preload the dynamic prefabs before connecting + // ServerFull, //can't join, server is already at capacity. + // LoggedInAgain, //logged in on a separate client, causing this one to be kicked out. + // UserRequestedDisconnect, //Intentional Disconnect triggered by the user. + // GenericDisconnect, //server disconnected, but no specific reason given. + // Reconnecting, //client lost connection and is attempting to reconnect. + // IncompatibleBuildType, //client build type is incompatible with server. + // HostEndedSession, //host intentionally ended the session. + // StartHostFailed, // server failed to bind + // StartClientFailed // failed to connect to server and/or invalid network endpoint + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectStatus.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectStatus.cs.meta new file mode 100644 index 000000000..fcfa6b2a1 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectStatus.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: ff77e7705deb44c080bae09fa9c0968b +timeCreated: 1669644923 \ No newline at end of file diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectionPayload.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectionPayload.cs new file mode 100644 index 000000000..8bda061db --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectionPayload.cs @@ -0,0 +1,10 @@ +using System; + +namespace Game +{ + [Serializable] + public class ConnectionPayload + { + public int HashOfDynamicPrefabGUIDs; + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectionPayload.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectionPayload.cs.meta new file mode 100644 index 000000000..e55d8fdf6 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectionPayload.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: fd1b26d10d6b4c4aa35539d26a7790ba +timeCreated: 1669644897 \ No newline at end of file diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingSample.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs similarity index 68% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingSample.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs index 2ef966538..dcef9fa3b 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingSample.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs @@ -8,122 +8,13 @@ using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.ResourceManagement.AsyncOperations; -using UnityEngine.Serialization; -using UnityEngine.UI; namespace Game { - public enum ConnectStatus - { - Undefined, - //Success, //client successfully connected. This may also be a successful reconnect. - ClientNeedsToPreload, //client needs to preload the dynamic prefabs before connecting - // ServerFull, //can't join, server is already at capacity. - // LoggedInAgain, //logged in on a separate client, causing this one to be kicked out. - // UserRequestedDisconnect, //Intentional Disconnect triggered by the user. - // GenericDisconnect, //server disconnected, but no specific reason given. - // Reconnecting, //client lost connection and is attempting to reconnect. - // IncompatibleBuildType, //client build type is incompatible with server. - // HostEndedSession, //host intentionally ended the session. - // StartHostFailed, // server failed to bind - // StartClientFailed // failed to connect to server and/or invalid network endpoint - } - - public struct AddressableGUID : INetworkSerializable - { - public FixedString128Bytes Value; - - public void NetworkSerialize(BufferSerializer serializer) where T : IReaderWriter - { - serializer.SerializeValue(ref Value); - } - - public override int GetHashCode() - { - return Value.GetHashCode(); - } - - public override string ToString() - { - return Value.ToString(); - } - } - - public struct AddressableGUIDCollection : INetworkSerializable - { - public AddressableGUID[] GUIDs; - - public void NetworkSerialize(BufferSerializer serializer) where T : IReaderWriter - { - // Length - int length = 0; - if (!serializer.IsReader) - { - length = GUIDs.Length; - } - - serializer.SerializeValue(ref length); - - // Array - if (serializer.IsReader) - { - GUIDs = new AddressableGUID[length]; - } - - for (int n = 0; n < length; ++n) - { - serializer.SerializeValue(ref GUIDs[n]); - } - } - - public override int GetHashCode() - { - int value = 0; - for (var i = 0;i< this.GUIDs.Length; i++) - { - value = HashCode.Combine(this.GUIDs[i],value); - } - - return value; - } - - public unsafe int GetSizeInBytes() - { - return sizeof(AddressableGUID) * GUIDs.Length; - } - } - - - [Serializable] - public class ConnectionPayload - { - public int HashOfDynamicPrefabGUIDs; - } - - /// - /// In this scenario we are spawning prefabs that aren't known to the clients beforehand. - /// - /// NGO requires us to load the prefab before we spawn it. - /// - /// The inbuilt delay that is accessible through NetworkManager.NetworkConfig.SpawnTimeout is NOT MEANT to serve - /// as a buffering time during which the clients attempt to catch up with the server's spawn command by loading the prefab and hoping that this load won't take more than the timeout. - /// Such approach would inevitably lead to desyncs in production. - /// - /// To be safe and to respect the NGO requirement of loading the prefab before spawning it, we: - /// - ensure that the clients acknowledge that they have loaded the prefab - /// - the server waits for a specified amount of time for the clients to acknowledge the load, and if all the clients are successful - it spawns the prefab - /// - otherwise the server runs out of time and the spawn is cancelled - /// - public sealed class SparseLoadingSample : NetworkBehaviour + public sealed class DynamicPrefabManager : NetworkBehaviour { const int k_MaxConnectPayload = 1024; const int k_EmptyDynamicPrefabHash = -1; - ushort m_Port = 7777; - string m_ConnectAddress = "127.0.0.1"; - - [SerializeField] GameObject m_ConnectionUI; - [FormerlySerializedAs("m_StartGameButton")] [SerializeField] Button m_SpawnButton; - [SerializeField] AssetReferenceGameObject m_DynamicPrefabRef; [SerializeField] float m_SpawnTimeoutInSeconds; [SerializeField] NetworkManager m_NetworkManager; @@ -133,10 +24,37 @@ public sealed class SparseLoadingSample : NetworkBehaviour int m_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; Dictionary> m_LoadedDynamicPrefabResourceHandles = new Dictionary>(); List m_DynamicPrefabGUIDs = new List(); //cached list to avoid GC + + public event Action OnConnectionStatusReceived; + + string m_ConnectAddress; + ushort m_Port; + + //A storage where we keep the association between the dynamic prefab (hash of it's GUID) and the clients that have it loaded + Dictionary> m_PrefabHashToClientIds = new Dictionary>(); + + //A storage where we keep association between prefab (hash of it's GUID) and the spawned network objects that use it + Dictionary> m_PrefabHashToNetworkObjectId = new Dictionary>(); - public void StartClient() + public bool HasClientLoadedPrefab(ulong clientId, int prefabHash) => m_PrefabHashToClientIds.TryGetValue(prefabHash, out var clientIds) && clientIds.Contains(clientId); + + void RecordThatClientHasLoadedAPrefab(int assetGuidHash, ulong clientId) + { + if (m_PrefabHashToClientIds.TryGetValue(assetGuidHash, out var clientIds)) + { + clientIds.Add(clientId); + } + else + { + m_PrefabHashToClientIds.Add(assetGuidHash, new HashSet() {clientId}); + } + } + + public void StartClient(string connectAddress, ushort port) { Debug.Log(nameof(StartClient)); + m_ConnectAddress = connectAddress; + m_Port = port; m_NetworkManager.NetworkConfig.ForceSamePrefabs = false; @@ -144,25 +62,26 @@ public void StartClient() { HashOfDynamicPrefabGUIDs = m_HashOfDynamicPrefabGUIDs }); - + var transport = m_NetworkManager.GetComponent(); + transport.SetConnectionData(connectAddress, port); + var payloadBytes = System.Text.Encoding.UTF8.GetBytes(payload); m_NetworkManager.NetworkConfig.ConnectionData = payloadBytes; m_NetworkManager.StartClient(); m_NetworkManager.CustomMessagingManager.RegisterNamedMessageHandler(nameof(ReceiveServerToClientSetDisconnectReason_CustomMessage), ReceiveServerToClientSetDisconnectReason_CustomMessage); - m_ConnectionUI.SetActive(false); } - public void StartHost() + public void StartHost(string connectAddress, ushort port) { Debug.Log(nameof(StartHost)); - + m_ConnectAddress = connectAddress; + m_Port = port; m_NetworkManager.NetworkConfig.ForceSamePrefabs = false; var transport = m_NetworkManager.GetComponent(); - transport.SetConnectionData(m_ConnectAddress, m_Port); + transport.SetConnectionData(connectAddress, port); m_NetworkManager.ConnectionApprovalCallback = ConnectionApprovalCallback; m_NetworkManager.StartHost(); - m_ConnectionUI.SetActive(false); } public override void OnDestroy() @@ -171,18 +90,6 @@ public override void OnDestroy() base.OnDestroy(); } - public override void OnNetworkSpawn() - { - if (IsServer) - { - m_SpawnButton.onClick.AddListener(OnClickedSpawnButton); - } - else - { - m_SpawnButton.gameObject.SetActive(false); - } - } - async void ReceiveServerToClientSetDisconnectReason_CustomMessage(ulong clientID, FastBufferReader reader) { reader.ReadValueSafe(out ConnectStatus status); @@ -192,7 +99,6 @@ async void ReceiveServerToClientSetDisconnectReason_CustomMessage(ulong clientID case ConnectStatus.Undefined: Debug.Log("Undefined"); m_NetworkManager.Shutdown(); - m_ConnectionUI.SetActive(true); break; case ConnectStatus.ClientNeedsToPreload: { @@ -201,12 +107,14 @@ async void ReceiveServerToClientSetDisconnectReason_CustomMessage(ulong clientID reader.ReadValueSafe(out AddressableGUIDCollection addressableGUIDCollection); await LoadDynamicPrefabs(addressableGUIDCollection); Debug.Log("Restarting client"); - StartClient(); + StartClient(m_ConnectAddress, m_Port); } break; default: throw new ArgumentOutOfRangeException(); } + + OnConnectionStatusReceived?.Invoke(status, reader); } /// @@ -225,19 +133,7 @@ void SendServerToClientSetDisconnectReason(ulong clientID, ConnectStatus status, m_NetworkManager.CustomMessagingManager.SendNamedMessage(nameof(ReceiveServerToClientSetDisconnectReason_CustomMessage), clientID, writer); } - - async void OnClickedSpawnButton() - { - m_SpawnButton.gameObject.SetActive(false); - - bool didManageToSpawn = await TrySpawnDynamicPrefab(m_DynamicPrefabRef.AssetGUID); - - if (!didManageToSpawn) - { - m_SpawnButton.gameObject.SetActive(true); - } - } - + void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) { Debug.Log("Client is trying to connect " + request.ClientNetworkId); @@ -272,10 +168,16 @@ void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request int clientPrefabHash = connectionPayload.HashOfDynamicPrefabGUIDs; int serverPrefabHash = m_HashOfDynamicPrefabGUIDs; + //if the client has the same prefabs as the server - approve the connection if (clientPrefabHash == serverPrefabHash) { - //if the client has the same prefabs as the server - approve the connection Approve(); + + foreach (var dynamicPrefabGUID in m_DynamicPrefabGUIDs) + { + RecordThatClientHasLoadedAPrefab(dynamicPrefabGUID.GetHashCode(), clientId); + } + return; } @@ -309,24 +211,14 @@ IEnumerator WaitToDenyApproval(ulong clientID, ConnectStatus status, ICollection response.Pending = false; // connection approval process can be finished. } } - - //todo: return the reason for failure, not just a true/false - //and write up some ideas on how to deal with different kinds of failures (user timeout - to maybe disconnect the client?) - // - //we can try and use network visibility to prevent the client that failed to load a prefab from seeing it - // - //we probably should disconnect the user that fails to load the prefab - that's the simplest scenario, however a retry is also possible - // - //user can ask for more time to load, or respond with I'm dead, kick me message - - //todo: add a sammple that shows stand-ins (a prefab that is loaded somehow (dynamically or otherwise) and then it's internal graphics are replaced with a lioaded addressable - but it's fully functional from the code perspective) - - - //right now if player C if failing to load - all the players are stalled, this is not ideal - //todo: store a dict of native strings to prefabs vs c# strings - - async Task TrySpawnDynamicPrefab(string guid) + /// + /// This call attempts to spawn a prefab by it's addressable guid - it ensures that all the clients have loaded the prefab before spawning it, + /// and if the clients fail to acknowledge that they've loaded a prefab - the spawn will fail. + /// + /// + /// + public async Task TrySpawnDynamicPrefabSynchronously(string guid) { if (IsServer) { @@ -378,6 +270,84 @@ async Task Spawn(AddressableGUID assetGuid) } } + /// + /// This call preloads the dynamic prefab on the server and sends a client rpc to all the clients to do the same. + /// + /// + public async Task PreloadDynamicPrefabOnServerAndStartLoadingOnAllClients(string guid) + { + if (IsServer) + { + var assetGuid = new AddressableGUID() + { + Value = guid + }; + + if (m_LoadedDynamicPrefabResourceHandles.ContainsKey(assetGuid)) + { + Debug.Log("Prefab is already loaded by all peers"); + return; + } + + Debug.Log("Loading dynamic prefab on the clients..."); + LoadAddressableClientRpc(assetGuid); + await LoadDynamicPrefab(assetGuid); + } + } + + /// + /// This call spawns an addressable prefab by it's guid. It does not ensure that all the clients have loaded the prefab before spawning it. + /// All spawned objects are invisible to clients that don't have the prefab loaded. + /// The server tells the clients that lack the preloaded prefab to load it and acknowledge that they've loaded it, + /// and then the server makes the object visible to that client. + /// + /// + /// + public async Task SpawnWithVisibilitySystem(string guid) + { + if (IsServer) + { + var assetGuid = new AddressableGUID() + { + Value = guid + }; + + return await Spawn(assetGuid); + } + + return null; + + async Task Spawn(AddressableGUID assetGuid) + { + var prefab = await LoadDynamicPrefab(assetGuid); + var obj = Instantiate(prefab).GetComponent(); + obj.SpawnWithOwnership(m_NetworkManager.LocalClientId); + + if(m_PrefabHashToNetworkObjectId.TryGetValue(assetGuid.GetHashCode(), out var networkObjectIds)) + { + networkObjectIds.Add(obj.NetworkObjectId); + } + else + { + m_PrefabHashToNetworkObjectId.Add(assetGuid.GetHashCode(), new HashSet() {obj.NetworkObjectId}); + } + + obj.CheckObjectVisibility = (clientId) => + { + //if the client has already loaded the prefab - we can make the object visible to them + if (HasClientLoadedPrefab(clientId, assetGuid.GetHashCode())) + { + return true; + } + //otherwise the clients need to load the prefab, and after they ack - the ShowHiddenObjectsToClient + LoadAddressableClientRpc(assetGuid, new ClientRpcParams(){Send = new ClientRpcSendParams(){TargetClientIds = new ulong[]{clientId}}}); + return false; + }; + + return obj; + } + } + [ClientRpc] void LoadAddressableClientRpc(AddressableGUID guid, ClientRpcParams rpcParams = default) { @@ -391,15 +361,32 @@ async void Load(AddressableGUID assetGuid) Debug.Log("Loading dynamic prefab on the client..."); await LoadDynamicPrefab(assetGuid); Debug.Log("Client loaded dynamic prefab"); - AcknowledgeSuccessfulPrefabLoadServerRpc(); + AcknowledgeSuccessfulPrefabLoadServerRpc(assetGuid.GetHashCode()); } } - + [ServerRpc(RequireOwnership = false)] - void AcknowledgeSuccessfulPrefabLoadServerRpc(ServerRpcParams rpcParams = default) + void AcknowledgeSuccessfulPrefabLoadServerRpc(int perfabHash, ServerRpcParams rpcParams = default) { m_CountOfClientsThatLoadedThePrefab++; - Debug.Log("Client acknowledged successful prefab load"); + Debug.Log("Client acknowledged successful prefab load with hash: " + perfabHash); + RecordThatClientHasLoadedAPrefab(perfabHash, rpcParams.Receive.SenderClientId); + ShowHiddenObjectsToClient(perfabHash, rpcParams.Receive.SenderClientId); + } + + void ShowHiddenObjectsToClient(int prefabHash, ulong clientId) + { + if(m_PrefabHashToNetworkObjectId.TryGetValue(prefabHash, out var networkObjectIds)) + { + foreach (var networkObjectId in networkObjectIds) + { + var obj = m_NetworkManager.SpawnManager.SpawnedObjects[networkObjectId]; + if (!obj.IsNetworkVisibleTo(clientId)) + { + obj.NetworkShow(clientId); + } + } + } } async Task> LoadDynamicPrefabs(AddressableGUIDCollection addressableGUIDCollection) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs.meta new file mode 100644 index 000000000..ba3b77d58 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 7da934f3c1a34d55951e92710428a53b +timeCreated: 1669645018 \ No newline at end of file diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/SparseLoadingSample.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/SparseLoadingSample.cs new file mode 100644 index 000000000..2e1f1cb78 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/SparseLoadingSample.cs @@ -0,0 +1,111 @@ +using System; +using System.Collections.Generic; +using Unity.Netcode; +using UnityEngine; +using UnityEngine.AddressableAssets; +using UnityEngine.UI; +using Random = UnityEngine.Random; + +namespace Game +{ + //idea for visualization: + // - server has a list of prefabs to pick from + // - it dynamically spawns prefabs from time to time + + /// + /// In this scenario we are spawning prefabs that aren't known to the clients beforehand. + /// + /// NGO requires us to load the prefab before we spawn it. + /// + /// The inbuilt delay that is accessible through NetworkManager.NetworkConfig.SpawnTimeout is NOT MEANT to serve + /// as a buffering time during which the clients attempt to catch up with the server's spawn command by loading the prefab and hoping that this load won't take more than the timeout. + /// Such approach would inevitably lead to desyncs in production. + /// + /// To be safe and to respect the NGO requirement of loading the prefab before spawning it, we: + /// - ensure that the clients acknowledge that they have loaded the prefab + /// - the server waits for a specified amount of time for the clients to acknowledge the load, and if all the clients are successful - it spawns the prefab + /// - otherwise the server runs out of time and the spawn is cancelled + /// + public sealed class SparseLoadingSample : NetworkBehaviour + { + [SerializeField] DynamicPrefabManager m_DynamicPrefabManager; + + [SerializeField] List m_DynamicPrefabRefs; + + ushort m_Port = 7777; + string m_ConnectAddress = "127.0.0.1"; + + [SerializeField] GameObject m_ConnectionUI; + [SerializeField] Button m_SpawnButton; + + void Awake() + { + m_DynamicPrefabManager.OnConnectionStatusReceived += OnConnectionStatusReceived; + } + + + void OnConnectionStatusReceived(ConnectStatus status, FastBufferReader reader) + { + switch (status) + { + case ConnectStatus.Undefined: + m_ConnectionUI.SetActive(true); + break; + case ConnectStatus.ClientNeedsToPreload: + break; + default: + throw new ArgumentOutOfRangeException(nameof(status), status, null); + } + } + + public void StartClient() + { + Debug.Log(nameof(StartClient)); + m_DynamicPrefabManager.StartClient(m_ConnectAddress, m_Port); + m_ConnectionUI.SetActive(false); + } + + public void StartHost() + { + Debug.Log(nameof(StartHost)); + m_DynamicPrefabManager.StartHost(m_ConnectAddress, m_Port); + m_ConnectionUI.SetActive(false); + } + + public override void OnDestroy() + { + m_DynamicPrefabManager.UnloadAndReleaseAllDynamicPrefabs(); + m_DynamicPrefabManager.OnConnectionStatusReceived -= OnConnectionStatusReceived; + base.OnDestroy(); + } + + public override void OnNetworkSpawn() + { + if (IsServer) + { + m_SpawnButton.onClick.AddListener(OnClickedSpawnButton); + //todo: start a coroutine that spawns random prefabs every once in a while + } + else + { + m_SpawnButton.gameObject.SetActive(false); + } + } + + async void OnClickedSpawnButton() + { + var randomPrefab = m_DynamicPrefabRefs[Random.Range(0, m_DynamicPrefabRefs.Count)]; + var spawnedObject = await m_DynamicPrefabManager.SpawnWithVisibilitySystem(randomPrefab.AssetGUID); + return; + m_SpawnButton.gameObject.SetActive(false); + + + bool didManageToSpawn = await m_DynamicPrefabManager.TrySpawnDynamicPrefabSynchronously(randomPrefab.AssetGUID); + + if (!didManageToSpawn) + { + m_SpawnButton.gameObject.SetActive(true); + } + } + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingSample.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/SparseLoadingSample.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Sparse loading with no latejoin/SparseLoadingSample.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/SparseLoadingSample.cs.meta From 77d48c574d9e33fb85ba3273cd91362d1c2e8be8 Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Mon, 28 Nov 2022 11:34:54 -0500 Subject: [PATCH 16/55] added a slightly better visual for prefab spawning --- .../AssetGroups/Default Local Group.asset | 8 + .../Assets/Prefabs/DynamicPrefabTest 1.prefab | 161 ++++++++++++++++++ .../Prefabs/DynamicPrefabTest 1.prefab.meta | 7 + .../Assets/Prefabs/DynamicPrefabTest 2.prefab | 161 ++++++++++++++++++ .../Prefabs/DynamicPrefabTest 2.prefab.meta | 7 + Basic/DyanmicPrefabs/Assets/Prefabs/Green.mat | 80 +++++++++ .../Assets/Prefabs/Green.mat.meta | 8 + .../DyanmicPrefabs/Assets/Prefabs/Yellow.mat | 80 +++++++++ .../Assets/Prefabs/Yellow.mat.meta | 8 + .../Scenes/01_SparseLoadingNoLatejoin.unity | 32 +++- .../SparseLoadingSample.cs | 3 +- 11 files changed, 549 insertions(+), 6 deletions(-) create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 1.prefab create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 1.prefab.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 2.prefab create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 2.prefab.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/Green.mat create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/Green.mat.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/Yellow.mat create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/Yellow.mat.meta diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset index 06c4397ee..772a09898 100644 --- a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset @@ -21,6 +21,14 @@ MonoBehaviour: m_Address: DynamicPrefabTest m_ReadOnly: 0 m_SerializedLabels: [] + - m_GUID: 75a53913d13db4777b0d97d1c009b6b2 + m_Address: DynamicPrefabTest 1 + m_ReadOnly: 0 + m_SerializedLabels: [] + - m_GUID: 86d863718b86d4ae69be9e4e22feceb6 + m_Address: DynamicPrefabTest 2 + m_ReadOnly: 0 + m_SerializedLabels: [] m_ReadOnly: 0 m_Settings: {fileID: 11400000, guid: eba030a8967cd41c2b351a2d35a779c2, type: 2} m_SchemaSet: diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 1.prefab b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 1.prefab new file mode 100644 index 000000000..4f8840c8a --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 1.prefab @@ -0,0 +1,161 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2002272676026143831 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3105858385568892332} + - component: {fileID: 1618708695352556688} + - component: {fileID: 1618708695352556687} + m_Layer: 0 + m_Name: DynamicPrefabTest 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3105858385568892332 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002272676026143831} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6047369245460250749} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1618708695352556688 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002272676026143831} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 951099334 + AlwaysReplicateAsRoot: 1 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!114 &1618708695352556687 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002272676026143831} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e96cb6065543e43c4a752faaa1468eb1, type: 3} + m_Name: + m_EditorClassIdentifier: + SyncPositionX: 1 + SyncPositionY: 1 + SyncPositionZ: 1 + SyncRotAngleX: 1 + SyncRotAngleY: 1 + SyncRotAngleZ: 1 + SyncScaleX: 1 + SyncScaleY: 1 + SyncScaleZ: 1 + PositionThreshold: 0.001 + RotAngleThreshold: 0.01 + ScaleThreshold: 0.01 + InLocalSpace: 0 + Interpolate: 1 +--- !u!1 &6169323490332737807 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6047369245460250749} + - component: {fileID: 7951404474696023296} + - component: {fileID: 8970186281398297407} + m_Layer: 0 + m_Name: Capsule + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6047369245460250749 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6169323490332737807} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3105858385568892332} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7951404474696023296 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6169323490332737807} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8970186281398297407 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6169323490332737807} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c6e216a5f524b4422b6fcac409747221, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + 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 + m_AdditionalVertexStreams: {fileID: 0} diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 1.prefab.meta b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 1.prefab.meta new file mode 100644 index 000000000..bb4b7f747 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 1.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 75a53913d13db4777b0d97d1c009b6b2 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 2.prefab b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 2.prefab new file mode 100644 index 000000000..2416dd459 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 2.prefab @@ -0,0 +1,161 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2002272676026143831 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3105858385568892332} + - component: {fileID: 1618708695352556688} + - component: {fileID: 1618708695352556687} + m_Layer: 0 + m_Name: DynamicPrefabTest 2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3105858385568892332 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002272676026143831} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6047369245460250749} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1618708695352556688 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002272676026143831} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 951099334 + AlwaysReplicateAsRoot: 1 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!114 &1618708695352556687 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002272676026143831} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e96cb6065543e43c4a752faaa1468eb1, type: 3} + m_Name: + m_EditorClassIdentifier: + SyncPositionX: 1 + SyncPositionY: 1 + SyncPositionZ: 1 + SyncRotAngleX: 1 + SyncRotAngleY: 1 + SyncRotAngleZ: 1 + SyncScaleX: 1 + SyncScaleY: 1 + SyncScaleZ: 1 + PositionThreshold: 0.001 + RotAngleThreshold: 0.01 + ScaleThreshold: 0.01 + InLocalSpace: 0 + Interpolate: 1 +--- !u!1 &6169323490332737807 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6047369245460250749} + - component: {fileID: 7951404474696023296} + - component: {fileID: 8970186281398297407} + m_Layer: 0 + m_Name: Capsule + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6047369245460250749 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6169323490332737807} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3105858385568892332} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7951404474696023296 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6169323490332737807} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8970186281398297407 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6169323490332737807} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 3db0ddc3e34e144fe8ef657ef935c0b0, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + 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 + m_AdditionalVertexStreams: {fileID: 0} diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 2.prefab.meta b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 2.prefab.meta new file mode 100644 index 000000000..0c3f0ac12 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 2.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 86d863718b86d4ae69be9e4e22feceb6 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/Green.mat b/Basic/DyanmicPrefabs/Assets/Prefabs/Green.mat new file mode 100644 index 000000000..6c2bb82d8 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/Green.mat @@ -0,0 +1,80 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Green + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + 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} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0, g: 1, b: 0.03573966, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/Green.mat.meta b/Basic/DyanmicPrefabs/Assets/Prefabs/Green.mat.meta new file mode 100644 index 000000000..c756bc849 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/Green.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c6e216a5f524b4422b6fcac409747221 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/Yellow.mat b/Basic/DyanmicPrefabs/Assets/Prefabs/Yellow.mat new file mode 100644 index 000000000..0a6c2dabf --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/Yellow.mat @@ -0,0 +1,80 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Yellow + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + 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} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 0.8950032, b: 0, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/Yellow.mat.meta b/Basic/DyanmicPrefabs/Assets/Prefabs/Yellow.mat.meta new file mode 100644 index 000000000..9b7fe23e7 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/Yellow.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3db0ddc3e34e144fe8ef657ef935c0b0 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity b/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity index 5cf2eafc4..32a8cee8a 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity @@ -755,6 +755,7 @@ GameObject: - component: {fileID: 989424451} - component: {fileID: 989424452} - component: {fileID: 989424453} + - component: {fileID: 989424454} m_Layer: 0 m_Name: AppController m_TagString: Untagged @@ -805,14 +806,35 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: a5dd989004df436d9e1f8777007d25a5, type: 3} m_Name: m_EditorClassIdentifier: - m_ConnectionUI: {fileID: 346372779} - m_SpawnButton: {fileID: 1684107770} - m_DynamicPrefabRef: - m_AssetGUID: 05ea0814e604c4acf8ae3b7e0a5dfb07 + m_DynamicPrefabManager: {fileID: 989424454} + m_DynamicPrefabRefs: + - m_AssetGUID: 05ea0814e604c4acf8ae3b7e0a5dfb07 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: 75a53913d13db4777b0d97d1c009b6b2 m_SubObjectName: m_SubObjectType: m_EditorAssetChanged: 0 - m_SpawnTimeoutInSeconds: 5 + - m_AssetGUID: 86d863718b86d4ae69be9e4e22feceb6 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + m_ConnectionUI: {fileID: 346372779} + m_SpawnButton: {fileID: 1684107770} +--- !u!114 &989424454 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989424449} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7da934f3c1a34d55951e92710428a53b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SpawnTimeoutInSeconds: 3 m_NetworkManager: {fileID: 2054638265} --- !u!1 &1157890485 GameObject: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/SparseLoadingSample.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/SparseLoadingSample.cs index 2e1f1cb78..346d28946 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/SparseLoadingSample.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/SparseLoadingSample.cs @@ -95,7 +95,8 @@ public override void OnNetworkSpawn() async void OnClickedSpawnButton() { var randomPrefab = m_DynamicPrefabRefs[Random.Range(0, m_DynamicPrefabRefs.Count)]; - var spawnedObject = await m_DynamicPrefabManager.SpawnWithVisibilitySystem(randomPrefab.AssetGUID); + var spawnedObject = await m_DynamicPrefabManager.SpawnWithVisibilitySystem(randomPrefab.AssetGUID); + spawnedObject.transform.position = Random.insideUnitCircle * 5; return; m_SpawnButton.gameObject.SetActive(false); From 886c58a8f86207be1b808b09e5057d8b422bf63d Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Mon, 28 Nov 2022 12:23:09 -0500 Subject: [PATCH 17/55] # --- .../AssetGroups/Default Local Group.asset | 24 ++- Basic/DyanmicPrefabs/Assets/Prefabs/Blue.mat | 80 +++++++++ .../Assets/Prefabs/Blue.mat.meta | 8 + Basic/DyanmicPrefabs/Assets/Prefabs/Cyan.mat | 80 +++++++++ .../Assets/Prefabs/Cyan.mat.meta | 8 + .../Assets/Prefabs/DynamicPrefabTest 1.prefab | 2 +- .../Assets/Prefabs/DynamicPrefabTest 2.prefab | 2 +- .../Assets/Prefabs/DynamicPrefabTest 3.prefab | 161 ++++++++++++++++++ .../Prefabs/DynamicPrefabTest 3.prefab.meta | 7 + .../Assets/Prefabs/DynamicPrefabTest 4.prefab | 161 ++++++++++++++++++ .../Prefabs/DynamicPrefabTest 4.prefab.meta | 7 + .../Assets/Prefabs/DynamicPrefabTest 6.prefab | 161 ++++++++++++++++++ .../Prefabs/DynamicPrefabTest 6.prefab.meta | 7 + .../Assets/Prefabs/DynamicPrefabTest 7.prefab | 161 ++++++++++++++++++ .../Prefabs/DynamicPrefabTest 7.prefab.meta | 7 + .../DyanmicPrefabs/Assets/Prefabs/Magenta.mat | 80 +++++++++ .../Assets/Prefabs/Magenta.mat.meta | 8 + Basic/DyanmicPrefabs/Assets/Prefabs/Red.mat | 80 +++++++++ .../Assets/Prefabs/Red.mat.meta | 8 + ...y => 01_Server Auth Dynamic Prefabs.unity} | 20 ++- ...01_Server Auth Dynamic Prefabs.unity.meta} | 0 ...parseLoadingSample.cs => AppController.cs} | 23 ++- ...ngSample.cs.meta => AppController.cs.meta} | 0 .../DynamicPrefabManager.cs | 27 +-- .../ProjectSettings/EditorBuildSettings.asset | 2 +- 25 files changed, 1091 insertions(+), 33 deletions(-) create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/Blue.mat create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/Blue.mat.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/Cyan.mat create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/Cyan.mat.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 3.prefab create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 3.prefab.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 4.prefab create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 4.prefab.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 6.prefab create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 6.prefab.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 7.prefab create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 7.prefab.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/Magenta.mat create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/Magenta.mat.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/Red.mat create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/Red.mat.meta rename Basic/DyanmicPrefabs/Assets/Scenes/{01_SparseLoadingNoLatejoin.unity => 01_Server Auth Dynamic Prefabs.unity} (98%) rename Basic/DyanmicPrefabs/Assets/Scenes/{01_SparseLoadingNoLatejoin.unity.meta => 01_Server Auth Dynamic Prefabs.unity.meta} (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/{SparseLoadingSample.cs => AppController.cs} (98%) rename Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/{SparseLoadingSample.cs.meta => AppController.cs.meta} (100%) diff --git a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset index 772a09898..87ab080a2 100644 --- a/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset +++ b/Basic/DyanmicPrefabs/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset @@ -17,18 +17,34 @@ MonoBehaviour: m_SerializedData: [] m_GUID: ddcc0dd3c2e3149309486ece76cf498a m_SerializeEntries: - - m_GUID: 05ea0814e604c4acf8ae3b7e0a5dfb07 - m_Address: DynamicPrefabTest + - m_GUID: e8635bd8fc0fa44f7ba16885494477e4 + m_Address: DynamicPrefabTest 7 m_ReadOnly: 0 m_SerializedLabels: [] - - m_GUID: 75a53913d13db4777b0d97d1c009b6b2 - m_Address: DynamicPrefabTest 1 + - m_GUID: 580f343244c5d495aa8df840a4ef1050 + m_Address: DynamicPrefabTest 6 + m_ReadOnly: 0 + m_SerializedLabels: [] + - m_GUID: df2e29fad7ea5480ebbd89c15ffe415e + m_Address: DynamicPrefabTest 4 + m_ReadOnly: 0 + m_SerializedLabels: [] + - m_GUID: a4d5ae4542ecc49f5b2e96f39e93c0c4 + m_Address: DynamicPrefabTest 3 m_ReadOnly: 0 m_SerializedLabels: [] - m_GUID: 86d863718b86d4ae69be9e4e22feceb6 m_Address: DynamicPrefabTest 2 m_ReadOnly: 0 m_SerializedLabels: [] + - m_GUID: 75a53913d13db4777b0d97d1c009b6b2 + m_Address: DynamicPrefabTest 1 + m_ReadOnly: 0 + m_SerializedLabels: [] + - m_GUID: 05ea0814e604c4acf8ae3b7e0a5dfb07 + m_Address: DynamicPrefabTest + m_ReadOnly: 0 + m_SerializedLabels: [] m_ReadOnly: 0 m_Settings: {fileID: 11400000, guid: eba030a8967cd41c2b351a2d35a779c2, type: 2} m_SchemaSet: diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/Blue.mat b/Basic/DyanmicPrefabs/Assets/Prefabs/Blue.mat new file mode 100644 index 000000000..8d461715a --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/Blue.mat @@ -0,0 +1,80 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Blue + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + 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} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0, g: 0.0526824, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/Blue.mat.meta b/Basic/DyanmicPrefabs/Assets/Prefabs/Blue.mat.meta new file mode 100644 index 000000000..0a5ca0c9e --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/Blue.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a2eb4870b74dc4280815e4f295b427d4 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/Cyan.mat b/Basic/DyanmicPrefabs/Assets/Prefabs/Cyan.mat new file mode 100644 index 000000000..b322a220f --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/Cyan.mat @@ -0,0 +1,80 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Cyan + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + 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} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0, g: 0.86225796, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/Cyan.mat.meta b/Basic/DyanmicPrefabs/Assets/Prefabs/Cyan.mat.meta new file mode 100644 index 000000000..d89b1ada7 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/Cyan.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 18ff04bb8dcf54245aac49b8bff16123 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 1.prefab b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 1.prefab index 4f8840c8a..387437cd1 100644 --- a/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 1.prefab +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 1.prefab @@ -137,7 +137,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: c6e216a5f524b4422b6fcac409747221, type: 2} + - {fileID: 2100000, guid: 8a78e36738c42416aaf2569d7c0a4a36, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 2.prefab b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 2.prefab index 2416dd459..714dfdc9b 100644 --- a/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 2.prefab +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 2.prefab @@ -137,7 +137,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 3db0ddc3e34e144fe8ef657ef935c0b0, type: 2} + - {fileID: 2100000, guid: 2a13e1944c4fc4105a58f40db84fde97, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 3.prefab b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 3.prefab new file mode 100644 index 000000000..cd9bfac17 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 3.prefab @@ -0,0 +1,161 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2002272676026143831 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3105858385568892332} + - component: {fileID: 1618708695352556688} + - component: {fileID: 1618708695352556687} + m_Layer: 0 + m_Name: DynamicPrefabTest 3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3105858385568892332 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002272676026143831} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6047369245460250749} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1618708695352556688 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002272676026143831} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 951099334 + AlwaysReplicateAsRoot: 1 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!114 &1618708695352556687 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002272676026143831} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e96cb6065543e43c4a752faaa1468eb1, type: 3} + m_Name: + m_EditorClassIdentifier: + SyncPositionX: 1 + SyncPositionY: 1 + SyncPositionZ: 1 + SyncRotAngleX: 1 + SyncRotAngleY: 1 + SyncRotAngleZ: 1 + SyncScaleX: 1 + SyncScaleY: 1 + SyncScaleZ: 1 + PositionThreshold: 0.001 + RotAngleThreshold: 0.01 + ScaleThreshold: 0.01 + InLocalSpace: 0 + Interpolate: 1 +--- !u!1 &6169323490332737807 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6047369245460250749} + - component: {fileID: 7951404474696023296} + - component: {fileID: 8970186281398297407} + m_Layer: 0 + m_Name: Capsule + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6047369245460250749 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6169323490332737807} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3105858385568892332} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7951404474696023296 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6169323490332737807} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8970186281398297407 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6169323490332737807} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a2eb4870b74dc4280815e4f295b427d4, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + 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 + m_AdditionalVertexStreams: {fileID: 0} diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 3.prefab.meta b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 3.prefab.meta new file mode 100644 index 000000000..318391ae2 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 3.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a4d5ae4542ecc49f5b2e96f39e93c0c4 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 4.prefab b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 4.prefab new file mode 100644 index 000000000..c5f74d109 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 4.prefab @@ -0,0 +1,161 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2002272676026143831 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3105858385568892332} + - component: {fileID: 1618708695352556688} + - component: {fileID: 1618708695352556687} + m_Layer: 0 + m_Name: DynamicPrefabTest 4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3105858385568892332 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002272676026143831} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6047369245460250749} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1618708695352556688 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002272676026143831} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 951099334 + AlwaysReplicateAsRoot: 1 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!114 &1618708695352556687 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002272676026143831} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e96cb6065543e43c4a752faaa1468eb1, type: 3} + m_Name: + m_EditorClassIdentifier: + SyncPositionX: 1 + SyncPositionY: 1 + SyncPositionZ: 1 + SyncRotAngleX: 1 + SyncRotAngleY: 1 + SyncRotAngleZ: 1 + SyncScaleX: 1 + SyncScaleY: 1 + SyncScaleZ: 1 + PositionThreshold: 0.001 + RotAngleThreshold: 0.01 + ScaleThreshold: 0.01 + InLocalSpace: 0 + Interpolate: 1 +--- !u!1 &6169323490332737807 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6047369245460250749} + - component: {fileID: 7951404474696023296} + - component: {fileID: 8970186281398297407} + m_Layer: 0 + m_Name: Capsule + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6047369245460250749 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6169323490332737807} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3105858385568892332} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7951404474696023296 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6169323490332737807} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8970186281398297407 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6169323490332737807} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 3db0ddc3e34e144fe8ef657ef935c0b0, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + 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 + m_AdditionalVertexStreams: {fileID: 0} diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 4.prefab.meta b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 4.prefab.meta new file mode 100644 index 000000000..96acfa6d6 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 4.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: df2e29fad7ea5480ebbd89c15ffe415e +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 6.prefab b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 6.prefab new file mode 100644 index 000000000..4c44b72f6 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 6.prefab @@ -0,0 +1,161 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2002272676026143831 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3105858385568892332} + - component: {fileID: 1618708695352556688} + - component: {fileID: 1618708695352556687} + m_Layer: 0 + m_Name: DynamicPrefabTest 6 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3105858385568892332 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002272676026143831} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6047369245460250749} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1618708695352556688 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002272676026143831} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 951099334 + AlwaysReplicateAsRoot: 1 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!114 &1618708695352556687 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002272676026143831} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e96cb6065543e43c4a752faaa1468eb1, type: 3} + m_Name: + m_EditorClassIdentifier: + SyncPositionX: 1 + SyncPositionY: 1 + SyncPositionZ: 1 + SyncRotAngleX: 1 + SyncRotAngleY: 1 + SyncRotAngleZ: 1 + SyncScaleX: 1 + SyncScaleY: 1 + SyncScaleZ: 1 + PositionThreshold: 0.001 + RotAngleThreshold: 0.01 + ScaleThreshold: 0.01 + InLocalSpace: 0 + Interpolate: 1 +--- !u!1 &6169323490332737807 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6047369245460250749} + - component: {fileID: 7951404474696023296} + - component: {fileID: 8970186281398297407} + m_Layer: 0 + m_Name: Capsule + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6047369245460250749 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6169323490332737807} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3105858385568892332} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7951404474696023296 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6169323490332737807} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8970186281398297407 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6169323490332737807} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 18ff04bb8dcf54245aac49b8bff16123, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + 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 + m_AdditionalVertexStreams: {fileID: 0} diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 6.prefab.meta b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 6.prefab.meta new file mode 100644 index 000000000..5d18190cb --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 6.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 580f343244c5d495aa8df840a4ef1050 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 7.prefab b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 7.prefab new file mode 100644 index 000000000..17994cf33 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 7.prefab @@ -0,0 +1,161 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2002272676026143831 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3105858385568892332} + - component: {fileID: 1618708695352556688} + - component: {fileID: 1618708695352556687} + m_Layer: 0 + m_Name: DynamicPrefabTest 7 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3105858385568892332 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002272676026143831} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6047369245460250749} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1618708695352556688 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002272676026143831} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 951099334 + AlwaysReplicateAsRoot: 1 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!114 &1618708695352556687 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002272676026143831} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e96cb6065543e43c4a752faaa1468eb1, type: 3} + m_Name: + m_EditorClassIdentifier: + SyncPositionX: 1 + SyncPositionY: 1 + SyncPositionZ: 1 + SyncRotAngleX: 1 + SyncRotAngleY: 1 + SyncRotAngleZ: 1 + SyncScaleX: 1 + SyncScaleY: 1 + SyncScaleZ: 1 + PositionThreshold: 0.001 + RotAngleThreshold: 0.01 + ScaleThreshold: 0.01 + InLocalSpace: 0 + Interpolate: 1 +--- !u!1 &6169323490332737807 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6047369245460250749} + - component: {fileID: 7951404474696023296} + - component: {fileID: 8970186281398297407} + m_Layer: 0 + m_Name: Capsule + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6047369245460250749 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6169323490332737807} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3105858385568892332} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7951404474696023296 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6169323490332737807} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8970186281398297407 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6169323490332737807} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c6e216a5f524b4422b6fcac409747221, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + 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 + m_AdditionalVertexStreams: {fileID: 0} diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 7.prefab.meta b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 7.prefab.meta new file mode 100644 index 000000000..bd1ab0270 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/DynamicPrefabTest 7.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e8635bd8fc0fa44f7ba16885494477e4 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/Magenta.mat b/Basic/DyanmicPrefabs/Assets/Prefabs/Magenta.mat new file mode 100644 index 000000000..a296c7a3b --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/Magenta.mat @@ -0,0 +1,80 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Magenta + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + 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} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 0, b: 0.9345741, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/Magenta.mat.meta b/Basic/DyanmicPrefabs/Assets/Prefabs/Magenta.mat.meta new file mode 100644 index 000000000..f4150322d --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/Magenta.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8a78e36738c42416aaf2569d7c0a4a36 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/Red.mat b/Basic/DyanmicPrefabs/Assets/Prefabs/Red.mat new file mode 100644 index 000000000..349bf6743 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/Red.mat @@ -0,0 +1,80 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Red + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + 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} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 0, b: 0.018271446, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/Red.mat.meta b/Basic/DyanmicPrefabs/Assets/Prefabs/Red.mat.meta new file mode 100644 index 000000000..79b5294c4 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/Red.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2a13e1944c4fc4105a58f40db84fde97 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity b/Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Dynamic Prefabs.unity similarity index 98% rename from Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity rename to Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Dynamic Prefabs.unity index 32a8cee8a..a5c1792e3 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Dynamic Prefabs.unity @@ -808,11 +808,15 @@ MonoBehaviour: m_EditorClassIdentifier: m_DynamicPrefabManager: {fileID: 989424454} m_DynamicPrefabRefs: - - m_AssetGUID: 05ea0814e604c4acf8ae3b7e0a5dfb07 + - m_AssetGUID: e8635bd8fc0fa44f7ba16885494477e4 m_SubObjectName: m_SubObjectType: m_EditorAssetChanged: 0 - - m_AssetGUID: 75a53913d13db4777b0d97d1c009b6b2 + - m_AssetGUID: 580f343244c5d495aa8df840a4ef1050 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: df2e29fad7ea5480ebbd89c15ffe415e m_SubObjectName: m_SubObjectType: m_EditorAssetChanged: 0 @@ -820,6 +824,18 @@ MonoBehaviour: m_SubObjectName: m_SubObjectType: m_EditorAssetChanged: 0 + - m_AssetGUID: a4d5ae4542ecc49f5b2e96f39e93c0c4 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: 75a53913d13db4777b0d97d1c009b6b2 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: 05ea0814e604c4acf8ae3b7e0a5dfb07 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 m_ConnectionUI: {fileID: 346372779} m_SpawnButton: {fileID: 1684107770} --- !u!114 &989424454 diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity.meta b/Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Dynamic Prefabs.unity.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scenes/01_SparseLoadingNoLatejoin.unity.meta rename to Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Dynamic Prefabs.unity.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/SparseLoadingSample.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs similarity index 98% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/SparseLoadingSample.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs index 346d28946..d9881169e 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/SparseLoadingSample.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs @@ -26,15 +26,13 @@ namespace Game /// - the server waits for a specified amount of time for the clients to acknowledge the load, and if all the clients are successful - it spawns the prefab /// - otherwise the server runs out of time and the spawn is cancelled /// - public sealed class SparseLoadingSample : NetworkBehaviour + public sealed class AppController : NetworkBehaviour { - [SerializeField] DynamicPrefabManager m_DynamicPrefabManager; - - [SerializeField] List m_DynamicPrefabRefs; - ushort m_Port = 7777; string m_ConnectAddress = "127.0.0.1"; + [SerializeField] DynamicPrefabManager m_DynamicPrefabManager; + [SerializeField] List m_DynamicPrefabRefs; [SerializeField] GameObject m_ConnectionUI; [SerializeField] Button m_SpawnButton; @@ -43,7 +41,13 @@ void Awake() m_DynamicPrefabManager.OnConnectionStatusReceived += OnConnectionStatusReceived; } - + public override void OnDestroy() + { + m_DynamicPrefabManager.UnloadAndReleaseAllDynamicPrefabs(); + m_DynamicPrefabManager.OnConnectionStatusReceived -= OnConnectionStatusReceived; + base.OnDestroy(); + } + void OnConnectionStatusReceived(ConnectStatus status, FastBufferReader reader) { switch (status) @@ -72,13 +76,6 @@ public void StartHost() m_ConnectionUI.SetActive(false); } - public override void OnDestroy() - { - m_DynamicPrefabManager.UnloadAndReleaseAllDynamicPrefabs(); - m_DynamicPrefabManager.OnConnectionStatusReceived -= OnConnectionStatusReceived; - base.OnDestroy(); - } - public override void OnNetworkSpawn() { if (IsServer) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/SparseLoadingSample.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/SparseLoadingSample.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs index dcef9fa3b..62b5323e2 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs @@ -34,7 +34,7 @@ public sealed class DynamicPrefabManager : NetworkBehaviour Dictionary> m_PrefabHashToClientIds = new Dictionary>(); //A storage where we keep association between prefab (hash of it's GUID) and the spawned network objects that use it - Dictionary> m_PrefabHashToNetworkObjectId = new Dictionary>(); + Dictionary> m_PrefabHashToNetworkObjectId = new Dictionary>(); public bool HasClientLoadedPrefab(ulong clientId, int prefabHash) => m_PrefabHashToClientIds.TryGetValue(prefabHash, out var clientIds) && clientIds.Contains(clientId); @@ -321,15 +321,14 @@ async Task Spawn(AddressableGUID assetGuid) { var prefab = await LoadDynamicPrefab(assetGuid); var obj = Instantiate(prefab).GetComponent(); - obj.SpawnWithOwnership(m_NetworkManager.LocalClientId); if(m_PrefabHashToNetworkObjectId.TryGetValue(assetGuid.GetHashCode(), out var networkObjectIds)) { - networkObjectIds.Add(obj.NetworkObjectId); + networkObjectIds.Add(obj); } else { - m_PrefabHashToNetworkObjectId.Add(assetGuid.GetHashCode(), new HashSet() {obj.NetworkObjectId}); + m_PrefabHashToNetworkObjectId.Add(assetGuid.GetHashCode(), new HashSet() {obj}); } obj.CheckObjectVisibility = (clientId) => @@ -344,6 +343,8 @@ async Task Spawn(AddressableGUID assetGuid) return false; }; + obj.SpawnWithOwnership(m_NetworkManager.LocalClientId); + return obj; } } @@ -366,21 +367,25 @@ async void Load(AddressableGUID assetGuid) } [ServerRpc(RequireOwnership = false)] - void AcknowledgeSuccessfulPrefabLoadServerRpc(int perfabHash, ServerRpcParams rpcParams = default) + void AcknowledgeSuccessfulPrefabLoadServerRpc(int prefabHash, ServerRpcParams rpcParams = default) { m_CountOfClientsThatLoadedThePrefab++; - Debug.Log("Client acknowledged successful prefab load with hash: " + perfabHash); - RecordThatClientHasLoadedAPrefab(perfabHash, rpcParams.Receive.SenderClientId); - ShowHiddenObjectsToClient(perfabHash, rpcParams.Receive.SenderClientId); + Debug.Log("Client acknowledged successful prefab load with hash: " + prefabHash); + RecordThatClientHasLoadedAPrefab(prefabHash, rpcParams.Receive.SenderClientId); + + //the server has all the objects visible, no need to do anything + if (rpcParams.Receive.SenderClientId != m_NetworkManager.LocalClientId) + { + ShowHiddenObjectsToClient(prefabHash, rpcParams.Receive.SenderClientId); + } } void ShowHiddenObjectsToClient(int prefabHash, ulong clientId) { - if(m_PrefabHashToNetworkObjectId.TryGetValue(prefabHash, out var networkObjectIds)) + if(m_PrefabHashToNetworkObjectId.TryGetValue(prefabHash, out var networkObjects)) { - foreach (var networkObjectId in networkObjectIds) + foreach (var obj in networkObjects) { - var obj = m_NetworkManager.SpawnManager.SpawnedObjects[networkObjectId]; if (!obj.IsNetworkVisibleTo(clientId)) { obj.NetworkShow(clientId); diff --git a/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset b/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset index 77d7694f0..08b4c3f3b 100644 --- a/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset +++ b/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset @@ -9,7 +9,7 @@ EditorBuildSettings: path: Assets/Scenes/00_Preloading.unity guid: 9fc0d4010bbf28b4594072e72b8655ab - enabled: 1 - path: Assets/Scenes/01_SparseLoadingNoLatejoin.unity + path: Assets/Scenes/01_Server Auth Dynamic Prefabs.unity guid: a4b10a79c91b64ba4863188ca77f36e8 m_configObjects: com.unity.addressableassets: {fileID: 11400000, guid: b1ddf61b298f54d599a3d954101e1b69, type: 2} From a167a93ebca0a25993e51e4369247b02aebba5d0 Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Mon, 28 Nov 2022 12:35:46 -0500 Subject: [PATCH 18/55] added better ui for controlling the spawning --- .../01_Server Auth Dynamic Prefabs.unity | 611 +++++++++++++++++- .../AppController.cs | 43 +- .../DynamicPrefabManager.cs | 17 +- 3 files changed, 634 insertions(+), 37 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Dynamic Prefabs.unity b/Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Dynamic Prefabs.unity index a5c1792e3..e1c15685d 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Dynamic Prefabs.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Dynamic Prefabs.unity @@ -219,7 +219,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: Spawn dynamic prefab + m_text: Spawn - try spawn synchronously m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} @@ -296,6 +296,180 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 484367935} m_CullTransparentMesh: 1 +--- !u!1 &541210821 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 541210822} + - component: {fileID: 541210824} + - component: {fileID: 541210823} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &541210822 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 541210821} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 876541990} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &541210823 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 541210821} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Preload All Prefabs Async + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &541210824 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 541210821} + m_CullTransparentMesh: 1 +--- !u!1 &663159615 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 663159616} + m_Layer: 5 + m_Name: BtnGroup + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &663159616 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 663159615} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1698216263} + - {fileID: 1684107769} + - {fileID: 876541990} + m_Father: {fileID: 1157890489} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &705507993 GameObject: m_ObjectHideFlags: 0 @@ -658,7 +832,141 @@ CanvasRenderer: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 832999904} + m_GameObject: {fileID: 832999904} + m_CullTransparentMesh: 1 +--- !u!1 &876541989 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 876541990} + - component: {fileID: 876541993} + - component: {fileID: 876541992} + - component: {fileID: 876541991} + m_Layer: 5 + m_Name: Btn - Preload All Prefabs Async + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &876541990 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 876541989} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 541210822} + m_Father: {fileID: 663159616} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 17.399994, y: -184.70001} + m_SizeDelta: {x: 521.65, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &876541991 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 876541989} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 876541992} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 989424453} + m_TargetAssemblyTypeName: Game.AppController, Assembly-CSharp + m_MethodName: OnClickedPreload + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &876541992 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 876541989} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &876541993 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 876541989} m_CullTransparentMesh: 1 --- !u!1 &963194225 GameObject: @@ -837,7 +1145,7 @@ MonoBehaviour: m_SubObjectType: m_EditorAssetChanged: 0 m_ConnectionUI: {fileID: 346372779} - m_SpawnButton: {fileID: 1684107770} + m_SpawnUI: {fileID: 663159615} --- !u!114 &989424454 MonoBehaviour: m_ObjectHideFlags: 0 @@ -944,7 +1252,7 @@ RectTransform: m_LocalScale: {x: 0, y: 0, z: 0} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 1684107769} + - {fileID: 663159616} - {fileID: 346372780} m_Father: {fileID: 0} m_RootOrder: 4 @@ -1088,6 +1396,141 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1242229359} m_CullTransparentMesh: 1 +--- !u!1 &1368062642 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1368062643} + - component: {fileID: 1368062645} + - component: {fileID: 1368062644} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1368062643 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1368062642} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1698216263} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1368062644 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1368062642} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Spawn - invisible while prefab is loading + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1368062645 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1368062642} + m_CullTransparentMesh: 1 --- !u!1 &1521417880 GameObject: m_ObjectHideFlags: 0 @@ -1303,7 +1746,7 @@ GameObject: - component: {fileID: 1684107771} - component: {fileID: 1684107770} m_Layer: 5 - m_Name: Btn - Spawn on Server + m_Name: Btn - Spawn Synchronously m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -1316,19 +1759,19 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1684107768} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + 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_ConstrainProportionsScale: 0 m_Children: - {fileID: 484367936} - m_Father: {fileID: 1157890489} - m_RootOrder: 0 + m_Father: {fileID: 663159616} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 18, y: -99} - m_SizeDelta: {x: 300, y: 30} + m_AnchoredPosition: {x: 17.4, y: -102.5} + m_SizeDelta: {x: 521.65, y: 30} m_Pivot: {x: 0, y: 1} --- !u!114 &1684107770 MonoBehaviour: @@ -1373,7 +1816,19 @@ MonoBehaviour: m_TargetGraphic: {fileID: 1684107771} m_OnClick: m_PersistentCalls: - m_Calls: [] + m_Calls: + - m_Target: {fileID: 989424453} + m_TargetAssemblyTypeName: Game.AppController, Assembly-CSharp + m_MethodName: OnClickedTrySpawnSynchronously + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!114 &1684107771 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1412,6 +1867,140 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1684107768} m_CullTransparentMesh: 1 +--- !u!1 &1698216262 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1698216263} + - component: {fileID: 1698216266} + - component: {fileID: 1698216265} + - component: {fileID: 1698216264} + m_Layer: 5 + m_Name: Btn - Spawn With Visibility + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1698216263 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1698216262} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1368062643} + m_Father: {fileID: 663159616} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 17.399994, y: -142.20001} + m_SizeDelta: {x: 521.6509, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1698216264 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1698216262} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1698216265} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 989424453} + m_TargetAssemblyTypeName: Game.AppController, Assembly-CSharp + m_MethodName: OnClickedSpawnWithVisibility + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1698216265 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1698216262} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1698216266 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1698216262} + m_CullTransparentMesh: 1 --- !u!1 &2054638263 GameObject: m_ObjectHideFlags: 0 diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs index d9881169e..3a103932f 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Threading.Tasks; using Unity.Netcode; using UnityEngine; using UnityEngine.AddressableAssets; @@ -34,7 +35,8 @@ public sealed class AppController : NetworkBehaviour [SerializeField] DynamicPrefabManager m_DynamicPrefabManager; [SerializeField] List m_DynamicPrefabRefs; [SerializeField] GameObject m_ConnectionUI; - [SerializeField] Button m_SpawnButton; + + [SerializeField] GameObject m_SpawnUI; void Awake() { @@ -78,32 +80,37 @@ public void StartHost() public override void OnNetworkSpawn() { - if (IsServer) - { - m_SpawnButton.onClick.AddListener(OnClickedSpawnButton); - //todo: start a coroutine that spawns random prefabs every once in a while - } - else - { - m_SpawnButton.gameObject.SetActive(false); - } + m_SpawnUI.SetActive(IsServer); } - - async void OnClickedSpawnButton() + + public async void OnClickedSpawnWithVisibility() { var randomPrefab = m_DynamicPrefabRefs[Random.Range(0, m_DynamicPrefabRefs.Count)]; var spawnedObject = await m_DynamicPrefabManager.SpawnWithVisibilitySystem(randomPrefab.AssetGUID); spawnedObject.transform.position = Random.insideUnitCircle * 5; - return; - m_SpawnButton.gameObject.SetActive(false); - + } + + public async void OnClickedTrySpawnSynchronously() + { + var randomPrefab = m_DynamicPrefabRefs[Random.Range(0, m_DynamicPrefabRefs.Count)]; + var spawnedObject = await m_DynamicPrefabManager.TrySpawnDynamicPrefabSynchronously(randomPrefab.AssetGUID); - bool didManageToSpawn = await m_DynamicPrefabManager.TrySpawnDynamicPrefabSynchronously(randomPrefab.AssetGUID); + if (spawnedObject.Success) + { + spawnedObject.Obj.transform.position = Random.insideUnitCircle * 5; + } + } - if (!didManageToSpawn) + public async void OnClickedPreload() + { + var tasks = new List(); + foreach (var p in m_DynamicPrefabRefs) { - m_SpawnButton.gameObject.SetActive(true); + tasks.Add(m_DynamicPrefabManager.PreloadDynamicPrefabOnServerAndStartLoadingOnAllClients(p.AssetGUID)); } + + await Task.WhenAll(tasks); + } } } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs index 62b5323e2..0327d3861 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs @@ -218,7 +218,7 @@ IEnumerator WaitToDenyApproval(ulong clientID, ConnectStatus status, ICollection /// /// /// - public async Task TrySpawnDynamicPrefabSynchronously(string guid) + public async Task<(bool Success, NetworkObject Obj)> TrySpawnDynamicPrefabSynchronously(string guid) { if (IsServer) { @@ -230,8 +230,8 @@ public async Task TrySpawnDynamicPrefabSynchronously(string guid) if (m_LoadedDynamicPrefabResourceHandles.ContainsKey(assetGuid)) { Debug.Log("Prefab is already loaded by all peers, we can spawn it immediately"); - await Spawn(assetGuid); - return true; + var obj = await Spawn(assetGuid); + return (true, obj); } m_CountOfClientsThatLoadedThePrefab = 0; @@ -247,8 +247,8 @@ public async Task TrySpawnDynamicPrefabSynchronously(string guid) if (m_CountOfClientsThatLoadedThePrefab >= requiredAcknowledgementsCount) { Debug.Log($"All clients have loaded the prefab in {m_SpawnTimeoutTimer} seconds, spawning the prefab on the server..."); - await Spawn(assetGuid); - return true; + var obj = await Spawn(assetGuid); + return (true, obj); } m_SpawnTimeoutTimer += Time.deltaTime; @@ -256,17 +256,18 @@ public async Task TrySpawnDynamicPrefabSynchronously(string guid) } Debug.LogError("Failed to spawn dynamic prefab - timeout"); - return false; + return (false, null); } - return false; + return (false, null); - async Task Spawn(AddressableGUID assetGuid) + async Task Spawn(AddressableGUID assetGuid) { var prefab = await LoadDynamicPrefab(assetGuid); var obj = Instantiate(prefab).GetComponent(); obj.SpawnWithOwnership(m_NetworkManager.LocalClientId); Debug.Log("Spawned dynamic prefab"); + return obj; } } From 9cf2e8babc29c376944616209cd013e0a0cd3a90 Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Mon, 28 Nov 2022 12:37:22 -0500 Subject: [PATCH 19/55] # --- Basic/DyanmicPrefabs/ProjectSettings/ProjectSettings.asset | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Basic/DyanmicPrefabs/ProjectSettings/ProjectSettings.asset b/Basic/DyanmicPrefabs/ProjectSettings/ProjectSettings.asset index 883a7e89d..e2a164643 100644 --- a/Basic/DyanmicPrefabs/ProjectSettings/ProjectSettings.asset +++ b/Basic/DyanmicPrefabs/ProjectSettings/ProjectSettings.asset @@ -154,7 +154,8 @@ PlayerSettings: resetResolutionOnWindowResize: 0 androidSupportedAspectRatio: 1 androidMaxAspectRatio: 2.1 - applicationIdentifier: {} + applicationIdentifier: + Standalone: com.DefaultCompany.DynamicPrefabExploration buildNumber: Standalone: 0 iPhone: 0 From ca9bc9c1cf2b2f1cdf68f9d4a10a7a6cba207d82 Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Mon, 28 Nov 2022 12:46:34 -0500 Subject: [PATCH 20/55] # --- .../AppController.cs | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs index 3a103932f..f0cb42f09 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs @@ -4,29 +4,10 @@ using Unity.Netcode; using UnityEngine; using UnityEngine.AddressableAssets; -using UnityEngine.UI; using Random = UnityEngine.Random; namespace Game { - //idea for visualization: - // - server has a list of prefabs to pick from - // - it dynamically spawns prefabs from time to time - - /// - /// In this scenario we are spawning prefabs that aren't known to the clients beforehand. - /// - /// NGO requires us to load the prefab before we spawn it. - /// - /// The inbuilt delay that is accessible through NetworkManager.NetworkConfig.SpawnTimeout is NOT MEANT to serve - /// as a buffering time during which the clients attempt to catch up with the server's spawn command by loading the prefab and hoping that this load won't take more than the timeout. - /// Such approach would inevitably lead to desyncs in production. - /// - /// To be safe and to respect the NGO requirement of loading the prefab before spawning it, we: - /// - ensure that the clients acknowledge that they have loaded the prefab - /// - the server waits for a specified amount of time for the clients to acknowledge the load, and if all the clients are successful - it spawns the prefab - /// - otherwise the server runs out of time and the spawn is cancelled - /// public sealed class AppController : NetworkBehaviour { ushort m_Port = 7777; From e66bf063d1db257cb66a3f553eecc66453886945 Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Tue, 29 Nov 2022 12:52:43 -0500 Subject: [PATCH 21/55] spawn methods now require initial position and rotation --- .../AppController.cs | 10 ++-------- .../DynamicPrefabManager.cs | 8 ++++---- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs index f0cb42f09..273885a0c 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs @@ -67,19 +67,13 @@ public override void OnNetworkSpawn() public async void OnClickedSpawnWithVisibility() { var randomPrefab = m_DynamicPrefabRefs[Random.Range(0, m_DynamicPrefabRefs.Count)]; - var spawnedObject = await m_DynamicPrefabManager.SpawnWithVisibilitySystem(randomPrefab.AssetGUID); - spawnedObject.transform.position = Random.insideUnitCircle * 5; + var spawnedObject = await m_DynamicPrefabManager.SpawnWithVisibilitySystem(randomPrefab.AssetGUID, Random.insideUnitCircle * 5, Quaternion.identity); } public async void OnClickedTrySpawnSynchronously() { var randomPrefab = m_DynamicPrefabRefs[Random.Range(0, m_DynamicPrefabRefs.Count)]; - var spawnedObject = await m_DynamicPrefabManager.TrySpawnDynamicPrefabSynchronously(randomPrefab.AssetGUID); - - if (spawnedObject.Success) - { - spawnedObject.Obj.transform.position = Random.insideUnitCircle * 5; - } + var spawnedObject = await m_DynamicPrefabManager.TrySpawnDynamicPrefabSynchronously(randomPrefab.AssetGUID, Random.insideUnitCircle * 5, Quaternion.identity); } public async void OnClickedPreload() diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs index 0327d3861..c0185e6c4 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs @@ -218,7 +218,7 @@ IEnumerator WaitToDenyApproval(ulong clientID, ConnectStatus status, ICollection /// /// /// - public async Task<(bool Success, NetworkObject Obj)> TrySpawnDynamicPrefabSynchronously(string guid) + public async Task<(bool Success, NetworkObject Obj)> TrySpawnDynamicPrefabSynchronously(string guid, Vector3 position, Quaternion rotation) { if (IsServer) { @@ -264,7 +264,7 @@ IEnumerator WaitToDenyApproval(ulong clientID, ConnectStatus status, ICollection async Task Spawn(AddressableGUID assetGuid) { var prefab = await LoadDynamicPrefab(assetGuid); - var obj = Instantiate(prefab).GetComponent(); + var obj = Instantiate(prefab, position, rotation).GetComponent(); obj.SpawnWithOwnership(m_NetworkManager.LocalClientId); Debug.Log("Spawned dynamic prefab"); return obj; @@ -304,7 +304,7 @@ public async Task PreloadDynamicPrefabOnServerAndStartLoadingOnAllClients(string /// /// /// - public async Task SpawnWithVisibilitySystem(string guid) + public async Task SpawnWithVisibilitySystem(string guid, Vector3 position, Quaternion rotation) { if (IsServer) { @@ -321,7 +321,7 @@ public async Task SpawnWithVisibilitySystem(string guid) async Task Spawn(AddressableGUID assetGuid) { var prefab = await LoadDynamicPrefab(assetGuid); - var obj = Instantiate(prefab).GetComponent(); + var obj = Instantiate(prefab, position, rotation).GetComponent(); if(m_PrefabHashToNetworkObjectId.TryGetValue(assetGuid.GetHashCode(), out var networkObjectIds)) { From e157e8e6f50424457b776dea70bccec7b3d003a5 Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Tue, 29 Nov 2022 14:18:49 -0500 Subject: [PATCH 22/55] naming adjustments and cleanup --- .../AppController.cs | 8 ++-- .../ConnectStatus.cs | 20 --------- .../DisconnectReason.cs | 10 +++++ ...tatus.cs.meta => DisconnectReason.cs.meta} | 0 .../DynamicPrefabManager.cs | 42 +++++++++---------- 5 files changed, 35 insertions(+), 45 deletions(-) delete mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectStatus.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DisconnectReason.cs rename Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/{ConnectStatus.cs.meta => DisconnectReason.cs.meta} (100%) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs index 273885a0c..6441aab89 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs @@ -31,14 +31,14 @@ public override void OnDestroy() base.OnDestroy(); } - void OnConnectionStatusReceived(ConnectStatus status, FastBufferReader reader) + void OnConnectionStatusReceived(DisconnectReason status, FastBufferReader reader) { switch (status) { - case ConnectStatus.Undefined: + case DisconnectReason.Undefined: m_ConnectionUI.SetActive(true); break; - case ConnectStatus.ClientNeedsToPreload: + case DisconnectReason.ClientNeedsToPreload: break; default: throw new ArgumentOutOfRangeException(nameof(status), status, null); @@ -67,7 +67,7 @@ public override void OnNetworkSpawn() public async void OnClickedSpawnWithVisibility() { var randomPrefab = m_DynamicPrefabRefs[Random.Range(0, m_DynamicPrefabRefs.Count)]; - var spawnedObject = await m_DynamicPrefabManager.SpawnWithVisibilitySystem(randomPrefab.AssetGUID, Random.insideUnitCircle * 5, Quaternion.identity); + var spawnedObject = await m_DynamicPrefabManager.SpawnImmediatelyAndHideUntilPrefabIsLoadedOnClient(randomPrefab.AssetGUID, Random.insideUnitCircle * 5, Quaternion.identity); } public async void OnClickedTrySpawnSynchronously() diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectStatus.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectStatus.cs deleted file mode 100644 index 5eaa49c49..000000000 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectStatus.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; - -namespace Game -{ - public enum ConnectStatus - { - Undefined, - //Success, //client successfully connected. This may also be a successful reconnect. - ClientNeedsToPreload, //client needs to preload the dynamic prefabs before connecting - // ServerFull, //can't join, server is already at capacity. - // LoggedInAgain, //logged in on a separate client, causing this one to be kicked out. - // UserRequestedDisconnect, //Intentional Disconnect triggered by the user. - // GenericDisconnect, //server disconnected, but no specific reason given. - // Reconnecting, //client lost connection and is attempting to reconnect. - // IncompatibleBuildType, //client build type is incompatible with server. - // HostEndedSession, //host intentionally ended the session. - // StartHostFailed, // server failed to bind - // StartClientFailed // failed to connect to server and/or invalid network endpoint - } -} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DisconnectReason.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DisconnectReason.cs new file mode 100644 index 000000000..902a16846 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DisconnectReason.cs @@ -0,0 +1,10 @@ +using System; + +namespace Game +{ + public enum DisconnectReason + { + Undefined, + ClientNeedsToPreload, //client needs to preload the dynamic prefabs before connecting + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectStatus.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DisconnectReason.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectStatus.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DisconnectReason.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs index c0185e6c4..aa439708c 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs @@ -18,14 +18,14 @@ public sealed class DynamicPrefabManager : NetworkBehaviour [SerializeField] float m_SpawnTimeoutInSeconds; [SerializeField] NetworkManager m_NetworkManager; - int m_CountOfClientsThatLoadedThePrefab = 0; - float m_SpawnTimeoutTimer = 0; + int m_SynchronousSpawnAckCount = 0; + float m_SynchronousSpawnTimeoutTimer = 0; int m_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; Dictionary> m_LoadedDynamicPrefabResourceHandles = new Dictionary>(); List m_DynamicPrefabGUIDs = new List(); //cached list to avoid GC - public event Action OnConnectionStatusReceived; + public event Action OnConnectionStatusReceived; string m_ConnectAddress; ushort m_Port; @@ -92,15 +92,15 @@ public override void OnDestroy() async void ReceiveServerToClientSetDisconnectReason_CustomMessage(ulong clientID, FastBufferReader reader) { - reader.ReadValueSafe(out ConnectStatus status); + reader.ReadValueSafe(out DisconnectReason status); switch (status) { - case ConnectStatus.Undefined: + case DisconnectReason.Undefined: Debug.Log("Undefined"); m_NetworkManager.Shutdown(); break; - case ConnectStatus.ClientNeedsToPreload: + case DisconnectReason.ClientNeedsToPreload: { m_NetworkManager.Shutdown(); Debug.Log("Client needs to preload"); @@ -121,14 +121,14 @@ async void ReceiveServerToClientSetDisconnectReason_CustomMessage(ulong clientID /// Sends a DisconnectReason to the indicated client. This should only be done on the server, prior to disconnecting the client. /// /// id of the client to send to - /// The reason for the upcoming disconnect. + /// The reason for the upcoming disconnect. /// - void SendServerToClientSetDisconnectReason(ulong clientID, ConnectStatus status, AddressableGUIDCollection addressableGUIDCollection) + void SendServerToClientDisconnectReason(ulong clientID, DisconnectReason disconnectReason, AddressableGUIDCollection addressableGUIDCollection) { int guidCollectionSize = addressableGUIDCollection.GetSizeInBytes(); - var writer = new FastBufferWriter(sizeof(ConnectStatus) + guidCollectionSize, Allocator.Temp); - writer.WriteValueSafe(status); + var writer = new FastBufferWriter(sizeof(DisconnectReason) + guidCollectionSize, Allocator.Temp); + writer.WriteValueSafe(disconnectReason); writer.WriteValueSafe(addressableGUIDCollection); m_NetworkManager.CustomMessagingManager.SendNamedMessage(nameof(ReceiveServerToClientSetDisconnectReason_CustomMessage), clientID, writer); @@ -181,7 +181,7 @@ void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request return; } - StartCoroutine(WaitToDenyApproval(clientId, ConnectStatus.ClientNeedsToPreload, m_LoadedDynamicPrefabResourceHandles.Keys)); + StartCoroutine(WaitToDenyApproval(clientId, DisconnectReason.ClientNeedsToPreload, m_LoadedDynamicPrefabResourceHandles.Keys)); void Approve() { @@ -199,14 +199,14 @@ void ImmediateDeny() // This could happen after an auth check on a service or because of gameplay reasons (server full, wrong build version, etc) // Since network objects haven't synced yet (still in the approval process), we need to send a custom message to clients, wait for // UTP to update a frame and flush that message, then give our response to NetworkManager's connection approval process, with a denied approval. - IEnumerator WaitToDenyApproval(ulong clientID, ConnectStatus status, ICollection addressableGUIDs) + IEnumerator WaitToDenyApproval(ulong clientID, DisconnectReason status, ICollection addressableGUIDs) { response.Pending = true; // give some time for server to send connection status message to clients response.Approved = false; m_DynamicPrefabGUIDs.Clear(); m_DynamicPrefabGUIDs.AddRange(m_LoadedDynamicPrefabResourceHandles.Keys); - SendServerToClientSetDisconnectReason(clientID, status, new AddressableGUIDCollection(){GUIDs = m_DynamicPrefabGUIDs.ToArray()}); + SendServerToClientDisconnectReason(clientID, status, new AddressableGUIDCollection(){GUIDs = m_DynamicPrefabGUIDs.ToArray()}); yield return null; // wait a frame so UTP can flush it's messages on next update response.Pending = false; // connection approval process can be finished. } @@ -234,24 +234,24 @@ IEnumerator WaitToDenyApproval(ulong clientID, ConnectStatus status, ICollection return (true, obj); } - m_CountOfClientsThatLoadedThePrefab = 0; - m_SpawnTimeoutTimer = 0; + m_SynchronousSpawnAckCount = 0; + m_SynchronousSpawnTimeoutTimer = 0; Debug.Log("Loading dynamic prefab on the clients..."); LoadAddressableClientRpc(assetGuid); int requiredAcknowledgementsCount = IsHost ? m_NetworkManager.ConnectedClients.Count - 1 : m_NetworkManager.ConnectedClients.Count; - while (m_SpawnTimeoutTimer < m_SpawnTimeoutInSeconds) + while (m_SynchronousSpawnTimeoutTimer < m_SpawnTimeoutInSeconds) { - if (m_CountOfClientsThatLoadedThePrefab >= requiredAcknowledgementsCount) + if (m_SynchronousSpawnAckCount >= requiredAcknowledgementsCount) { - Debug.Log($"All clients have loaded the prefab in {m_SpawnTimeoutTimer} seconds, spawning the prefab on the server..."); + Debug.Log($"All clients have loaded the prefab in {m_SynchronousSpawnTimeoutTimer} seconds, spawning the prefab on the server..."); var obj = await Spawn(assetGuid); return (true, obj); } - m_SpawnTimeoutTimer += Time.deltaTime; + m_SynchronousSpawnTimeoutTimer += Time.deltaTime; await Task.Yield(); } @@ -304,7 +304,7 @@ public async Task PreloadDynamicPrefabOnServerAndStartLoadingOnAllClients(string /// /// /// - public async Task SpawnWithVisibilitySystem(string guid, Vector3 position, Quaternion rotation) + public async Task SpawnImmediatelyAndHideUntilPrefabIsLoadedOnClient(string guid, Vector3 position, Quaternion rotation) { if (IsServer) { @@ -370,7 +370,7 @@ async void Load(AddressableGUID assetGuid) [ServerRpc(RequireOwnership = false)] void AcknowledgeSuccessfulPrefabLoadServerRpc(int prefabHash, ServerRpcParams rpcParams = default) { - m_CountOfClientsThatLoadedThePrefab++; + m_SynchronousSpawnAckCount++; Debug.Log("Client acknowledged successful prefab load with hash: " + prefabHash); RecordThatClientHasLoadedAPrefab(prefabHash, rpcParams.Receive.SenderClientId); From 9b3481aea6508218eafab3e3df876fd4458bbfd8 Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Wed, 30 Nov 2022 16:49:26 -0500 Subject: [PATCH 23/55] Apply suggestions from code review Co-authored-by: Sam Bellomo <71790295+SamuelBellomo@users.noreply.github.com> --- .../AddressableGUID.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUID.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUID.cs index 0ebe92ccb..24f6936fd 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUID.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUID.cs @@ -6,6 +6,7 @@ namespace Game { public struct AddressableGUID : INetworkSerializable { + // could use a byte or a short if client and server has the same list in the same order (use the index in the list instead of the actualy 128 bits for a full GUID) public FixedString128Bytes Value; public void NetworkSerialize(BufferSerializer serializer) where T : IReaderWriter From 98ca264fbfd31a505370fd425d2bf12b7569d826 Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Wed, 30 Nov 2022 16:49:52 -0500 Subject: [PATCH 24/55] Update Basic/DyanmicPrefabs/README.md Co-authored-by: Sam Bellomo <71790295+SamuelBellomo@users.noreply.github.com> --- Basic/DyanmicPrefabs/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Basic/DyanmicPrefabs/README.md b/Basic/DyanmicPrefabs/README.md index 0be08cdd1..83d79b8d2 100644 --- a/Basic/DyanmicPrefabs/README.md +++ b/Basic/DyanmicPrefabs/README.md @@ -5,7 +5,7 @@ This sample showcases the available use-cases for the dynamic prefab system, whi ## Sample feature Dynamic prefabs feature allows the developer to add a new prefab to the network prefab list in runtime. -For simplicity, this sample uses Addressables to load the dynamic prefab, however any GameObject with a NetworkObject component can be used, regardless of it's source. +For simplicity, this sample uses Addressables to load the dynamic prefab, however any GameObject with a NetworkObject component can be used, regardless of it's source (think User Generated Content (UGC)). There are several limitations to this API: - If you have NetworkConfig.ForceSamePrefabs enabled, you can only modify your prefab lists before starting From 208583e85a69ecc78bed23aedaa3942582a926d8 Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Wed, 30 Nov 2022 16:56:00 -0500 Subject: [PATCH 25/55] updated readmer --- Basic/DyanmicPrefabs/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Basic/DyanmicPrefabs/README.md b/Basic/DyanmicPrefabs/README.md index 0be08cdd1..ac1067fb8 100644 --- a/Basic/DyanmicPrefabs/README.md +++ b/Basic/DyanmicPrefabs/README.md @@ -24,4 +24,4 @@ There are several limitations to this API: Based on these limitations the following use cases are covered in the sample: - PreloadingSample.cs - this is the simplest case of a dynamic prefab - we just add it to the list of prefabs before we connect on all the peers - - SparseLoadingNoLatejoinSample.cs - this is a more complex case where the server spawns things that the client haven't yet loaded, but with the ability to latejoin or reconnect disabled after the "game session" has started. + - AppController.cs and DynamicPrefabManager.cs - this is a more complex case where the server spawns things that the client haven't yet loaded. There are two loading strategies - one is "synchronous" spawning, which ensures that all clients have acknowledged that they have loaded that prefab before the server actually spawns the NetworkObject. The other one is spawning the object immediately and using visibility system to hide that object from clients that haven't loaded the prefab yet (when they do acknowledge the prefab loading - the server will show the relevant hidden objects to the client). This sample also shows how we could handle the issue with initial synchronization breaking for late joiners by using some custom logic in connection approval delegate. From a953b2d027f9d1e66d995e78cbdfc07157a7ebf3 Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Wed, 30 Nov 2022 17:04:50 -0500 Subject: [PATCH 26/55] delay for addressable loadings, fix for latejoiners during synchrnonous spawns --- .../DynamicPrefabManager.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs index aa439708c..b203519d7 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs @@ -239,7 +239,8 @@ IEnumerator WaitToDenyApproval(ulong clientID, DisconnectReason status, ICollect Debug.Log("Loading dynamic prefab on the clients..."); LoadAddressableClientRpc(assetGuid); - + //load the prefab on the server, so that any late-joiner will need to load that prefab also + await LoadDynamicPrefab(assetGuid); int requiredAcknowledgementsCount = IsHost ? m_NetworkManager.ConnectedClients.Count - 1 : m_NetworkManager.ConnectedClients.Count; while (m_SynchronousSpawnTimeoutTimer < m_SpawnTimeoutInSeconds) @@ -422,6 +423,13 @@ async Task LoadDynamicPrefab(AddressableGUID guid, bool recomputeHas Debug.Log($"Loading dynamic prefab {guid.Value}"); var op = Addressables.LoadAssetAsync(guid.ToString()); var prefab = await op.Task; + + #if DEBUG + //this delay here is to make it obvious how different loading strategies differ + //atificial latency would also highlight the difference + await Task.Delay(1000); + #endif + m_NetworkManager.AddNetworkPrefab(prefab); m_LoadedDynamicPrefabResourceHandles.Add(guid, op); From 64c09d2187b9c163fdab39972113f73e1560e30f Mon Sep 17 00:00:00 2001 From: Philipp Deschain Date: Wed, 30 Nov 2022 18:00:39 -0500 Subject: [PATCH 27/55] added suggestions for further improvements --- .../DynamicPrefabManager.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs index b203519d7..fa9963c7b 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs @@ -11,6 +11,22 @@ namespace Game { + //Assumption: addressables are loadable, ie when the client tries to load it - it will not fail. + + //todo: improvement ideas: + // - a state machine for the client to handle the different states of trying to connect, beingrejected for not having prefabs, loading them, trying again etc. + // - it's possile to have more advanced logic that would for intance kick players that are consistently failing to load an addressable + // - addressable guid list could be compressed before being sent + // - instead of addressable guids the peers could exchange a `short` index that would refer to addressables in some kind of a list stored in a scriptable object. That would reduce the amount of data that's being exchanged quite drastically. + + //todo: split this large sample into several smaller scenes that show loading strategies in isolation + + //todo: if/when there is a sample that shows how to load addressable scenes + //- we probably should add some logic to NetworkSceneManager that would allow us to use Addressables scene loading + + //this sample does not cover the case of addressable usage when the client is loading custom visual prefabs and swapping out the rendering object for essentially non-dynami prefabs + + public sealed class DynamicPrefabManager : NetworkBehaviour { const int k_MaxConnectPayload = 1024; From 94f340cdc90b5056943e7e0f0b8e4e69419f9a5c Mon Sep 17 00:00:00 2001 From: Fernando Cortez Date: Thu, 5 Jan 2023 14:10:09 -0500 Subject: [PATCH 28/55] editor update to 2021.3.15f1 & NGO 1.2.0 --- Basic/DyanmicPrefabs/Packages/manifest.json | 4 ++-- Basic/DyanmicPrefabs/Packages/packages-lock.json | 4 ++-- Basic/DyanmicPrefabs/ProjectSettings/ProjectVersion.txt | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Basic/DyanmicPrefabs/Packages/manifest.json b/Basic/DyanmicPrefabs/Packages/manifest.json index 04e7acb14..482c59e79 100644 --- a/Basic/DyanmicPrefabs/Packages/manifest.json +++ b/Basic/DyanmicPrefabs/Packages/manifest.json @@ -1,11 +1,11 @@ { "dependencies": { "com.unity.addressables": "1.19.19", - "com.unity.ide.rider": "3.0.15", + "com.unity.ide.rider": "3.0.16", "com.unity.ide.visualstudio": "2.0.16", "com.unity.ide.vscode": "1.2.5", "com.unity.multiplayer.tools": "1.0.0", - "com.unity.netcode.gameobjects": "1.1.0", + "com.unity.netcode.gameobjects": "1.2.0", "com.unity.textmeshpro": "3.0.6", "com.unity.ugui": "1.0.0", "com.veriorpies.parrelsync": "https://github.com/VeriorPies/ParrelSync.git?path=/ParrelSync" diff --git a/Basic/DyanmicPrefabs/Packages/packages-lock.json b/Basic/DyanmicPrefabs/Packages/packages-lock.json index fe346176c..220d07e96 100644 --- a/Basic/DyanmicPrefabs/Packages/packages-lock.json +++ b/Basic/DyanmicPrefabs/Packages/packages-lock.json @@ -41,7 +41,7 @@ "url": "https://packages.unity.com" }, "com.unity.ide.rider": { - "version": "3.0.15", + "version": "3.0.16", "depth": 0, "source": "registry", "dependencies": { @@ -86,7 +86,7 @@ "url": "https://packages.unity.com" }, "com.unity.netcode.gameobjects": { - "version": "1.1.0", + "version": "1.2.0", "depth": 0, "source": "registry", "dependencies": { diff --git a/Basic/DyanmicPrefabs/ProjectSettings/ProjectVersion.txt b/Basic/DyanmicPrefabs/ProjectSettings/ProjectVersion.txt index a24a9771c..eabd63377 100644 --- a/Basic/DyanmicPrefabs/ProjectSettings/ProjectVersion.txt +++ b/Basic/DyanmicPrefabs/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 2021.3.7f1 -m_EditorVersionWithRevision: 2021.3.7f1 (24e8595d6d43) +m_EditorVersion: 2021.3.15f1 +m_EditorVersionWithRevision: 2021.3.15f1 (e8e88683f834) From a5427b4a9c67c1ad3cbab592bccc88130cb8490f Mon Sep 17 00:00:00 2001 From: Fernando Cortez Date: Mon, 9 Jan 2023 16:15:22 -0500 Subject: [PATCH 29/55] refactored the custommessage usage to use NGO's DisconnectReason --- .../AppController.cs | 2 +- .../ConnectionPayload.cs | 9 ++ .../DynamicPrefabManager.cs | 88 +++++++++---------- 3 files changed, 53 insertions(+), 46 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs index 6441aab89..509a4bedd 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs @@ -31,7 +31,7 @@ public override void OnDestroy() base.OnDestroy(); } - void OnConnectionStatusReceived(DisconnectReason status, FastBufferReader reader) + void OnConnectionStatusReceived(DisconnectReason status) { switch (status) { diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectionPayload.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectionPayload.cs index 8bda061db..f33f118c4 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectionPayload.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectionPayload.cs @@ -1,4 +1,6 @@ using System; +using System.Collections.Generic; +using UnityEngine; namespace Game { @@ -7,4 +9,11 @@ public class ConnectionPayload { public int HashOfDynamicPrefabGUIDs; } + + [Serializable] + public class DisconnectionPayload + { + public DisconnectReason reason; + public List guids; + } } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs index fa9963c7b..90a1b09f5 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs @@ -1,8 +1,7 @@ using System; -using System.Collections; using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; -using Unity.Collections; using Unity.Netcode; using Unity.Netcode.Transports.UTP; using UnityEngine; @@ -41,7 +40,7 @@ public sealed class DynamicPrefabManager : NetworkBehaviour Dictionary> m_LoadedDynamicPrefabResourceHandles = new Dictionary>(); List m_DynamicPrefabGUIDs = new List(); //cached list to avoid GC - public event Action OnConnectionStatusReceived; + public event Action OnConnectionStatusReceived; string m_ConnectAddress; ushort m_Port; @@ -85,7 +84,22 @@ public void StartClient(string connectAddress, ushort port) m_NetworkManager.NetworkConfig.ConnectionData = payloadBytes; m_NetworkManager.StartClient(); - m_NetworkManager.CustomMessagingManager.RegisterNamedMessageHandler(nameof(ReceiveServerToClientSetDisconnectReason_CustomMessage), ReceiveServerToClientSetDisconnectReason_CustomMessage); + m_NetworkManager.OnClientDisconnectCallback += ClientDisconnected; + } + + async void ClientDisconnected(ulong client) + { + m_NetworkManager.OnClientDisconnectCallback -= ClientDisconnected; + + if (string.IsNullOrEmpty(m_NetworkManager.DisconnectReason)) + { + return; + } + + var rejectionPayload = JsonUtility.FromJson(m_NetworkManager.DisconnectReason); + var addressableGuidCollection = new AddressableGUIDCollection() { GUIDs = rejectionPayload.guids.Select(item => new AddressableGUID() { Value = item }).ToArray() }; + + ReceiveDisconnectReason(rejectionPayload.reason, addressableGuidCollection); } public void StartHost(string connectAddress, ushort port) @@ -106,10 +120,8 @@ public override void OnDestroy() base.OnDestroy(); } - async void ReceiveServerToClientSetDisconnectReason_CustomMessage(ulong clientID, FastBufferReader reader) + async void ReceiveDisconnectReason(DisconnectReason status, AddressableGUIDCollection addressableGuidCollection) { - reader.ReadValueSafe(out DisconnectReason status); - switch (status) { case DisconnectReason.Undefined: @@ -120,8 +132,7 @@ async void ReceiveServerToClientSetDisconnectReason_CustomMessage(ulong clientID { m_NetworkManager.Shutdown(); Debug.Log("Client needs to preload"); - reader.ReadValueSafe(out AddressableGUIDCollection addressableGUIDCollection); - await LoadDynamicPrefabs(addressableGUIDCollection); + await LoadDynamicPrefabs(addressableGuidCollection); Debug.Log("Restarting client"); StartClient(m_ConnectAddress, m_Port); } @@ -130,24 +141,7 @@ async void ReceiveServerToClientSetDisconnectReason_CustomMessage(ulong clientID throw new ArgumentOutOfRangeException(); } - OnConnectionStatusReceived?.Invoke(status, reader); - } - - /// - /// Sends a DisconnectReason to the indicated client. This should only be done on the server, prior to disconnecting the client. - /// - /// id of the client to send to - /// The reason for the upcoming disconnect. - /// - void SendServerToClientDisconnectReason(ulong clientID, DisconnectReason disconnectReason, AddressableGUIDCollection addressableGUIDCollection) - { - int guidCollectionSize = addressableGUIDCollection.GetSizeInBytes(); - - var writer = new FastBufferWriter(sizeof(DisconnectReason) + guidCollectionSize, Allocator.Temp); - writer.WriteValueSafe(disconnectReason); - writer.WriteValueSafe(addressableGUIDCollection); - - m_NetworkManager.CustomMessagingManager.SendNamedMessage(nameof(ReceiveServerToClientSetDisconnectReason_CustomMessage), clientID, writer); + OnConnectionStatusReceived?.Invoke(status); } void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) @@ -196,9 +190,29 @@ void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request return; } - - StartCoroutine(WaitToDenyApproval(clientId, DisconnectReason.ClientNeedsToPreload, m_LoadedDynamicPrefabResourceHandles.Keys)); + // In order for clients to not just get disconnected with no feedback, the server needs to tell the client + // why it disconnected it. This could happen after an auth check on a service or because of gameplay + // reasons (server full, wrong build version, etc). + // The server can do so via the DisconnectReason in the ConnectionApprovalResponse. The guids of the prefabs + // the client will need to load will be sent, such that the client loads the needed prefabs, and reconnects. + + // A note: DisconnectReason will not be written to if the string is too large in size. This should be used + // only to tell the client "why" it failed -- the client should instead use services like UGS to fetch the + // relevant data it needs to fetch & download. + + m_DynamicPrefabGUIDs.Clear(); + m_DynamicPrefabGUIDs.AddRange(m_LoadedDynamicPrefabResourceHandles.Keys); + + var rejectionPayload = new DisconnectionPayload() + { + reason = DisconnectReason.ClientNeedsToPreload, + guids = m_DynamicPrefabGUIDs.Select(item => item.ToString()).ToList() + }; + + response.Reason = JsonUtility.ToJson(rejectionPayload); + ImmediateDeny(); + void Approve() { response.Approved = true; @@ -210,22 +224,6 @@ void ImmediateDeny() response.Approved = false; response.CreatePlayerObject = false; } - - // In order for clients to not just get disconnected with no feedback, the server needs to tell the client why it disconnected it. - // This could happen after an auth check on a service or because of gameplay reasons (server full, wrong build version, etc) - // Since network objects haven't synced yet (still in the approval process), we need to send a custom message to clients, wait for - // UTP to update a frame and flush that message, then give our response to NetworkManager's connection approval process, with a denied approval. - IEnumerator WaitToDenyApproval(ulong clientID, DisconnectReason status, ICollection addressableGUIDs) - { - response.Pending = true; // give some time for server to send connection status message to clients - response.Approved = false; - - m_DynamicPrefabGUIDs.Clear(); - m_DynamicPrefabGUIDs.AddRange(m_LoadedDynamicPrefabResourceHandles.Keys); - SendServerToClientDisconnectReason(clientID, status, new AddressableGUIDCollection(){GUIDs = m_DynamicPrefabGUIDs.ToArray()}); - yield return null; // wait a frame so UTP can flush it's messages on next update - response.Pending = false; // connection approval process can be finished. - } } /// From dc855e3e4cb6c15bb49356ccaf7e90d08f06f158 Mon Sep 17 00:00:00 2001 From: Fernando Cortez Date: Tue, 17 Jan 2023 15:21:48 -0500 Subject: [PATCH 30/55] connection flow converted to a state machine --- .../Assets/Prefabs/ConnectionManager.prefab | 50 +++++++ .../Prefabs/ConnectionManager.prefab.meta | 7 + .../01_Server Auth Dynamic Prefabs.unity | 87 ++++++++++++- .../AppController.cs | 49 +++---- .../DynamicPrefabManager.cs | 94 +++----------- .../Assets/Scripts/ConnectionManager.cs | 122 ++++++++++++++++++ .../Assets/Scripts/ConnectionManager.cs.meta | 11 ++ .../Assets/Scripts/ConnectionState.cs | 34 +++++ .../Assets/Scripts/ConnectionState.cs.meta | 11 ++ .../Assets/Scripts/ConnectionStates.meta | 8 ++ .../ConnectionStates/ClientConnectedState.cs | 25 ++++ .../ClientConnectedState.cs.meta | 11 ++ .../ConnectionStates/ClientConnectingState.cs | 73 +++++++++++ .../ClientConnectingState.cs.meta | 11 ++ .../ConnectionStates/ClientPreloadingState.cs | 44 +++++++ .../ClientPreloadingState.cs.meta | 11 ++ .../Scripts/ConnectionStates/HostingState.cs | 31 +++++ .../ConnectionStates/HostingState.cs.meta | 11 ++ .../Scripts/ConnectionStates/OfflineState.cs | 35 +++++ .../ConnectionStates/OfflineState.cs.meta | 11 ++ .../ConnectionStates/StartingHostState.cs | 59 +++++++++ .../StartingHostState.cs.meta | 11 ++ 22 files changed, 702 insertions(+), 104 deletions(-) create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/ConnectionManager.prefab create mode 100644 Basic/DyanmicPrefabs/Assets/Prefabs/ConnectionManager.prefab.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/ConnectionManager.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/ConnectionManager.cs.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/ConnectionState.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/ConnectionState.cs.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectedState.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectedState.cs.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectingState.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectingState.cs.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientPreloadingState.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientPreloadingState.cs.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/HostingState.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/HostingState.cs.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/OfflineState.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/OfflineState.cs.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/StartingHostState.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/StartingHostState.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/ConnectionManager.prefab b/Basic/DyanmicPrefabs/Assets/Prefabs/ConnectionManager.prefab new file mode 100644 index 000000000..879860726 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/ConnectionManager.prefab @@ -0,0 +1,50 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &5737377586247081931 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3432682422254998110} + - component: {fileID: -4564065145618460974} + m_Layer: 0 + m_Name: ConnectionManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3432682422254998110 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5737377586247081931} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &-4564065145618460974 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5737377586247081931} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1d33480f8492cae4ea5d133f701bc398, type: 3} + m_Name: + m_EditorClassIdentifier: + networkManager: {fileID: 0} + maxConnectedPlayers: 4 + connectAddress: + port: diff --git a/Basic/DyanmicPrefabs/Assets/Prefabs/ConnectionManager.prefab.meta b/Basic/DyanmicPrefabs/Assets/Prefabs/ConnectionManager.prefab.meta new file mode 100644 index 000000000..b1a8e88d6 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Prefabs/ConnectionManager.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 778b8b3b1127f7f45a2b7f632070b792 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Dynamic Prefabs.unity b/Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Dynamic Prefabs.unity index e1c15685d..e86ccd8d1 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Dynamic Prefabs.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Dynamic Prefabs.unity @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 705507994} - m_IndirectSpecularColor: {r: 0.44657874, g: 0.49641275, b: 0.5748172, a: 1} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -123,6 +123,17 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!114 &320186046 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + m_PrefabInstance: {fileID: 1759026482} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1d33480f8492cae4ea5d133f701bc398, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &346372779 GameObject: m_ObjectHideFlags: 0 @@ -871,7 +882,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 17.399994, y: -184.70001} + m_AnchoredPosition: {x: 17.400024, y: -184.70001} m_SizeDelta: {x: 521.65, y: 30} m_Pivot: {x: 0, y: 1} --- !u!114 &876541991 @@ -1146,6 +1157,8 @@ MonoBehaviour: m_EditorAssetChanged: 0 m_ConnectionUI: {fileID: 346372779} m_SpawnUI: {fileID: 663159615} + m_ConnectionManager: {fileID: 320186046} + m_NetworkManager: {fileID: 2054638265} --- !u!114 &989424454 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1160,6 +1173,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_SpawnTimeoutInSeconds: 3 m_NetworkManager: {fileID: 2054638265} + m_ArtificialDelayMiliseconds: 1000 --- !u!1 &1157890485 GameObject: m_ObjectHideFlags: 0 @@ -1770,7 +1784,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 17.4, y: -102.5} + m_AnchoredPosition: {x: 17.400024, y: -102.5} m_SizeDelta: {x: 521.65, y: 30} m_Pivot: {x: 0, y: 1} --- !u!114 &1684107770 @@ -1904,7 +1918,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 17.399994, y: -142.20001} + m_AnchoredPosition: {x: 17.400024, y: -142.20001} m_SizeDelta: {x: 521.6509, y: 30} m_Pivot: {x: 0, y: 1} --- !u!114 &1698216264 @@ -2001,6 +2015,71 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1698216262} m_CullTransparentMesh: 1 +--- !u!1001 &1759026482 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: networkManager + value: + objectReference: {fileID: 2054638265} + - target: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: dynamicPrefabManager + value: + objectReference: {fileID: 989424454} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5737377586247081931, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_Name + value: ConnectionManager + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} --- !u!1 &2054638263 GameObject: m_ObjectHideFlags: 0 diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs index 509a4bedd..a4cc7c959 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs @@ -10,52 +10,41 @@ namespace Game { public sealed class AppController : NetworkBehaviour { - ushort m_Port = 7777; + // placeholder until this is fetched from UI string m_ConnectAddress = "127.0.0.1"; + + // placeholder until this is fetched from UI + ushort m_Port = 7777; [SerializeField] DynamicPrefabManager m_DynamicPrefabManager; + [SerializeField] List m_DynamicPrefabRefs; + [SerializeField] GameObject m_ConnectionUI; [SerializeField] GameObject m_SpawnUI; - void Awake() - { - m_DynamicPrefabManager.OnConnectionStatusReceived += OnConnectionStatusReceived; - } - + [SerializeField] + ConnectionManager m_ConnectionManager; + + public override void OnDestroy() { m_DynamicPrefabManager.UnloadAndReleaseAllDynamicPrefabs(); - m_DynamicPrefabManager.OnConnectionStatusReceived -= OnConnectionStatusReceived; base.OnDestroy(); } - - void OnConnectionStatusReceived(DisconnectReason status) - { - switch (status) - { - case DisconnectReason.Undefined: - m_ConnectionUI.SetActive(true); - break; - case DisconnectReason.ClientNeedsToPreload: - break; - default: - throw new ArgumentOutOfRangeException(nameof(status), status, null); - } - } public void StartClient() { Debug.Log(nameof(StartClient)); - m_DynamicPrefabManager.StartClient(m_ConnectAddress, m_Port); + m_ConnectionManager.StartClientIp(m_ConnectAddress, m_Port); m_ConnectionUI.SetActive(false); } public void StartHost() { Debug.Log(nameof(StartHost)); - m_DynamicPrefabManager.StartHost(m_ConnectAddress, m_Port); + m_ConnectionManager.StartHostIp(m_ConnectAddress, m_Port); m_ConnectionUI.SetActive(false); } @@ -63,6 +52,12 @@ public override void OnNetworkSpawn() { m_SpawnUI.SetActive(IsServer); } + + public override void OnNetworkDespawn() + { + m_ConnectionUI.SetActive(true); + m_SpawnUI.SetActive(true); + } public async void OnClickedSpawnWithVisibility() { @@ -87,5 +82,13 @@ public async void OnClickedPreload() await Task.WhenAll(tasks); } + + // placeholder until this is triggered by UI + [ContextMenu(nameof(OnClickedShutdown))] + public void OnClickedShutdown() + { + Debug.Log(nameof(OnClickedShutdown)); + m_ConnectionManager.RequestShutdown(); + } } } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs index 90a1b09f5..3df098535 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs @@ -3,7 +3,6 @@ using System.Linq; using System.Threading.Tasks; using Unity.Netcode; -using Unity.Netcode.Transports.UTP; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.ResourceManagement.AsyncOperations; @@ -29,22 +28,26 @@ namespace Game public sealed class DynamicPrefabManager : NetworkBehaviour { const int k_MaxConnectPayload = 1024; + const int k_EmptyDynamicPrefabHash = -1; + [SerializeField] float m_SpawnTimeoutInSeconds; + [SerializeField] NetworkManager m_NetworkManager; + + [SerializeField] + int m_ArtificialDelayMilliseconds = 1000; int m_SynchronousSpawnAckCount = 0; + float m_SynchronousSpawnTimeoutTimer = 0; int m_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; + Dictionary> m_LoadedDynamicPrefabResourceHandles = new Dictionary>(); + List m_DynamicPrefabGUIDs = new List(); //cached list to avoid GC - public event Action OnConnectionStatusReceived; - - string m_ConnectAddress; - ushort m_Port; - //A storage where we keep the association between the dynamic prefab (hash of it's GUID) and the clients that have it loaded Dictionary> m_PrefabHashToClientIds = new Dictionary>(); @@ -64,54 +67,15 @@ void RecordThatClientHasLoadedAPrefab(int assetGuidHash, ulong clientId) m_PrefabHashToClientIds.Add(assetGuidHash, new HashSet() {clientId}); } } - - public void StartClient(string connectAddress, ushort port) + + public byte[] GenerateRequestPayload() { - Debug.Log(nameof(StartClient)); - m_ConnectAddress = connectAddress; - m_Port = port; - - m_NetworkManager.NetworkConfig.ForceSamePrefabs = false; - var payload = JsonUtility.ToJson(new ConnectionPayload() { HashOfDynamicPrefabGUIDs = m_HashOfDynamicPrefabGUIDs }); - var transport = m_NetworkManager.GetComponent(); - transport.SetConnectionData(connectAddress, port); - var payloadBytes = System.Text.Encoding.UTF8.GetBytes(payload); - - m_NetworkManager.NetworkConfig.ConnectionData = payloadBytes; - m_NetworkManager.StartClient(); - m_NetworkManager.OnClientDisconnectCallback += ClientDisconnected; - } - - async void ClientDisconnected(ulong client) - { - m_NetworkManager.OnClientDisconnectCallback -= ClientDisconnected; - - if (string.IsNullOrEmpty(m_NetworkManager.DisconnectReason)) - { - return; - } - - var rejectionPayload = JsonUtility.FromJson(m_NetworkManager.DisconnectReason); - var addressableGuidCollection = new AddressableGUIDCollection() { GUIDs = rejectionPayload.guids.Select(item => new AddressableGUID() { Value = item }).ToArray() }; - - ReceiveDisconnectReason(rejectionPayload.reason, addressableGuidCollection); - } - - public void StartHost(string connectAddress, ushort port) - { - Debug.Log(nameof(StartHost)); - m_ConnectAddress = connectAddress; - m_Port = port; - m_NetworkManager.NetworkConfig.ForceSamePrefabs = false; - var transport = m_NetworkManager.GetComponent(); - transport.SetConnectionData(connectAddress, port); - m_NetworkManager.ConnectionApprovalCallback = ConnectionApprovalCallback; - m_NetworkManager.StartHost(); + return System.Text.Encoding.UTF8.GetBytes(payload); } public override void OnDestroy() @@ -119,32 +83,8 @@ public override void OnDestroy() UnloadAndReleaseAllDynamicPrefabs(); base.OnDestroy(); } - - async void ReceiveDisconnectReason(DisconnectReason status, AddressableGUIDCollection addressableGuidCollection) - { - switch (status) - { - case DisconnectReason.Undefined: - Debug.Log("Undefined"); - m_NetworkManager.Shutdown(); - break; - case DisconnectReason.ClientNeedsToPreload: - { - m_NetworkManager.Shutdown(); - Debug.Log("Client needs to preload"); - await LoadDynamicPrefabs(addressableGuidCollection); - Debug.Log("Restarting client"); - StartClient(m_ConnectAddress, m_Port); - } - break; - default: - throw new ArgumentOutOfRangeException(); - } - - OnConnectionStatusReceived?.Invoke(status); - } - void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) + public void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) { Debug.Log("Client is trying to connect " + request.ClientNetworkId); var connectionData = request.Payload; @@ -410,7 +350,7 @@ void ShowHiddenObjectsToClient(int prefabHash, ulong clientId) } } - async Task> LoadDynamicPrefabs(AddressableGUIDCollection addressableGUIDCollection) + public async Task> LoadDynamicPrefabs(AddressableGUIDCollection addressableGUIDCollection) { var tasks = new List>(); @@ -428,7 +368,7 @@ async Task> LoadDynamicPrefabs(AddressableGUIDCollection addre async Task LoadDynamicPrefab(AddressableGUID guid, bool recomputeHash = true) { - if(m_LoadedDynamicPrefabResourceHandles.ContainsKey(guid)) + if (m_LoadedDynamicPrefabResourceHandles.ContainsKey(guid)) { Debug.Log($"Prefab has already been loaded, skipping loading this time | {guid}"); return m_LoadedDynamicPrefabResourceHandles[guid].Result; @@ -440,8 +380,8 @@ async Task LoadDynamicPrefab(AddressableGUID guid, bool recomputeHas #if DEBUG //this delay here is to make it obvious how different loading strategies differ - //atificial latency would also highlight the difference - await Task.Delay(1000); + //artificial latency would also highlight the difference + await Task.Delay(m_ArtificialDelayMilliseconds); #endif m_NetworkManager.AddNetworkPrefab(prefab); diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionManager.cs b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionManager.cs new file mode 100644 index 000000000..06bbe411a --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionManager.cs @@ -0,0 +1,122 @@ +using System; +using Unity.Netcode; +using UnityEngine; + +namespace Game +{ + /// + /// A state machine to track a client's connection state. + /// + public class ConnectionManager : MonoBehaviour + { + public DynamicPrefabManager dynamicPrefabManager; + + public NetworkManager networkManager; + + ConnectionState m_CurrentState; + + internal OfflineState m_Offline; + + internal ClientConnectingState m_ClientConnecting; + + internal ClientConnectedState m_ClientConnected; + + internal ClientPreloadingState m_ClientPreloading; + + internal StartingHostState m_StartingHost; + + internal HostingState m_Hosting; + + internal string m_ConnectAddress; + + internal ushort m_Port; + + void Awake() + { + DontDestroyOnLoad(this); + + m_Offline = new OfflineState(this); + m_ClientConnecting = new ClientConnectingState(this); + m_ClientConnected = new ClientConnectedState(this); + m_ClientPreloading = new ClientPreloadingState(this); + m_StartingHost = new StartingHostState(this); + m_Hosting = new HostingState(this); + } + + void Start() + { + m_CurrentState = m_Offline; + + networkManager.OnClientConnectedCallback += OnClientConnectedCallback; + networkManager.OnClientDisconnectCallback += OnClientDisconnectCallback; + networkManager.OnServerStarted += OnServerStarted; + networkManager.ConnectionApprovalCallback += ApprovalCheck; + networkManager.OnTransportFailure += OnTransportFailure; + } + + void OnDestroy() + { + networkManager.OnClientConnectedCallback -= OnClientConnectedCallback; + networkManager.OnClientDisconnectCallback -= OnClientDisconnectCallback; + networkManager.OnServerStarted -= OnServerStarted; + networkManager.ConnectionApprovalCallback -= ApprovalCheck; + networkManager.OnTransportFailure -= OnTransportFailure; + } + + void OnClientConnectedCallback(ulong clientId) + { + m_CurrentState.OnClientConnected(clientId); + } + + void OnClientDisconnectCallback(ulong clientId) + { + m_CurrentState.OnClientDisconnect(clientId); + } + + void OnServerStarted() + { + m_CurrentState.OnServerStarted(); + } + + void ApprovalCheck(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) + { + m_CurrentState.ApprovalCheck(request, response); + } + + void OnTransportFailure() + { + m_CurrentState.OnTransportFailure(); + } + + internal void ChangeState(ConnectionState nextState) + { + Debug.Log($"{name}: Changed connection state from {m_CurrentState.GetType().Name} to {nextState.GetType().Name}."); + + if (m_CurrentState != null) + { + m_CurrentState.Exit(); + } + m_CurrentState = nextState; + m_CurrentState.Enter(); + } + + public void StartClientIp(string ipaddress, ushort port) + { + m_ConnectAddress = ipaddress; + m_Port = port; + m_CurrentState.StartClientIP(ipaddress, port); + } + + public void StartHostIp(string ipaddress, ushort port) + { + m_ConnectAddress = ipaddress; + m_Port = port; + m_CurrentState.StartHostIP(ipaddress, port); + } + + public void RequestShutdown() + { + m_CurrentState.OnUserRequestedShutdown(); + } + } +} \ No newline at end of file diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionManager.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionManager.cs.meta new file mode 100644 index 000000000..837a065a2 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1d33480f8492cae4ea5d133f701bc398 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionState.cs new file mode 100644 index 000000000..b51ab24ba --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionState.cs @@ -0,0 +1,34 @@ +using System; +using Unity.Netcode; +using UnityEngine; + +namespace Game +{ + /// + /// Base class representing a connection state. + /// + abstract class ConnectionState + { + protected ConnectionManager m_ConnectionManager; + + public abstract void Enter(); + + public abstract void Exit(); + + public virtual void OnClientConnected(ulong clientId) { } + + public virtual void OnClientDisconnect(ulong clientId) { } + + public virtual void OnServerStarted() { } + + public virtual void StartClientIP(string ipaddress, ushort port) { } + + public virtual void StartHostIP(string ipaddress, ushort port) { } + + public virtual void OnUserRequestedShutdown() { } + + public virtual void ApprovalCheck(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) { } + + public virtual void OnTransportFailure() { } + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionState.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionState.cs.meta new file mode 100644 index 000000000..537ef5c6a --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d615c411030f0fe4ca225fa5694c9c31 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates.meta b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates.meta new file mode 100644 index 000000000..35eef12ff --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0b2138d9458cdcf45ae28870553a130c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectedState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectedState.cs new file mode 100644 index 000000000..b7867095b --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectedState.cs @@ -0,0 +1,25 @@ +using UnityEngine; + +namespace Game +{ + /// + /// Connection state corresponding to a connected client. When being disconnected, transitions to the + /// ClientReconnecting state if no reason is given, or to the Offline state. + /// + class ClientConnectedState : ConnectionState + { + public ClientConnectedState(ConnectionManager connectionManager) + { + m_ConnectionManager = connectionManager; + } + + public override void Enter() { } + + public override void Exit() { } + + public override void OnUserRequestedShutdown() + { + m_ConnectionManager.ChangeState(m_ConnectionManager.m_Offline); + } + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectedState.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectedState.cs.meta new file mode 100644 index 000000000..492b2fd30 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectedState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4bf62738d2748114a8ffafd28cc35f13 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectingState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectingState.cs new file mode 100644 index 000000000..6cdf04787 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectingState.cs @@ -0,0 +1,73 @@ +using System; +using Unity.Netcode.Transports.UTP; +using UnityEngine; + +namespace Game +{ + /// + /// Connection state corresponding to when a client is attempting to connect to a server. Starts the client when + /// entering. If successful, transitions to the ClientConnected state. If not, transitions to the Offline state. + /// + class ClientConnectingState : ConnectionState + { + public ClientConnectingState(ConnectionManager connectionManager) + { + m_ConnectionManager = connectionManager; + } + + public override void Enter() + { + StartClient(); + } + + public override void Exit() { } + + void StartClient() + { + Debug.Log(nameof(StartClient)); + + m_ConnectionManager.networkManager.NetworkConfig.ForceSamePrefabs = false; + var transport = m_ConnectionManager.networkManager.GetComponent(); + transport.SetConnectionData(m_ConnectionManager.m_ConnectAddress, m_ConnectionManager.m_Port); + m_ConnectionManager.networkManager.NetworkConfig.ConnectionData = + m_ConnectionManager.dynamicPrefabManager.GenerateRequestPayload(); + m_ConnectionManager.networkManager.StartClient(); + } + + public override void OnClientConnected(ulong _) + { + m_ConnectionManager.ChangeState(m_ConnectionManager.m_ClientConnected); + } + + public override void OnClientDisconnect(ulong _) + { + // client ID is for sure ours here + var disconnectReason = m_ConnectionManager.networkManager.DisconnectReason; + if (string.IsNullOrEmpty(disconnectReason)) + { + m_ConnectionManager.ChangeState(m_ConnectionManager.m_Offline); + } + else + { + var disconnectionPayload = JsonUtility.FromJson(disconnectReason); + + switch (disconnectionPayload.reason) + { + case DisconnectReason.Undefined: + Debug.Log("Undefined"); + m_ConnectionManager.ChangeState(m_ConnectionManager.m_Offline); + break; + case DisconnectReason.ClientNeedsToPreload: + { + Debug.Log("Client needs to preload"); + m_ConnectionManager.m_ClientPreloading.disconnectionPayload = disconnectionPayload; + m_ConnectionManager.ChangeState(m_ConnectionManager.m_ClientPreloading); + } + break; + default: + throw new ArgumentOutOfRangeException(); + } + } + } + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectingState.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectingState.cs.meta new file mode 100644 index 000000000..31c74886c --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectingState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5be7272840fa61d4db96f1f4074be30d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientPreloadingState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientPreloadingState.cs new file mode 100644 index 000000000..77be28f19 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientPreloadingState.cs @@ -0,0 +1,44 @@ +using System; +using System.Linq; +using UnityEngine; + +namespace Game +{ + /// + /// Connection state corresponding to a client attempting to reconnect to a server once the server has determined + /// that the client needs to preload assets locally. This state handles parsing the information stored inside + /// the DisconnectionPayload received from NetworkManager and initiating the asynchronous process to preload assets. + /// Once the assets have been loaded locally, it will transition to the ClientConnecting state to reattempt a + /// connection. If the DisconnectReason is for whatever reason invalid, it will transition directly to the Offline + /// state. + /// + class ClientPreloadingState : ConnectionState + { + public DisconnectionPayload disconnectionPayload; + + public ClientPreloadingState(ConnectionManager connectionManager) + { + m_ConnectionManager = connectionManager; + } + + public override void Enter() + { + m_ConnectionManager.networkManager.Shutdown(); + HandleDisconnectReason(); + } + + async void HandleDisconnectReason() + { + var addressableGuidCollection = new AddressableGUIDCollection() + { + GUIDs = disconnectionPayload.guids.Select(item => new AddressableGUID() { Value = item }).ToArray() + }; + + await m_ConnectionManager.dynamicPrefabManager.LoadDynamicPrefabs(addressableGuidCollection); + Debug.Log("Restarting client"); + m_ConnectionManager.ChangeState(m_ConnectionManager.m_ClientConnecting); + } + + public override void Exit() { } + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientPreloadingState.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientPreloadingState.cs.meta new file mode 100644 index 000000000..842b3631d --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientPreloadingState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b461713133cc039449ff55dd75eaa182 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/HostingState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/HostingState.cs new file mode 100644 index 000000000..47f010b93 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/HostingState.cs @@ -0,0 +1,31 @@ +using Unity.Netcode; +using UnityEngine; + +namespace Game +{ + /// + /// Connection state corresponding to a listening host. Handles incoming client connections. When shutting down or + /// being timed out, transitions to the Offline state. + /// + class HostingState : ConnectionState + { + public HostingState(ConnectionManager connectionManager) + { + m_ConnectionManager = connectionManager; + } + + public override void Enter() { } + + public override void Exit() { } + + public override void ApprovalCheck(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) + { + m_ConnectionManager.dynamicPrefabManager.ConnectionApprovalCallback(request, response); + } + + public override void OnUserRequestedShutdown() + { + m_ConnectionManager.ChangeState(m_ConnectionManager.m_Offline); + } + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/HostingState.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/HostingState.cs.meta new file mode 100644 index 000000000..436c60284 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/HostingState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4f4702e033321534e8e35b9011a151da +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/OfflineState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/OfflineState.cs new file mode 100644 index 000000000..a84398abf --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/OfflineState.cs @@ -0,0 +1,35 @@ +using UnityEngine; + +namespace Game +{ + /// + /// Connection state corresponding to when the NetworkManager is shut down. Also, all loaded prefabs are cleared + /// from memory, and NetworkManager's NetworkPrefabs array is cleared. From this state we can transition to the + /// ClientConnecting sate, if starting as a client, or the StartingHost state, if starting as a host. + /// + class OfflineState : ConnectionState + { + public OfflineState(ConnectionManager connectionManager) + { + m_ConnectionManager = connectionManager; + } + + public override void Enter() + { + m_ConnectionManager.dynamicPrefabManager.UnloadAndReleaseAllDynamicPrefabs(); + m_ConnectionManager.networkManager.Shutdown(); + } + + public override void Exit() { } + + public override void StartClientIP(string ipaddress, ushort port) + { + m_ConnectionManager.ChangeState(m_ConnectionManager.m_ClientConnecting); + } + + public override void StartHostIP(string ipaddress, ushort port) + { + m_ConnectionManager.ChangeState(m_ConnectionManager.m_StartingHost); + } + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/OfflineState.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/OfflineState.cs.meta new file mode 100644 index 000000000..0194c4872 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/OfflineState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 90494c0256cb9b146993db72c980c8b2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/StartingHostState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/StartingHostState.cs new file mode 100644 index 000000000..d44e73db0 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/StartingHostState.cs @@ -0,0 +1,59 @@ +using Unity.Netcode; +using Unity.Netcode.Transports.UTP; +using UnityEngine; + +namespace Game +{ + /// + /// Connection state corresponding to a host starting up. Starts the host when entering the state. If successful, + /// transitions to the Hosting state, if not, transitions back to the Offline state. + /// + class StartingHostState : ConnectionState + { + public StartingHostState(ConnectionManager connectionManager) + { + m_ConnectionManager = connectionManager; + } + + public override void Enter() + { + StartHost(); + } + + public override void Exit() { } + + void StartHost() + { + Debug.Log(nameof(StartHost)); + m_ConnectionManager.networkManager.NetworkConfig.ForceSamePrefabs = false; + var transport = m_ConnectionManager.networkManager.GetComponent(); + transport.SetConnectionData(m_ConnectionManager.m_ConnectAddress, m_ConnectionManager.m_Port); + m_ConnectionManager.networkManager.StartHost(); + } + + public override void ApprovalCheck(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) + { + var clientId = request.ClientNetworkId; + // This happens when starting as a host, before the end of the StartHost call. In that case, we simply approve ourselves. + if (clientId == m_ConnectionManager.networkManager.LocalClientId) + { + // connection approval will create a player object for you + response.Approved = true; + response.CreatePlayerObject = false; + } + } + + public override void OnClientDisconnect(ulong clientId) + { + if (clientId == m_ConnectionManager.networkManager.LocalClientId) + { + m_ConnectionManager.ChangeState(m_ConnectionManager.m_Offline); + } + } + + public override void OnServerStarted() + { + m_ConnectionManager.ChangeState(m_ConnectionManager.m_Hosting); + } + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/StartingHostState.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/StartingHostState.cs.meta new file mode 100644 index 000000000..070d37981 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/StartingHostState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f4e4efdb05a4b0e48bfb3fc6a63f2960 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: From 8cc293e3fea4e28d07a1cbc3368b2674366d13aa Mon Sep 17 00:00:00 2001 From: Fernando Cortez Date: Tue, 17 Jan 2023 15:49:42 -0500 Subject: [PATCH 31/55] comments --- .../Assets/Scripts/ConnectionStates/ClientConnectedState.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectedState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectedState.cs index b7867095b..97aa46c94 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectedState.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectedState.cs @@ -3,8 +3,8 @@ namespace Game { /// - /// Connection state corresponding to a connected client. When being disconnected, transitions to the - /// ClientReconnecting state if no reason is given, or to the Offline state. + /// Connection state corresponding to a connected client. When being disconnected, it transitions to the Offline + /// state. /// class ClientConnectedState : ConnectionState { From 4a6fe8d856181faac8163c87883fed63f659fc20 Mon Sep 17 00:00:00 2001 From: Fernando Cortez Date: Thu, 19 Jan 2023 16:16:38 -0500 Subject: [PATCH 32/55] disconnection logic on connected states & logging --- .../ConnectionStates/ClientConnectedState.cs | 5 +++++ .../Assets/Scripts/ConnectionStates/HostingState.cs | 13 +++++++++++++ 2 files changed, 18 insertions(+) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectedState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectedState.cs index 97aa46c94..f4316163a 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectedState.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectedState.cs @@ -21,5 +21,10 @@ public override void OnUserRequestedShutdown() { m_ConnectionManager.ChangeState(m_ConnectionManager.m_Offline); } + + public override void OnClientDisconnect(ulong clientId) + { + m_ConnectionManager.ChangeState(m_ConnectionManager.m_Offline); + } } } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/HostingState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/HostingState.cs index 47f010b93..f5349dee8 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/HostingState.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/HostingState.cs @@ -27,5 +27,18 @@ public override void OnUserRequestedShutdown() { m_ConnectionManager.ChangeState(m_ConnectionManager.m_Offline); } + + public override void OnClientConnected(ulong clientId) + { + Debug.Log($"Client {clientId} connected"); + } + + public override void OnClientDisconnect(ulong clientId) + { + if (clientId == m_ConnectionManager.networkManager.LocalClientId) + { + m_ConnectionManager.ChangeState(m_ConnectionManager.m_Offline); + } + } } } From 9f3b5fc0a9a69fd6acd032a65bae9ee2a2e42b33 Mon Sep 17 00:00:00 2001 From: Fernando Cortez Date: Fri, 20 Jan 2023 15:05:26 -0500 Subject: [PATCH 33/55] comments --- .../DynamicPrefabManager.cs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs index 3df098535..4fb13255b 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs @@ -9,21 +9,17 @@ namespace Game { - //Assumption: addressables are loadable, ie when the client tries to load it - it will not fail. + //Assumption: Addressables are loadable, ie when the client tries to load it - it will not fail. //todo: improvement ideas: - // - a state machine for the client to handle the different states of trying to connect, beingrejected for not having prefabs, loading them, trying again etc. - // - it's possile to have more advanced logic that would for intance kick players that are consistently failing to load an addressable + // - it's possible to have more advanced logic that would for instance kick players that are consistently failing to load an addressable // - addressable guid list could be compressed before being sent - // - instead of addressable guids the peers could exchange a `short` index that would refer to addressables in some kind of a list stored in a scriptable object. That would reduce the amount of data that's being exchanged quite drastically. + // - instead of addressable guids the peers could exchange a `short` index that would refer to Addressables in some kind of a list stored in a scriptable object. That would reduce the amount of data that's being exchanged quite drastically. - //todo: split this large sample into several smaller scenes that show loading strategies in isolation - //todo: if/when there is a sample that shows how to load addressable scenes //- we probably should add some logic to NetworkSceneManager that would allow us to use Addressables scene loading - //this sample does not cover the case of addressable usage when the client is loading custom visual prefabs and swapping out the rendering object for essentially non-dynami prefabs - + //this sample does not cover the case of addressable usage when the client is loading custom visual prefabs and swapping out the rendering object for essentially non-dynamic prefabs public sealed class DynamicPrefabManager : NetworkBehaviour { @@ -152,6 +148,11 @@ public void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest response.Reason = JsonUtility.ToJson(rejectionPayload); ImmediateDeny(); + + // A note: sending large strings through Netcode is not ideal -- you'd usually want to use REST services to + // accomplish this instead. UGS services like Lobby can be a useful alternative. Another route may be to + // set ConnectionApprovalResponse's Pending flag to true, and send a CustomMessage containing the array of + // GUIDs to a client, which the client would load and reattempt a reconnection. void Approve() { From 6529353b72a44b65a6efc1128c30f89a25201c9f Mon Sep 17 00:00:00 2001 From: Fernando Cortez Date: Wed, 1 Feb 2023 11:26:20 -0500 Subject: [PATCH 34/55] restructuring of scripts and scenes --- ..._Server Auth Try Spawn Synchronously.unity | 1635 +++++++++++++++++ ...er Auth Try Spawn Synchronously.unity.meta | 3 + ... Spawn Invisible While Prefab Loads.unity} | 545 +----- ...wn Invisible While Prefab Loads.unity.meta | 3 + ...h Preload All Prefabs Asynchronously.unity | 1635 +++++++++++++++++ ...oad All Prefabs Asynchronously.unity.meta} | 0 ...erver Authoritative Synchronous Spawn.meta | 8 + .../DynamicPrefabManager.SynchronousSpawn.cs | 70 + ...amicPrefabManager.SynchronousSpawn.cs.meta | 11 + ...etwork-Invisible For Loading Clients.meta} | 0 ...er.SpawnInvisibleWhileClientLoadsPrefab.cs | 65 + ...awnInvisibleWhileClientLoadsPrefab.cs.meta | 11 + ...ritative Synchronous Load All Prefabs.meta | 3 + .../DynamicPrefabManager.PreloadAllPrefabs.cs | 34 + ...micPrefabManager.PreloadAllPrefabs.cs.meta | 11 + .../DyanmicPrefabs/Assets/Scripts/Shared.meta | 8 + .../AddressableGUID.cs | 0 .../AddressableGUID.cs.meta | 0 .../AddressableGUIDCollection.cs | 0 .../AddressableGUIDCollection.cs.meta | 0 .../AppController.cs | 1 - .../AppController.cs.meta | 0 .../Scripts/{ => Shared}/ConnectionManager.cs | 0 .../{ => Shared}/ConnectionManager.cs.meta | 0 .../ConnectionPayload.cs | 0 .../ConnectionPayload.cs.meta | 0 .../Scripts/{ => Shared}/ConnectionState.cs | 0 .../{ => Shared}/ConnectionState.cs.meta | 0 .../{ => Shared}/ConnectionStates.meta | 0 .../ConnectionStates/ClientConnectedState.cs | 0 .../ClientConnectedState.cs.meta | 0 .../ConnectionStates/ClientConnectingState.cs | 0 .../ClientConnectingState.cs.meta | 0 .../ConnectionStates/ClientPreloadingState.cs | 0 .../ClientPreloadingState.cs.meta | 0 .../ConnectionStates/HostingState.cs | 0 .../ConnectionStates/HostingState.cs.meta | 0 .../ConnectionStates/OfflineState.cs | 0 .../ConnectionStates/OfflineState.cs.meta | 0 .../ConnectionStates/StartingHostState.cs | 0 .../StartingHostState.cs.meta | 0 .../DisconnectReason.cs | 0 .../DisconnectReason.cs.meta | 0 .../DynamicPrefabManager.cs | 143 +- .../DynamicPrefabManager.cs.meta | 0 .../Scripts/{ => Shared}/NetworkManagerHud.cs | 0 .../{ => Shared}/NetworkManagerHud.cs.meta | 0 .../ProjectSettings/EditorBuildSettings.asset | 8 +- 48 files changed, 3507 insertions(+), 687 deletions(-) create mode 100644 Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Try Spawn Synchronously.unity create mode 100644 Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Try Spawn Synchronously.unity.meta rename Basic/DyanmicPrefabs/Assets/Scenes/{01_Server Auth Dynamic Prefabs.unity => 02_Server Auth Spawn Invisible While Prefab Loads.unity} (74%) create mode 100644 Basic/DyanmicPrefabs/Assets/Scenes/02_Server Auth Spawn Invisible While Prefab Loads.unity.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scenes/03_Server Auth Preload All Prefabs Asynchronously.unity rename Basic/DyanmicPrefabs/Assets/Scenes/{01_Server Auth Dynamic Prefabs.unity.meta => 03_Server Auth Preload All Prefabs Asynchronously.unity.meta} (100%) create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/01_Server Authoritative Synchronous Spawn.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/01_Server Authoritative Synchronous Spawn/DynamicPrefabManager.SynchronousSpawn.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/01_Server Authoritative Synchronous Spawn/DynamicPrefabManager.SynchronousSpawn.cs.meta rename Basic/DyanmicPrefabs/Assets/Scripts/{01_Server authoritative dynamic prefab loading across peers.meta => 02_Server Authoritative Spawn As Network-Invisible For Loading Clients.meta} (100%) create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Spawn As Network-Invisible For Loading Clients/DynamicPrefabManager.SpawnInvisibleWhileClientLoadsPrefab.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Spawn As Network-Invisible For Loading Clients/DynamicPrefabManager.SpawnInvisibleWhileClientLoadsPrefab.cs.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Load All Prefabs.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Load All Prefabs/DynamicPrefabManager.PreloadAllPrefabs.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Load All Prefabs/DynamicPrefabManager.PreloadAllPrefabs.cs.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/Shared.meta rename Basic/DyanmicPrefabs/Assets/Scripts/{01_Server authoritative dynamic prefab loading across peers => Shared}/AddressableGUID.cs (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{01_Server authoritative dynamic prefab loading across peers => Shared}/AddressableGUID.cs.meta (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{01_Server authoritative dynamic prefab loading across peers => Shared}/AddressableGUIDCollection.cs (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{01_Server authoritative dynamic prefab loading across peers => Shared}/AddressableGUIDCollection.cs.meta (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{01_Server authoritative dynamic prefab loading across peers => Shared}/AppController.cs (99%) rename Basic/DyanmicPrefabs/Assets/Scripts/{01_Server authoritative dynamic prefab loading across peers => Shared}/AppController.cs.meta (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{ => Shared}/ConnectionManager.cs (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{ => Shared}/ConnectionManager.cs.meta (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{01_Server authoritative dynamic prefab loading across peers => Shared}/ConnectionPayload.cs (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{01_Server authoritative dynamic prefab loading across peers => Shared}/ConnectionPayload.cs.meta (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{ => Shared}/ConnectionState.cs (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{ => Shared}/ConnectionState.cs.meta (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{ => Shared}/ConnectionStates.meta (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{ => Shared}/ConnectionStates/ClientConnectedState.cs (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{ => Shared}/ConnectionStates/ClientConnectedState.cs.meta (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{ => Shared}/ConnectionStates/ClientConnectingState.cs (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{ => Shared}/ConnectionStates/ClientConnectingState.cs.meta (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{ => Shared}/ConnectionStates/ClientPreloadingState.cs (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{ => Shared}/ConnectionStates/ClientPreloadingState.cs.meta (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{ => Shared}/ConnectionStates/HostingState.cs (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{ => Shared}/ConnectionStates/HostingState.cs.meta (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{ => Shared}/ConnectionStates/OfflineState.cs (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{ => Shared}/ConnectionStates/OfflineState.cs.meta (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{ => Shared}/ConnectionStates/StartingHostState.cs (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{ => Shared}/ConnectionStates/StartingHostState.cs.meta (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{01_Server authoritative dynamic prefab loading across peers => Shared}/DisconnectReason.cs (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{01_Server authoritative dynamic prefab loading across peers => Shared}/DisconnectReason.cs.meta (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{01_Server authoritative dynamic prefab loading across peers => Shared}/DynamicPrefabManager.cs (67%) rename Basic/DyanmicPrefabs/Assets/Scripts/{01_Server authoritative dynamic prefab loading across peers => Shared}/DynamicPrefabManager.cs.meta (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{ => Shared}/NetworkManagerHud.cs (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{ => Shared}/NetworkManagerHud.cs.meta (100%) diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Try Spawn Synchronously.unity b/Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Try Spawn Synchronously.unity new file mode 100644 index 000000000..9038188cf --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Try Spawn Synchronously.unity @@ -0,0 +1,1635 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 705507994} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!114 &320186046 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + m_PrefabInstance: {fileID: 1759026482} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1d33480f8492cae4ea5d133f701bc398, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &346372779 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 346372780} + m_Layer: 5 + m_Name: Connection UI + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &346372780 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 346372779} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1242229360} + - {fileID: 1541538684} + m_Father: {fileID: 1157890489} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &484367935 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 484367936} + - component: {fileID: 484367938} + - component: {fileID: 484367937} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &484367936 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 484367935} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1684107769} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &484367937 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 484367935} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Spawn - try spawn synchronously + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &484367938 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 484367935} + m_CullTransparentMesh: 1 +--- !u!1 &663159615 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 663159616} + m_Layer: 5 + m_Name: BtnGroup + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &663159616 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 663159615} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1684107769} + m_Father: {fileID: 1157890489} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &705507993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 705507995} + - component: {fileID: 705507994} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &705507994 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.802082 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &705507995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &788102163 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 788102164} + - component: {fileID: 788102166} + - component: {fileID: 788102165} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &788102164 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788102163} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1541538684} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &788102165 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788102163} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Client + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &788102166 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788102163} + m_CullTransparentMesh: 1 +--- !u!1 &832999904 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 832999905} + - component: {fileID: 832999907} + - component: {fileID: 832999906} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &832999905 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 832999904} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1242229360} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &832999906 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 832999904} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Host + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &832999907 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 832999904} + m_CullTransparentMesh: 1 +--- !u!1 &963194225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 963194228} + - component: {fileID: 963194227} + - component: {fileID: 963194226} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &963194226 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 +--- !u!20 &963194227 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &963194228 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &989424449 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 989424451} + - component: {fileID: 989424452} + - component: {fileID: 989424453} + - component: {fileID: 989424454} + m_Layer: 0 + m_Name: AppController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &989424451 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989424449} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &989424452 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989424449} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 1707886193 + AlwaysReplicateAsRoot: 0 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!114 &989424453 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989424449} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a5dd989004df436d9e1f8777007d25a5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_DynamicPrefabManager: {fileID: 989424454} + m_DynamicPrefabRefs: + - m_AssetGUID: e8635bd8fc0fa44f7ba16885494477e4 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: 580f343244c5d495aa8df840a4ef1050 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: df2e29fad7ea5480ebbd89c15ffe415e + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: 86d863718b86d4ae69be9e4e22feceb6 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: a4d5ae4542ecc49f5b2e96f39e93c0c4 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: 75a53913d13db4777b0d97d1c009b6b2 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: 05ea0814e604c4acf8ae3b7e0a5dfb07 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + m_ConnectionUI: {fileID: 346372779} + m_SpawnUI: {fileID: 663159615} + m_ConnectionManager: {fileID: 320186046} +--- !u!114 &989424454 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989424449} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7da934f3c1a34d55951e92710428a53b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SpawnTimeoutInSeconds: 3 + m_NetworkManager: {fileID: 2054638265} + m_ArtificialDelayMilliseconds: 1000 +--- !u!1 &1157890485 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1157890489} + - component: {fileID: 1157890488} + - component: {fileID: 1157890487} + - component: {fileID: 1157890486} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1157890486 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157890485} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1157890487 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157890485} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1157890488 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157890485} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1157890489 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157890485} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 663159616} + - {fileID: 346372780} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1242229359 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1242229360} + - component: {fileID: 1242229363} + - component: {fileID: 1242229362} + - component: {fileID: 1242229361} + m_Layer: 5 + m_Name: Btn - Start Host + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1242229360 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242229359} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 832999905} + m_Father: {fileID: 346372780} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 18, y: -58} + m_SizeDelta: {x: 300, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1242229361 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242229359} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1242229362} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 989424453} + m_TargetAssemblyTypeName: Game.SparseLoadingNoLatejoinSample, Assembly-CSharp + m_MethodName: StartHost + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1242229362 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242229359} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1242229363 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242229359} + m_CullTransparentMesh: 1 +--- !u!1 &1521417880 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1521417883} + - component: {fileID: 1521417882} + - component: {fileID: 1521417881} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1521417881 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1521417880} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1521417882 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1521417880} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1521417883 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1521417880} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1541538683 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1541538684} + - component: {fileID: 1541538687} + - component: {fileID: 1541538686} + - component: {fileID: 1541538685} + m_Layer: 5 + m_Name: Btn - Start Client + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1541538684 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541538683} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 788102164} + m_Father: {fileID: 346372780} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 18, y: -20} + m_SizeDelta: {x: 300, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1541538685 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541538683} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1541538686} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 989424453} + m_TargetAssemblyTypeName: Game.SparseLoadingNoLatejoinSample, Assembly-CSharp + m_MethodName: StartClient + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1541538686 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541538683} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1541538687 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541538683} + m_CullTransparentMesh: 1 +--- !u!1 &1684107768 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1684107769} + - component: {fileID: 1684107772} + - component: {fileID: 1684107771} + - component: {fileID: 1684107770} + m_Layer: 5 + m_Name: Btn - Spawn Synchronously + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1684107769 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1684107768} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 484367936} + m_Father: {fileID: 663159616} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 17.400024, y: -102.5} + m_SizeDelta: {x: 521.65, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1684107770 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1684107768} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1684107771} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 989424453} + m_TargetAssemblyTypeName: Game.AppController, Assembly-CSharp + m_MethodName: OnClickedTrySpawnSynchronously + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1684107771 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1684107768} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1684107772 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1684107768} + m_CullTransparentMesh: 1 +--- !u!1001 &1759026482 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: networkManager + value: + objectReference: {fileID: 2054638265} + - target: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: dynamicPrefabManager + value: + objectReference: {fileID: 989424454} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5737377586247081931, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_Name + value: ConnectionManager + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} +--- !u!1 &2054638263 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2054638266} + - component: {fileID: 2054638265} + - component: {fileID: 2054638264} + m_Layer: 0 + m_Name: NetworkManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2054638264 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054638263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6960e84d07fb87f47956e7a81d71c4e6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ProtocolType: 0 + m_MaxPacketQueueSize: 128 + m_MaxPayloadSize: 6144 + m_HeartbeatTimeoutMS: 500 + m_ConnectTimeoutMS: 1000 + m_MaxConnectAttempts: 60 + m_DisconnectTimeoutMS: 30000 + ConnectionData: + Address: 127.0.0.1 + Port: 7777 + ServerListenAddress: + DebugSimulator: + PacketDelayMS: 0 + PacketJitterMS: 0 + PacketDropRate: 0 +--- !u!114 &2054638265 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054638263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 593a2fe42fa9d37498c96f9a383b6521, type: 3} + m_Name: + m_EditorClassIdentifier: + RunInBackground: 1 + LogLevel: 1 + NetworkConfig: + ProtocolVersion: 0 + NetworkTransport: {fileID: 2054638264} + PlayerPrefab: {fileID: 0} + NetworkPrefabs: [] + TickRate: 30 + ClientConnectionBufferTimeout: 10 + ConnectionApproval: 1 + ConnectionData: + EnableTimeResync: 0 + TimeResyncInterval: 30 + EnsureNetworkVariableLengthSafety: 0 + EnableSceneManagement: 1 + ForceSamePrefabs: 1 + RecycleNetworkIds: 1 + NetworkIdRecycleDelay: 120 + RpcHashSize: 0 + LoadSceneTimeOut: 120 + SpawnTimeout: 1 + EnableNetworkLogs: 1 +--- !u!4 &2054638266 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054638263} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Try Spawn Synchronously.unity.meta b/Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Try Spawn Synchronously.unity.meta new file mode 100644 index 000000000..0f348e8be --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Try Spawn Synchronously.unity.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 4be06c926fab45343a99eec4b150b830 +timeCreated: 1666715239 \ No newline at end of file diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Dynamic Prefabs.unity b/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Auth Spawn Invisible While Prefab Loads.unity similarity index 74% rename from Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Dynamic Prefabs.unity rename to Basic/DyanmicPrefabs/Assets/Scenes/02_Server Auth Spawn Invisible While Prefab Loads.unity index e86ccd8d1..096589f8d 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Dynamic Prefabs.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Auth Spawn Invisible While Prefab Loads.unity @@ -172,276 +172,6 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &484367935 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 484367936} - - component: {fileID: 484367938} - - component: {fileID: 484367937} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &484367936 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 484367935} - 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_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1684107769} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &484367937 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 484367935} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: Spawn - try spawn synchronously - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4281479730 - m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 24 - m_fontSizeBase: 24 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 0 - m_fontSizeMax: 0 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 0 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &484367938 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 484367935} - m_CullTransparentMesh: 1 ---- !u!1 &541210821 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 541210822} - - component: {fileID: 541210824} - - component: {fileID: 541210823} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &541210822 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 541210821} - 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_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 876541990} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &541210823 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 541210821} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: Preload All Prefabs Async - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4281479730 - m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 24 - m_fontSizeBase: 24 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 0 - m_fontSizeMax: 0 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 0 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &541210824 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 541210821} - m_CullTransparentMesh: 1 --- !u!1 &663159615 GameObject: m_ObjectHideFlags: 0 @@ -471,8 +201,6 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1698216263} - - {fileID: 1684107769} - - {fileID: 876541990} m_Father: {fileID: 1157890489} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -845,140 +573,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 832999904} m_CullTransparentMesh: 1 ---- !u!1 &876541989 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 876541990} - - component: {fileID: 876541993} - - component: {fileID: 876541992} - - component: {fileID: 876541991} - m_Layer: 5 - m_Name: Btn - Preload All Prefabs Async - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &876541990 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 876541989} - 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_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 541210822} - m_Father: {fileID: 663159616} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 17.400024, y: -184.70001} - m_SizeDelta: {x: 521.65, y: 30} - m_Pivot: {x: 0, y: 1} ---- !u!114 &876541991 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 876541989} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 876541992} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 989424453} - m_TargetAssemblyTypeName: Game.AppController, Assembly-CSharp - m_MethodName: OnClickedPreload - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 ---- !u!114 &876541992 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 876541989} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &876541993 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 876541989} - m_CullTransparentMesh: 1 --- !u!1 &963194225 GameObject: m_ObjectHideFlags: 0 @@ -1109,7 +703,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} m_Name: m_EditorClassIdentifier: - GlobalObjectIdHash: 3033738229 + GlobalObjectIdHash: 2152691048 AlwaysReplicateAsRoot: 0 DontDestroyWithOwner: 0 AutoObjectParentSync: 1 @@ -1158,7 +752,6 @@ MonoBehaviour: m_ConnectionUI: {fileID: 346372779} m_SpawnUI: {fileID: 663159615} m_ConnectionManager: {fileID: 320186046} - m_NetworkManager: {fileID: 2054638265} --- !u!114 &989424454 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1173,7 +766,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_SpawnTimeoutInSeconds: 3 m_NetworkManager: {fileID: 2054638265} - m_ArtificialDelayMiliseconds: 1000 + m_ArtificialDelayMilliseconds: 1000 --- !u!1 &1157890485 GameObject: m_ObjectHideFlags: 0 @@ -1747,140 +1340,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1541538683} m_CullTransparentMesh: 1 ---- !u!1 &1684107768 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1684107769} - - component: {fileID: 1684107772} - - component: {fileID: 1684107771} - - component: {fileID: 1684107770} - m_Layer: 5 - m_Name: Btn - Spawn Synchronously - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1684107769 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1684107768} - 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_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 484367936} - m_Father: {fileID: 663159616} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 17.400024, y: -102.5} - m_SizeDelta: {x: 521.65, y: 30} - m_Pivot: {x: 0, y: 1} ---- !u!114 &1684107770 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1684107768} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 1684107771} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 989424453} - m_TargetAssemblyTypeName: Game.AppController, Assembly-CSharp - m_MethodName: OnClickedTrySpawnSynchronously - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 ---- !u!114 &1684107771 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1684107768} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &1684107772 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1684107768} - m_CullTransparentMesh: 1 --- !u!1 &1698216262 GameObject: m_ObjectHideFlags: 0 diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Auth Spawn Invisible While Prefab Loads.unity.meta b/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Auth Spawn Invisible While Prefab Loads.unity.meta new file mode 100644 index 000000000..2ae9849c0 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Auth Spawn Invisible While Prefab Loads.unity.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 7abfc934ee13b5a4cb68dfd571ecb4c6 +timeCreated: 1666715239 \ No newline at end of file diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/03_Server Auth Preload All Prefabs Asynchronously.unity b/Basic/DyanmicPrefabs/Assets/Scenes/03_Server Auth Preload All Prefabs Asynchronously.unity new file mode 100644 index 000000000..30ea8ce0f --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scenes/03_Server Auth Preload All Prefabs Asynchronously.unity @@ -0,0 +1,1635 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 705507994} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!114 &320186046 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + m_PrefabInstance: {fileID: 1759026482} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1d33480f8492cae4ea5d133f701bc398, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &346372779 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 346372780} + m_Layer: 5 + m_Name: Connection UI + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &346372780 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 346372779} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1242229360} + - {fileID: 1541538684} + m_Father: {fileID: 1157890489} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &541210821 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 541210822} + - component: {fileID: 541210824} + - component: {fileID: 541210823} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &541210822 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 541210821} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 876541990} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &541210823 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 541210821} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Preload All Prefabs Async + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &541210824 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 541210821} + m_CullTransparentMesh: 1 +--- !u!1 &663159615 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 663159616} + m_Layer: 5 + m_Name: BtnGroup + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &663159616 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 663159615} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 876541990} + m_Father: {fileID: 1157890489} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &705507993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 705507995} + - component: {fileID: 705507994} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &705507994 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.802082 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &705507995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &788102163 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 788102164} + - component: {fileID: 788102166} + - component: {fileID: 788102165} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &788102164 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788102163} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1541538684} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &788102165 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788102163} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Client + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &788102166 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788102163} + m_CullTransparentMesh: 1 +--- !u!1 &832999904 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 832999905} + - component: {fileID: 832999907} + - component: {fileID: 832999906} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &832999905 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 832999904} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1242229360} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &832999906 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 832999904} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Host + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &832999907 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 832999904} + m_CullTransparentMesh: 1 +--- !u!1 &876541989 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 876541990} + - component: {fileID: 876541993} + - component: {fileID: 876541992} + - component: {fileID: 876541991} + m_Layer: 5 + m_Name: Btn - Preload All Prefabs Async + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &876541990 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 876541989} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 541210822} + m_Father: {fileID: 663159616} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 17.400024, y: -184.70001} + m_SizeDelta: {x: 521.65, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &876541991 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 876541989} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 876541992} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 989424453} + m_TargetAssemblyTypeName: Game.AppController, Assembly-CSharp + m_MethodName: OnClickedPreload + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &876541992 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 876541989} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &876541993 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 876541989} + m_CullTransparentMesh: 1 +--- !u!1 &963194225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 963194228} + - component: {fileID: 963194227} + - component: {fileID: 963194226} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &963194226 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 +--- !u!20 &963194227 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &963194228 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &989424449 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 989424451} + - component: {fileID: 989424452} + - component: {fileID: 989424453} + - component: {fileID: 989424454} + m_Layer: 0 + m_Name: AppController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &989424451 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989424449} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &989424452 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989424449} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 3033738229 + AlwaysReplicateAsRoot: 0 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!114 &989424453 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989424449} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a5dd989004df436d9e1f8777007d25a5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_DynamicPrefabManager: {fileID: 989424454} + m_DynamicPrefabRefs: + - m_AssetGUID: e8635bd8fc0fa44f7ba16885494477e4 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: 580f343244c5d495aa8df840a4ef1050 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: df2e29fad7ea5480ebbd89c15ffe415e + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: 86d863718b86d4ae69be9e4e22feceb6 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: a4d5ae4542ecc49f5b2e96f39e93c0c4 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: 75a53913d13db4777b0d97d1c009b6b2 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: 05ea0814e604c4acf8ae3b7e0a5dfb07 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + m_ConnectionUI: {fileID: 346372779} + m_SpawnUI: {fileID: 663159615} + m_ConnectionManager: {fileID: 320186046} +--- !u!114 &989424454 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989424449} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7da934f3c1a34d55951e92710428a53b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SpawnTimeoutInSeconds: 3 + m_NetworkManager: {fileID: 2054638265} + m_ArtificialDelayMilliseconds: 1000 +--- !u!1 &1157890485 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1157890489} + - component: {fileID: 1157890488} + - component: {fileID: 1157890487} + - component: {fileID: 1157890486} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1157890486 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157890485} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1157890487 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157890485} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1157890488 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157890485} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1157890489 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157890485} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 663159616} + - {fileID: 346372780} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1242229359 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1242229360} + - component: {fileID: 1242229363} + - component: {fileID: 1242229362} + - component: {fileID: 1242229361} + m_Layer: 5 + m_Name: Btn - Start Host + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1242229360 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242229359} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 832999905} + m_Father: {fileID: 346372780} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 18, y: -58} + m_SizeDelta: {x: 300, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1242229361 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242229359} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1242229362} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 989424453} + m_TargetAssemblyTypeName: Game.SparseLoadingNoLatejoinSample, Assembly-CSharp + m_MethodName: StartHost + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1242229362 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242229359} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1242229363 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242229359} + m_CullTransparentMesh: 1 +--- !u!1 &1521417880 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1521417883} + - component: {fileID: 1521417882} + - component: {fileID: 1521417881} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1521417881 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1521417880} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1521417882 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1521417880} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1521417883 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1521417880} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1541538683 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1541538684} + - component: {fileID: 1541538687} + - component: {fileID: 1541538686} + - component: {fileID: 1541538685} + m_Layer: 5 + m_Name: Btn - Start Client + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1541538684 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541538683} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 788102164} + m_Father: {fileID: 346372780} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 18, y: -20} + m_SizeDelta: {x: 300, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1541538685 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541538683} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1541538686} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 989424453} + m_TargetAssemblyTypeName: Game.SparseLoadingNoLatejoinSample, Assembly-CSharp + m_MethodName: StartClient + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1541538686 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541538683} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1541538687 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541538683} + m_CullTransparentMesh: 1 +--- !u!1001 &1759026482 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: networkManager + value: + objectReference: {fileID: 2054638265} + - target: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: dynamicPrefabManager + value: + objectReference: {fileID: 989424454} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5737377586247081931, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_Name + value: ConnectionManager + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} +--- !u!1 &2054638263 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2054638266} + - component: {fileID: 2054638265} + - component: {fileID: 2054638264} + m_Layer: 0 + m_Name: NetworkManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2054638264 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054638263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6960e84d07fb87f47956e7a81d71c4e6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ProtocolType: 0 + m_MaxPacketQueueSize: 128 + m_MaxPayloadSize: 6144 + m_HeartbeatTimeoutMS: 500 + m_ConnectTimeoutMS: 1000 + m_MaxConnectAttempts: 60 + m_DisconnectTimeoutMS: 30000 + ConnectionData: + Address: 127.0.0.1 + Port: 7777 + ServerListenAddress: + DebugSimulator: + PacketDelayMS: 0 + PacketJitterMS: 0 + PacketDropRate: 0 +--- !u!114 &2054638265 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054638263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 593a2fe42fa9d37498c96f9a383b6521, type: 3} + m_Name: + m_EditorClassIdentifier: + RunInBackground: 1 + LogLevel: 1 + NetworkConfig: + ProtocolVersion: 0 + NetworkTransport: {fileID: 2054638264} + PlayerPrefab: {fileID: 0} + NetworkPrefabs: [] + TickRate: 30 + ClientConnectionBufferTimeout: 10 + ConnectionApproval: 1 + ConnectionData: + EnableTimeResync: 0 + TimeResyncInterval: 30 + EnsureNetworkVariableLengthSafety: 0 + EnableSceneManagement: 1 + ForceSamePrefabs: 1 + RecycleNetworkIds: 1 + NetworkIdRecycleDelay: 120 + RpcHashSize: 0 + LoadSceneTimeOut: 120 + SpawnTimeout: 1 + EnableNetworkLogs: 1 +--- !u!4 &2054638266 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054638263} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Dynamic Prefabs.unity.meta b/Basic/DyanmicPrefabs/Assets/Scenes/03_Server Auth Preload All Prefabs Asynchronously.unity.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Dynamic Prefabs.unity.meta rename to Basic/DyanmicPrefabs/Assets/Scenes/03_Server Auth Preload All Prefabs Asynchronously.unity.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server Authoritative Synchronous Spawn.meta b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server Authoritative Synchronous Spawn.meta new file mode 100644 index 000000000..99dc91fb3 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server Authoritative Synchronous Spawn.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5cda589957d9d8b4a9a4e47fa2c08ad8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server Authoritative Synchronous Spawn/DynamicPrefabManager.SynchronousSpawn.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server Authoritative Synchronous Spawn/DynamicPrefabManager.SynchronousSpawn.cs new file mode 100644 index 000000000..d76799fbf --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server Authoritative Synchronous Spawn/DynamicPrefabManager.SynchronousSpawn.cs @@ -0,0 +1,70 @@ +using System; +using System.Threading.Tasks; +using Unity.Netcode; +using UnityEngine; + +namespace Game +{ + public partial class DynamicPrefabManager + { + /// + /// This call attempts to spawn a prefab by it's addressable guid - it ensures that all the clients have loaded the prefab before spawning it, + /// and if the clients fail to acknowledge that they've loaded a prefab - the spawn will fail. + /// + /// + /// + public async Task<(bool Success, NetworkObject Obj)> TrySpawnDynamicPrefabSynchronously(string guid, Vector3 position, Quaternion rotation) + { + if (IsServer) + { + var assetGuid = new AddressableGUID() + { + Value = guid + }; + + if (m_LoadedDynamicPrefabResourceHandles.ContainsKey(assetGuid)) + { + Debug.Log("Prefab is already loaded by all peers, we can spawn it immediately"); + var obj = await Spawn(assetGuid); + return (true, obj); + } + + m_SynchronousSpawnAckCount = 0; + m_SynchronousSpawnTimeoutTimer = 0; + + Debug.Log("Loading dynamic prefab on the clients..."); + LoadAddressableClientRpc(assetGuid); + //load the prefab on the server, so that any late-joiner will need to load that prefab also + await LoadDynamicPrefab(assetGuid); + int requiredAcknowledgementsCount = IsHost ? m_NetworkManager.ConnectedClients.Count - 1 : m_NetworkManager.ConnectedClients.Count; + + while (m_SynchronousSpawnTimeoutTimer < m_SpawnTimeoutInSeconds) + { + if (m_SynchronousSpawnAckCount >= requiredAcknowledgementsCount) + { + Debug.Log($"All clients have loaded the prefab in {m_SynchronousSpawnTimeoutTimer} seconds, spawning the prefab on the server..."); + var obj = await Spawn(assetGuid); + return (true, obj); + } + + m_SynchronousSpawnTimeoutTimer += Time.deltaTime; + await Task.Yield(); + } + + Debug.LogError("Failed to spawn dynamic prefab - timeout"); + return (false, null); + } + + return (false, null); + + async Task Spawn(AddressableGUID assetGuid) + { + var prefab = await LoadDynamicPrefab(assetGuid); + var obj = Instantiate(prefab, position, rotation).GetComponent(); + obj.SpawnWithOwnership(m_NetworkManager.LocalClientId); + Debug.Log("Spawned dynamic prefab"); + return obj; + } + } + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server Authoritative Synchronous Spawn/DynamicPrefabManager.SynchronousSpawn.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server Authoritative Synchronous Spawn/DynamicPrefabManager.SynchronousSpawn.cs.meta new file mode 100644 index 000000000..a827ec46d --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server Authoritative Synchronous Spawn/DynamicPrefabManager.SynchronousSpawn.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f128f9485fb85914989ea62eb4ca46c6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers.meta b/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Spawn As Network-Invisible For Loading Clients.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Spawn As Network-Invisible For Loading Clients.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Spawn As Network-Invisible For Loading Clients/DynamicPrefabManager.SpawnInvisibleWhileClientLoadsPrefab.cs b/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Spawn As Network-Invisible For Loading Clients/DynamicPrefabManager.SpawnInvisibleWhileClientLoadsPrefab.cs new file mode 100644 index 000000000..334d7925a --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Spawn As Network-Invisible For Loading Clients/DynamicPrefabManager.SpawnInvisibleWhileClientLoadsPrefab.cs @@ -0,0 +1,65 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Unity.Netcode; +using UnityEngine; + +namespace Game +{ + public partial class DynamicPrefabManager + { + /// + /// This call spawns an addressable prefab by it's guid. It does not ensure that all the clients have loaded the prefab before spawning it. + /// All spawned objects are invisible to clients that don't have the prefab loaded. + /// The server tells the clients that lack the preloaded prefab to load it and acknowledge that they've loaded it, + /// and then the server makes the object visible to that client. + /// + /// + /// + public async Task SpawnImmediatelyAndHideUntilPrefabIsLoadedOnClient(string guid, Vector3 position, Quaternion rotation) + { + if (IsServer) + { + var assetGuid = new AddressableGUID() + { + Value = guid + }; + + return await Spawn(assetGuid); + } + + return null; + + async Task Spawn(AddressableGUID assetGuid) + { + var prefab = await LoadDynamicPrefab(assetGuid); + var obj = Instantiate(prefab, position, rotation).GetComponent(); + + if(m_PrefabHashToNetworkObjectId.TryGetValue(assetGuid.GetHashCode(), out var networkObjectIds)) + { + networkObjectIds.Add(obj); + } + else + { + m_PrefabHashToNetworkObjectId.Add(assetGuid.GetHashCode(), new HashSet() {obj}); + } + + obj.CheckObjectVisibility = (clientId) => + { + //if the client has already loaded the prefab - we can make the object visible to them + if (HasClientLoadedPrefab(clientId, assetGuid.GetHashCode())) + { + return true; + } + //otherwise the clients need to load the prefab, and after they ack - the ShowHiddenObjectsToClient + LoadAddressableClientRpc(assetGuid, new ClientRpcParams(){Send = new ClientRpcSendParams(){TargetClientIds = new ulong[]{clientId}}}); + return false; + }; + + obj.SpawnWithOwnership(m_NetworkManager.LocalClientId); + + return obj; + } + } + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Spawn As Network-Invisible For Loading Clients/DynamicPrefabManager.SpawnInvisibleWhileClientLoadsPrefab.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Spawn As Network-Invisible For Loading Clients/DynamicPrefabManager.SpawnInvisibleWhileClientLoadsPrefab.cs.meta new file mode 100644 index 000000000..2a72f98ef --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Spawn As Network-Invisible For Loading Clients/DynamicPrefabManager.SpawnInvisibleWhileClientLoadsPrefab.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a695c6b1fd4ab594e875d5dea4cc9fae +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Load All Prefabs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Load All Prefabs.meta new file mode 100644 index 000000000..c17d4fb55 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Load All Prefabs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3a34ed4b12e58324d9bb1201751560d9 +timeCreated: 1667392114 \ No newline at end of file diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Load All Prefabs/DynamicPrefabManager.PreloadAllPrefabs.cs b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Load All Prefabs/DynamicPrefabManager.PreloadAllPrefabs.cs new file mode 100644 index 000000000..f7981ec3b --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Load All Prefabs/DynamicPrefabManager.PreloadAllPrefabs.cs @@ -0,0 +1,34 @@ +using System; +using System.Threading.Tasks; +using UnityEngine; + +namespace Game +{ + public partial class DynamicPrefabManager + { + /// + /// This call preloads the dynamic prefab on the server and sends a client rpc to all the clients to do the same. + /// + /// + public async Task PreloadDynamicPrefabOnServerAndStartLoadingOnAllClients(string guid) + { + if (IsServer) + { + var assetGuid = new AddressableGUID() + { + Value = guid + }; + + if (m_LoadedDynamicPrefabResourceHandles.ContainsKey(assetGuid)) + { + Debug.Log("Prefab is already loaded by all peers"); + return; + } + + Debug.Log("Loading dynamic prefab on the clients..."); + LoadAddressableClientRpc(assetGuid); + await LoadDynamicPrefab(assetGuid); + } + } + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Load All Prefabs/DynamicPrefabManager.PreloadAllPrefabs.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Load All Prefabs/DynamicPrefabManager.PreloadAllPrefabs.cs.meta new file mode 100644 index 000000000..5c17d768d --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Load All Prefabs/DynamicPrefabManager.PreloadAllPrefabs.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dfcd3408d3cf98c41a414b4f63e473fc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Shared.meta new file mode 100644 index 000000000..b4e3c022e --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 84a484f47da8f1d49b05c62dbed738f1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUID.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUID.cs similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUID.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUID.cs diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUID.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUID.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUID.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUID.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUIDCollection.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUIDCollection.cs similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUIDCollection.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUIDCollection.cs diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUIDCollection.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUIDCollection.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AddressableGUIDCollection.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUIDCollection.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs similarity index 99% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs index a4cc7c959..082986a95 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs @@ -27,7 +27,6 @@ public sealed class AppController : NetworkBehaviour [SerializeField] ConnectionManager m_ConnectionManager; - public override void OnDestroy() { m_DynamicPrefabManager.UnloadAndReleaseAllDynamicPrefabs(); diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/AppController.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionManager.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionManager.cs similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/ConnectionManager.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionManager.cs diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionManager.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionManager.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/ConnectionManager.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionManager.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectionPayload.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionPayload.cs similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectionPayload.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionPayload.cs diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectionPayload.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionPayload.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/ConnectionPayload.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionPayload.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionState.cs similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/ConnectionState.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionState.cs diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionState.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionState.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/ConnectionState.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionState.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectedState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectedState.cs similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectedState.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectedState.cs diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectedState.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectedState.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectedState.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectedState.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectingState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectingState.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectingState.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientConnectingState.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientPreloadingState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientPreloadingState.cs similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientPreloadingState.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientPreloadingState.cs diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientPreloadingState.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientPreloadingState.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/ClientPreloadingState.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientPreloadingState.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/HostingState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/HostingState.cs similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/HostingState.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/HostingState.cs diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/HostingState.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/HostingState.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/HostingState.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/HostingState.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/OfflineState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/OfflineState.cs similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/OfflineState.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/OfflineState.cs diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/OfflineState.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/OfflineState.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/OfflineState.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/OfflineState.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/StartingHostState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/StartingHostState.cs similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/StartingHostState.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/StartingHostState.cs diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/StartingHostState.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/StartingHostState.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/ConnectionStates/StartingHostState.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/StartingHostState.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DisconnectReason.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DisconnectReason.cs similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DisconnectReason.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/DisconnectReason.cs diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DisconnectReason.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DisconnectReason.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DisconnectReason.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/DisconnectReason.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabManager.cs similarity index 67% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabManager.cs index 4fb13255b..d9d658341 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabManager.cs @@ -21,7 +21,7 @@ namespace Game //this sample does not cover the case of addressable usage when the client is loading custom visual prefabs and swapping out the rendering object for essentially non-dynamic prefabs - public sealed class DynamicPrefabManager : NetworkBehaviour + public partial class DynamicPrefabManager : NetworkBehaviour { const int k_MaxConnectPayload = 1024; @@ -166,145 +166,6 @@ void ImmediateDeny() response.CreatePlayerObject = false; } } - - /// - /// This call attempts to spawn a prefab by it's addressable guid - it ensures that all the clients have loaded the prefab before spawning it, - /// and if the clients fail to acknowledge that they've loaded a prefab - the spawn will fail. - /// - /// - /// - public async Task<(bool Success, NetworkObject Obj)> TrySpawnDynamicPrefabSynchronously(string guid, Vector3 position, Quaternion rotation) - { - if (IsServer) - { - var assetGuid = new AddressableGUID() - { - Value = guid - }; - - if (m_LoadedDynamicPrefabResourceHandles.ContainsKey(assetGuid)) - { - Debug.Log("Prefab is already loaded by all peers, we can spawn it immediately"); - var obj = await Spawn(assetGuid); - return (true, obj); - } - - m_SynchronousSpawnAckCount = 0; - m_SynchronousSpawnTimeoutTimer = 0; - - Debug.Log("Loading dynamic prefab on the clients..."); - LoadAddressableClientRpc(assetGuid); - //load the prefab on the server, so that any late-joiner will need to load that prefab also - await LoadDynamicPrefab(assetGuid); - int requiredAcknowledgementsCount = IsHost ? m_NetworkManager.ConnectedClients.Count - 1 : m_NetworkManager.ConnectedClients.Count; - - while (m_SynchronousSpawnTimeoutTimer < m_SpawnTimeoutInSeconds) - { - if (m_SynchronousSpawnAckCount >= requiredAcknowledgementsCount) - { - Debug.Log($"All clients have loaded the prefab in {m_SynchronousSpawnTimeoutTimer} seconds, spawning the prefab on the server..."); - var obj = await Spawn(assetGuid); - return (true, obj); - } - - m_SynchronousSpawnTimeoutTimer += Time.deltaTime; - await Task.Yield(); - } - - Debug.LogError("Failed to spawn dynamic prefab - timeout"); - return (false, null); - } - - return (false, null); - - async Task Spawn(AddressableGUID assetGuid) - { - var prefab = await LoadDynamicPrefab(assetGuid); - var obj = Instantiate(prefab, position, rotation).GetComponent(); - obj.SpawnWithOwnership(m_NetworkManager.LocalClientId); - Debug.Log("Spawned dynamic prefab"); - return obj; - } - } - - /// - /// This call preloads the dynamic prefab on the server and sends a client rpc to all the clients to do the same. - /// - /// - public async Task PreloadDynamicPrefabOnServerAndStartLoadingOnAllClients(string guid) - { - if (IsServer) - { - var assetGuid = new AddressableGUID() - { - Value = guid - }; - - if (m_LoadedDynamicPrefabResourceHandles.ContainsKey(assetGuid)) - { - Debug.Log("Prefab is already loaded by all peers"); - return; - } - - Debug.Log("Loading dynamic prefab on the clients..."); - LoadAddressableClientRpc(assetGuid); - await LoadDynamicPrefab(assetGuid); - } - } - - /// - /// This call spawns an addressable prefab by it's guid. It does not ensure that all the clients have loaded the prefab before spawning it. - /// All spawned objects are invisible to clients that don't have the prefab loaded. - /// The server tells the clients that lack the preloaded prefab to load it and acknowledge that they've loaded it, - /// and then the server makes the object visible to that client. - /// - /// - /// - public async Task SpawnImmediatelyAndHideUntilPrefabIsLoadedOnClient(string guid, Vector3 position, Quaternion rotation) - { - if (IsServer) - { - var assetGuid = new AddressableGUID() - { - Value = guid - }; - - return await Spawn(assetGuid); - } - - return null; - - async Task Spawn(AddressableGUID assetGuid) - { - var prefab = await LoadDynamicPrefab(assetGuid); - var obj = Instantiate(prefab, position, rotation).GetComponent(); - - if(m_PrefabHashToNetworkObjectId.TryGetValue(assetGuid.GetHashCode(), out var networkObjectIds)) - { - networkObjectIds.Add(obj); - } - else - { - m_PrefabHashToNetworkObjectId.Add(assetGuid.GetHashCode(), new HashSet() {obj}); - } - - obj.CheckObjectVisibility = (clientId) => - { - //if the client has already loaded the prefab - we can make the object visible to them - if (HasClientLoadedPrefab(clientId, assetGuid.GetHashCode())) - { - return true; - } - //otherwise the clients need to load the prefab, and after they ack - the ShowHiddenObjectsToClient - LoadAddressableClientRpc(assetGuid, new ClientRpcParams(){Send = new ClientRpcSendParams(){TargetClientIds = new ulong[]{clientId}}}); - return false; - }; - - obj.SpawnWithOwnership(m_NetworkManager.LocalClientId); - - return obj; - } - } [ClientRpc] void LoadAddressableClientRpc(AddressableGUID guid, ClientRpcParams rpcParams = default) @@ -366,7 +227,6 @@ public async Task> LoadDynamicPrefabs(AddressableGUIDCollectio return prefabs; } - async Task LoadDynamicPrefab(AddressableGUID guid, bool recomputeHash = true) { if (m_LoadedDynamicPrefabResourceHandles.ContainsKey(guid)) @@ -396,7 +256,6 @@ async Task LoadDynamicPrefab(AddressableGUID guid, bool recomputeHas return prefab; } - void CalculateDynamicPrefabArrayHash() { //we need to sort the array so that the hash is consistent across clients diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabManager.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Server authoritative dynamic prefab loading across peers/DynamicPrefabManager.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabManager.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/NetworkManagerHud.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/NetworkManagerHud.cs similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/NetworkManagerHud.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/NetworkManagerHud.cs diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/NetworkManagerHud.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/NetworkManagerHud.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/NetworkManagerHud.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/NetworkManagerHud.cs.meta diff --git a/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset b/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset index 08b4c3f3b..1c60e594b 100644 --- a/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset +++ b/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset @@ -9,7 +9,13 @@ EditorBuildSettings: path: Assets/Scenes/00_Preloading.unity guid: 9fc0d4010bbf28b4594072e72b8655ab - enabled: 1 - path: Assets/Scenes/01_Server Auth Dynamic Prefabs.unity + path: Assets/Scenes/01_Server Auth Try Spawn Synchronously.unity + guid: 4be06c926fab45343a99eec4b150b830 + - enabled: 1 + path: Assets/Scenes/02_Server Auth Spawn Invisible While Prefab Loads.unity + guid: 7abfc934ee13b5a4cb68dfd571ecb4c6 + - enabled: 1 + path: Assets/Scenes/03_Server Auth Preload All Prefabs Asynchronously.unity guid: a4b10a79c91b64ba4863188ca77f36e8 m_configObjects: com.unity.addressableassets: {fileID: 11400000, guid: b1ddf61b298f54d599a3d954101e1b69, type: 2} From 2ab30827e69fb40c4f7e4ff9d83c7929d2508620 Mon Sep 17 00:00:00 2001 From: Fernando Cortez Date: Tue, 7 Feb 2023 17:50:25 -0500 Subject: [PATCH 35/55] further restructuring WIP (previous methods working, outstanding is connection approval) --- ...sly.unity => 01_Connection Approval.unity} | 39 +- .../Scenes/01_Connection Approval.unity.meta | 3 + ...e Preload All Prefabs Asynchronously.unity | 1604 ++++++++++++++++ ...oad All Prefabs Asynchronously.unity.meta} | 0 ...thoritative Try Spawn Synchronously.unity} | 48 +- ...tative Try Spawn Synchronously.unity.meta} | 0 ...etwork-Invisible For Loading Clients.unity | 1608 +++++++++++++++++ ...k-Invisible For Loading Clients.unity.meta | 3 + ...> 05_API Playground (All Use Cases).unity} | 48 +- ...API Playground (All Use Cases).unity.meta} | 0 .../PreloadingSample.cs | 2 +- .../Scripts/01_Connection Approval.meta | 8 + .../ConnectionApproval.cs | 101 ++ .../ConnectionApproval.cs.meta | 11 + .../DynamicPrefabManager.SynchronousSpawn.cs | 70 - ...e Preload All Prefabs Asynchronously.meta} | 0 .../LoadAllPrefabs.cs | 96 + .../LoadAllPrefabs.cs.meta} | 0 ...er.SpawnInvisibleWhileClientLoadsPrefab.cs | 65 - .../DynamicPrefabManager.PreloadAllPrefabs.cs | 34 - ...uthoritative Try Spawn Synchronously.meta} | 0 .../SynchronousDynamicPrefabSpawn.cs | 137 ++ .../SynchronousDynamicPrefabSpawn.cs.meta} | 0 ...etwork-Invisible For Loading Clients.meta} | 0 .../SpawnPrefabInvisibleWhileIsLoading.cs | 146 ++ ...pawnPrefabInvisibleWhileIsLoading.cs.meta} | 0 ... (All Post-Connection Time Use Cases).meta | 3 + .../APIPlayground.cs | 269 +++ .../APIPlayground.cs.meta | 11 + .../Assets/Scripts/Shared/AppController.cs | 22 +- .../Scripts/Shared/ConnectionManager.cs | 2 - .../ConnectionStates/ClientConnectingState.cs | 5 +- .../ConnectionStates/ClientPreloadingState.cs | 3 +- .../Shared/ConnectionStates/HostingState.cs | 3 +- .../Shared/ConnectionStates/OfflineState.cs | 3 +- .../Shared/DynamicPrefabLoadingUtilities.cs | 172 ++ .../DynamicPrefabLoadingUtilities.cs.meta | 11 + .../Scripts/Shared/DynamicPrefabManager.cs | 211 +-- .../ProjectSettings/EditorBuildSettings.asset | 17 +- 39 files changed, 4258 insertions(+), 497 deletions(-) rename Basic/DyanmicPrefabs/Assets/Scenes/{03_Server Auth Preload All Prefabs Asynchronously.unity => 01_Connection Approval.unity} (97%) create mode 100644 Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval.unity.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scenes/02_Server Authoritative Preload All Prefabs Asynchronously.unity rename Basic/DyanmicPrefabs/Assets/Scenes/{03_Server Auth Preload All Prefabs Asynchronously.unity.meta => 02_Server Authoritative Preload All Prefabs Asynchronously.unity.meta} (100%) rename Basic/DyanmicPrefabs/Assets/Scenes/{01_Server Auth Try Spawn Synchronously.unity => 03_Server Authoritative Try Spawn Synchronously.unity} (97%) rename Basic/DyanmicPrefabs/Assets/Scenes/{01_Server Auth Try Spawn Synchronously.unity.meta => 03_Server Authoritative Try Spawn Synchronously.unity.meta} (100%) create mode 100644 Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.unity create mode 100644 Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.unity.meta rename Basic/DyanmicPrefabs/Assets/Scenes/{02_Server Auth Spawn Invisible While Prefab Loads.unity => 05_API Playground (All Use Cases).unity} (97%) rename Basic/DyanmicPrefabs/Assets/Scenes/{02_Server Auth Spawn Invisible While Prefab Loads.unity.meta => 05_API Playground (All Use Cases).unity.meta} (100%) create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs.meta delete mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/01_Server Authoritative Synchronous Spawn/DynamicPrefabManager.SynchronousSpawn.cs rename Basic/DyanmicPrefabs/Assets/Scripts/{03_Server Authoritative Synchronous Load All Prefabs.meta => 02_Server Authoritative Preload All Prefabs Asynchronously.meta} (100%) create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Preload All Prefabs Asynchronously/LoadAllPrefabs.cs rename Basic/DyanmicPrefabs/Assets/Scripts/{03_Server Authoritative Synchronous Load All Prefabs/DynamicPrefabManager.PreloadAllPrefabs.cs.meta => 02_Server Authoritative Preload All Prefabs Asynchronously/LoadAllPrefabs.cs.meta} (100%) delete mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Spawn As Network-Invisible For Loading Clients/DynamicPrefabManager.SpawnInvisibleWhileClientLoadsPrefab.cs delete mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Load All Prefabs/DynamicPrefabManager.PreloadAllPrefabs.cs rename Basic/DyanmicPrefabs/Assets/Scripts/{01_Server Authoritative Synchronous Spawn.meta => 03_Server Authoritative Try Spawn Synchronously.meta} (100%) create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs rename Basic/DyanmicPrefabs/Assets/Scripts/{01_Server Authoritative Synchronous Spawn/DynamicPrefabManager.SynchronousSpawn.cs.meta => 03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs.meta} (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{02_Server Authoritative Spawn As Network-Invisible For Loading Clients.meta => 04_Server Authoritative Spawn As Network-Invisible For Loading Clients.meta} (100%) create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn As Network-Invisible For Loading Clients/SpawnPrefabInvisibleWhileIsLoading.cs rename Basic/DyanmicPrefabs/Assets/Scripts/{02_Server Authoritative Spawn As Network-Invisible For Loading Clients/DynamicPrefabManager.SpawnInvisibleWhileClientLoadsPrefab.cs.meta => 04_Server Authoritative Spawn As Network-Invisible For Loading Clients/SpawnPrefabInvisibleWhileIsLoading.cs.meta} (100%) create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases).meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/03_Server Auth Preload All Prefabs Asynchronously.unity b/Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval.unity similarity index 97% rename from Basic/DyanmicPrefabs/Assets/Scenes/03_Server Auth Preload All Prefabs Asynchronously.unity rename to Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval.unity index 30ea8ce0f..9cd5f2d74 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/03_Server Auth Preload All Prefabs Asynchronously.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval.unity @@ -972,7 +972,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} m_Name: m_EditorClassIdentifier: - GlobalObjectIdHash: 3033738229 + GlobalObjectIdHash: 3392392990 AlwaysReplicateAsRoot: 0 DontDestroyWithOwner: 0 AutoObjectParentSync: 1 @@ -988,36 +988,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: a5dd989004df436d9e1f8777007d25a5, type: 3} m_Name: m_EditorClassIdentifier: - m_DynamicPrefabManager: {fileID: 989424454} - m_DynamicPrefabRefs: - - m_AssetGUID: e8635bd8fc0fa44f7ba16885494477e4 - m_SubObjectName: - m_SubObjectType: - m_EditorAssetChanged: 0 - - m_AssetGUID: 580f343244c5d495aa8df840a4ef1050 - m_SubObjectName: - m_SubObjectType: - m_EditorAssetChanged: 0 - - m_AssetGUID: df2e29fad7ea5480ebbd89c15ffe415e - m_SubObjectName: - m_SubObjectType: - m_EditorAssetChanged: 0 - - m_AssetGUID: 86d863718b86d4ae69be9e4e22feceb6 - m_SubObjectName: - m_SubObjectType: - m_EditorAssetChanged: 0 - - m_AssetGUID: a4d5ae4542ecc49f5b2e96f39e93c0c4 - m_SubObjectName: - m_SubObjectType: - m_EditorAssetChanged: 0 - - m_AssetGUID: 75a53913d13db4777b0d97d1c009b6b2 - m_SubObjectName: - m_SubObjectType: - m_EditorAssetChanged: 0 - - m_AssetGUID: 05ea0814e604c4acf8ae3b7e0a5dfb07 - m_SubObjectName: - m_SubObjectType: - m_EditorAssetChanged: 0 m_ConnectionUI: {fileID: 346372779} m_SpawnUI: {fileID: 663159615} m_ConnectionManager: {fileID: 320186046} @@ -1030,12 +1000,9 @@ MonoBehaviour: m_GameObject: {fileID: 989424449} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7da934f3c1a34d55951e92710428a53b, type: 3} + m_Script: {fileID: 11500000, guid: 46115653413e2ed4c9163c4e5350e569, type: 3} m_Name: m_EditorClassIdentifier: - m_SpawnTimeoutInSeconds: 3 - m_NetworkManager: {fileID: 2054638265} - m_ArtificialDelayMilliseconds: 1000 --- !u!1 &1157890485 GameObject: m_ObjectHideFlags: 0 @@ -1488,7 +1455,7 @@ PrefabInstance: - target: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} propertyPath: dynamicPrefabManager value: - objectReference: {fileID: 989424454} + objectReference: {fileID: 0} - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} propertyPath: m_RootOrder value: 6 diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval.unity.meta b/Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval.unity.meta new file mode 100644 index 000000000..382152a3b --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval.unity.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 7b6923b024b9f56478b4080b24977311 +timeCreated: 1666715239 \ No newline at end of file diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Authoritative Preload All Prefabs Asynchronously.unity b/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Authoritative Preload All Prefabs Asynchronously.unity new file mode 100644 index 000000000..61f43d0a6 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Authoritative Preload All Prefabs Asynchronously.unity @@ -0,0 +1,1604 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 705507994} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1001 &91789800 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: networkManager + value: + objectReference: {fileID: 2054638265} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5737377586247081931, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_Name + value: ConnectionManager + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} +--- !u!1 &346372779 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 346372780} + m_Layer: 5 + m_Name: Connection UI + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &346372780 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 346372779} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1242229360} + - {fileID: 1541538684} + m_Father: {fileID: 1157890489} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &541210821 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 541210822} + - component: {fileID: 541210824} + - component: {fileID: 541210823} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &541210822 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 541210821} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 876541990} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &541210823 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 541210821} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Preload All Prefabs Async + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &541210824 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 541210821} + m_CullTransparentMesh: 1 +--- !u!1 &663159615 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 663159616} + m_Layer: 5 + m_Name: BtnGroup + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &663159616 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 663159615} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 876541990} + m_Father: {fileID: 1157890489} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &705507993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 705507995} + - component: {fileID: 705507994} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &705507994 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.802082 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &705507995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &788102163 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 788102164} + - component: {fileID: 788102166} + - component: {fileID: 788102165} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &788102164 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788102163} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1541538684} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &788102165 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788102163} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Client + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &788102166 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788102163} + m_CullTransparentMesh: 1 +--- !u!114 &819111534 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + m_PrefabInstance: {fileID: 91789800} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1d33480f8492cae4ea5d133f701bc398, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &832999904 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 832999905} + - component: {fileID: 832999907} + - component: {fileID: 832999906} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &832999905 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 832999904} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1242229360} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &832999906 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 832999904} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Host + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &832999907 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 832999904} + m_CullTransparentMesh: 1 +--- !u!1 &876541989 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 876541990} + - component: {fileID: 876541993} + - component: {fileID: 876541992} + - component: {fileID: 876541991} + m_Layer: 5 + m_Name: Btn - Preload All Prefabs Async + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &876541990 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 876541989} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 541210822} + m_Father: {fileID: 663159616} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 17.400024, y: -184.70001} + m_SizeDelta: {x: 521.65, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &876541991 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 876541989} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 876541992} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 989424454} + m_TargetAssemblyTypeName: Game.LoadAllPrefabs, Assembly-CSharp + m_MethodName: OnClickedPreload + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &876541992 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 876541989} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &876541993 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 876541989} + m_CullTransparentMesh: 1 +--- !u!1 &963194225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 963194228} + - component: {fileID: 963194227} + - component: {fileID: 963194226} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &963194226 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 +--- !u!20 &963194227 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &963194228 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &989424449 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 989424451} + - component: {fileID: 989424452} + - component: {fileID: 989424453} + - component: {fileID: 989424454} + m_Layer: 0 + m_Name: AppController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &989424451 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989424449} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &989424452 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989424449} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 3033738229 + AlwaysReplicateAsRoot: 0 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!114 &989424453 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989424449} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a5dd989004df436d9e1f8777007d25a5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ConnectionUI: {fileID: 346372779} + m_SpawnUI: {fileID: 663159615} + m_ConnectionManager: {fileID: 819111534} +--- !u!114 &989424454 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989424449} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dfcd3408d3cf98c41a414b4f63e473fc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_DynamicPrefabReferences: + - m_AssetGUID: 75a53913d13db4777b0d97d1c009b6b2 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + m_ArtificialDelayMilliseconds: 1000 +--- !u!1 &1157890485 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1157890489} + - component: {fileID: 1157890488} + - component: {fileID: 1157890487} + - component: {fileID: 1157890486} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1157890486 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157890485} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1157890487 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157890485} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1157890488 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157890485} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1157890489 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157890485} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 663159616} + - {fileID: 346372780} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1242229359 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1242229360} + - component: {fileID: 1242229363} + - component: {fileID: 1242229362} + - component: {fileID: 1242229361} + m_Layer: 5 + m_Name: Btn - Start Host + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1242229360 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242229359} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 832999905} + m_Father: {fileID: 346372780} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 18, y: -58} + m_SizeDelta: {x: 300, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1242229361 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242229359} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1242229362} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 989424453} + m_TargetAssemblyTypeName: Game.SparseLoadingNoLatejoinSample, Assembly-CSharp + m_MethodName: StartHost + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1242229362 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242229359} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1242229363 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242229359} + m_CullTransparentMesh: 1 +--- !u!1 &1521417880 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1521417883} + - component: {fileID: 1521417882} + - component: {fileID: 1521417881} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1521417881 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1521417880} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1521417882 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1521417880} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1521417883 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1521417880} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1541538683 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1541538684} + - component: {fileID: 1541538687} + - component: {fileID: 1541538686} + - component: {fileID: 1541538685} + m_Layer: 5 + m_Name: Btn - Start Client + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1541538684 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541538683} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 788102164} + m_Father: {fileID: 346372780} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 18, y: -20} + m_SizeDelta: {x: 300, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1541538685 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541538683} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1541538686} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 989424453} + m_TargetAssemblyTypeName: Game.SparseLoadingNoLatejoinSample, Assembly-CSharp + m_MethodName: StartClient + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1541538686 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541538683} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1541538687 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541538683} + m_CullTransparentMesh: 1 +--- !u!1 &2054638263 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2054638266} + - component: {fileID: 2054638265} + - component: {fileID: 2054638264} + m_Layer: 0 + m_Name: NetworkManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2054638264 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054638263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6960e84d07fb87f47956e7a81d71c4e6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ProtocolType: 0 + m_MaxPacketQueueSize: 128 + m_MaxPayloadSize: 6144 + m_HeartbeatTimeoutMS: 500 + m_ConnectTimeoutMS: 1000 + m_MaxConnectAttempts: 60 + m_DisconnectTimeoutMS: 30000 + ConnectionData: + Address: 127.0.0.1 + Port: 7777 + ServerListenAddress: + DebugSimulator: + PacketDelayMS: 0 + PacketJitterMS: 0 + PacketDropRate: 0 +--- !u!114 &2054638265 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054638263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 593a2fe42fa9d37498c96f9a383b6521, type: 3} + m_Name: + m_EditorClassIdentifier: + RunInBackground: 1 + LogLevel: 1 + NetworkConfig: + ProtocolVersion: 0 + NetworkTransport: {fileID: 2054638264} + PlayerPrefab: {fileID: 0} + NetworkPrefabs: [] + TickRate: 30 + ClientConnectionBufferTimeout: 10 + ConnectionApproval: 0 + ConnectionData: + EnableTimeResync: 0 + TimeResyncInterval: 30 + EnsureNetworkVariableLengthSafety: 0 + EnableSceneManagement: 1 + ForceSamePrefabs: 1 + RecycleNetworkIds: 1 + NetworkIdRecycleDelay: 120 + RpcHashSize: 0 + LoadSceneTimeOut: 120 + SpawnTimeout: 1 + EnableNetworkLogs: 1 +--- !u!4 &2054638266 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054638263} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/03_Server Auth Preload All Prefabs Asynchronously.unity.meta b/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Authoritative Preload All Prefabs Asynchronously.unity.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scenes/03_Server Auth Preload All Prefabs Asynchronously.unity.meta rename to Basic/DyanmicPrefabs/Assets/Scenes/02_Server Authoritative Preload All Prefabs Asynchronously.unity.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Try Spawn Synchronously.unity b/Basic/DyanmicPrefabs/Assets/Scenes/03_Server Authoritative Try Spawn Synchronously.unity similarity index 97% rename from Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Try Spawn Synchronously.unity rename to Basic/DyanmicPrefabs/Assets/Scenes/03_Server Authoritative Try Spawn Synchronously.unity index 9038188cf..4bff2e168 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Try Spawn Synchronously.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/03_Server Authoritative Try Spawn Synchronously.unity @@ -854,36 +854,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: a5dd989004df436d9e1f8777007d25a5, type: 3} m_Name: m_EditorClassIdentifier: - m_DynamicPrefabManager: {fileID: 989424454} - m_DynamicPrefabRefs: - - m_AssetGUID: e8635bd8fc0fa44f7ba16885494477e4 - m_SubObjectName: - m_SubObjectType: - m_EditorAssetChanged: 0 - - m_AssetGUID: 580f343244c5d495aa8df840a4ef1050 - m_SubObjectName: - m_SubObjectType: - m_EditorAssetChanged: 0 - - m_AssetGUID: df2e29fad7ea5480ebbd89c15ffe415e - m_SubObjectName: - m_SubObjectType: - m_EditorAssetChanged: 0 - - m_AssetGUID: 86d863718b86d4ae69be9e4e22feceb6 - m_SubObjectName: - m_SubObjectType: - m_EditorAssetChanged: 0 - - m_AssetGUID: a4d5ae4542ecc49f5b2e96f39e93c0c4 - m_SubObjectName: - m_SubObjectType: - m_EditorAssetChanged: 0 - - m_AssetGUID: 75a53913d13db4777b0d97d1c009b6b2 - m_SubObjectName: - m_SubObjectType: - m_EditorAssetChanged: 0 - - m_AssetGUID: 05ea0814e604c4acf8ae3b7e0a5dfb07 - m_SubObjectName: - m_SubObjectType: - m_EditorAssetChanged: 0 m_ConnectionUI: {fileID: 346372779} m_SpawnUI: {fileID: 663159615} m_ConnectionManager: {fileID: 320186046} @@ -896,12 +866,16 @@ MonoBehaviour: m_GameObject: {fileID: 989424449} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7da934f3c1a34d55951e92710428a53b, type: 3} + m_Script: {fileID: 11500000, guid: f128f9485fb85914989ea62eb4ca46c6, type: 3} m_Name: m_EditorClassIdentifier: - m_SpawnTimeoutInSeconds: 3 - m_NetworkManager: {fileID: 2054638265} + m_DynamicPrefabReferences: + - m_AssetGUID: 75a53913d13db4777b0d97d1c009b6b2 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 m_ArtificialDelayMilliseconds: 1000 + m_SpawnTimeoutInSeconds: 3 --- !u!1 &1157890485 GameObject: m_ObjectHideFlags: 0 @@ -1424,8 +1398,8 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 989424453} - m_TargetAssemblyTypeName: Game.AppController, Assembly-CSharp + - m_Target: {fileID: 989424454} + m_TargetAssemblyTypeName: Game.SynchronousDynamicPrefabSpawn, Assembly-CSharp m_MethodName: OnClickedTrySpawnSynchronously m_Mode: 1 m_Arguments: @@ -1488,7 +1462,7 @@ PrefabInstance: - target: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} propertyPath: dynamicPrefabManager value: - objectReference: {fileID: 989424454} + objectReference: {fileID: 0} - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} propertyPath: m_RootOrder value: 6 @@ -1605,7 +1579,7 @@ MonoBehaviour: NetworkPrefabs: [] TickRate: 30 ClientConnectionBufferTimeout: 10 - ConnectionApproval: 1 + ConnectionApproval: 0 ConnectionData: EnableTimeResync: 0 TimeResyncInterval: 30 diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Try Spawn Synchronously.unity.meta b/Basic/DyanmicPrefabs/Assets/Scenes/03_Server Authoritative Try Spawn Synchronously.unity.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scenes/01_Server Auth Try Spawn Synchronously.unity.meta rename to Basic/DyanmicPrefabs/Assets/Scenes/03_Server Authoritative Try Spawn Synchronously.unity.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.unity b/Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.unity new file mode 100644 index 000000000..5010969b5 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.unity @@ -0,0 +1,1608 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 705507994} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!114 &320186046 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + m_PrefabInstance: {fileID: 1759026482} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1d33480f8492cae4ea5d133f701bc398, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &346372779 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 346372780} + m_Layer: 5 + m_Name: Connection UI + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &346372780 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 346372779} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1242229360} + - {fileID: 1541538684} + m_Father: {fileID: 1157890489} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &663159615 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 663159616} + m_Layer: 5 + m_Name: BtnGroup + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &663159616 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 663159615} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1698216263} + m_Father: {fileID: 1157890489} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &705507993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 705507995} + - component: {fileID: 705507994} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &705507994 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.802082 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &705507995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &788102163 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 788102164} + - component: {fileID: 788102166} + - component: {fileID: 788102165} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &788102164 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788102163} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1541538684} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &788102165 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788102163} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Client + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &788102166 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788102163} + m_CullTransparentMesh: 1 +--- !u!1 &832999904 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 832999905} + - component: {fileID: 832999907} + - component: {fileID: 832999906} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &832999905 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 832999904} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1242229360} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &832999906 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 832999904} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Host + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &832999907 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 832999904} + m_CullTransparentMesh: 1 +--- !u!1 &963194225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 963194228} + - component: {fileID: 963194227} + - component: {fileID: 963194226} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &963194226 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 +--- !u!20 &963194227 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &963194228 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &989424449 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 989424451} + - component: {fileID: 989424452} + - component: {fileID: 989424453} + - component: {fileID: 989424454} + m_Layer: 0 + m_Name: AppController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &989424451 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989424449} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &989424452 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989424449} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 2152691048 + AlwaysReplicateAsRoot: 0 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!114 &989424453 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989424449} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a5dd989004df436d9e1f8777007d25a5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ConnectionUI: {fileID: 346372779} + m_SpawnUI: {fileID: 663159615} + m_ConnectionManager: {fileID: 320186046} +--- !u!114 &989424454 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989424449} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a695c6b1fd4ab594e875d5dea4cc9fae, type: 3} + m_Name: + m_EditorClassIdentifier: + m_DynamicPrefabReferences: + - m_AssetGUID: e8635bd8fc0fa44f7ba16885494477e4 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + m_ArtificialDelayMilliseconds: 1000 +--- !u!1 &1157890485 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1157890489} + - component: {fileID: 1157890488} + - component: {fileID: 1157890487} + - component: {fileID: 1157890486} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1157890486 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157890485} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1157890487 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157890485} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1157890488 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157890485} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1157890489 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157890485} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 663159616} + - {fileID: 346372780} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1242229359 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1242229360} + - component: {fileID: 1242229363} + - component: {fileID: 1242229362} + - component: {fileID: 1242229361} + m_Layer: 5 + m_Name: Btn - Start Host + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1242229360 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242229359} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 832999905} + m_Father: {fileID: 346372780} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 18, y: -58} + m_SizeDelta: {x: 300, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1242229361 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242229359} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1242229362} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 989424453} + m_TargetAssemblyTypeName: Game.SparseLoadingNoLatejoinSample, Assembly-CSharp + m_MethodName: StartHost + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1242229362 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242229359} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1242229363 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242229359} + m_CullTransparentMesh: 1 +--- !u!1 &1368062642 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1368062643} + - component: {fileID: 1368062645} + - component: {fileID: 1368062644} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1368062643 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1368062642} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1698216263} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1368062644 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1368062642} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Spawn - invisible while prefab is loading + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1368062645 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1368062642} + m_CullTransparentMesh: 1 +--- !u!1 &1521417880 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1521417883} + - component: {fileID: 1521417882} + - component: {fileID: 1521417881} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1521417881 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1521417880} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1521417882 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1521417880} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1521417883 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1521417880} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1541538683 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1541538684} + - component: {fileID: 1541538687} + - component: {fileID: 1541538686} + - component: {fileID: 1541538685} + m_Layer: 5 + m_Name: Btn - Start Client + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1541538684 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541538683} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 788102164} + m_Father: {fileID: 346372780} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 18, y: -20} + m_SizeDelta: {x: 300, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1541538685 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541538683} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1541538686} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 989424453} + m_TargetAssemblyTypeName: Game.SparseLoadingNoLatejoinSample, Assembly-CSharp + m_MethodName: StartClient + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1541538686 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541538683} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1541538687 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541538683} + m_CullTransparentMesh: 1 +--- !u!1 &1698216262 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1698216263} + - component: {fileID: 1698216266} + - component: {fileID: 1698216265} + - component: {fileID: 1698216264} + m_Layer: 5 + m_Name: Btn - Spawn With Visibility + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1698216263 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1698216262} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1368062643} + m_Father: {fileID: 663159616} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 17.400024, y: -142.20001} + m_SizeDelta: {x: 521.6509, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1698216264 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1698216262} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1698216265} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 989424454} + m_TargetAssemblyTypeName: Game.SpawnPrefabInvisibleWhileIsLoading, Assembly-CSharp + m_MethodName: OnClickedTrySpawnInvisible + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1698216265 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1698216262} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1698216266 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1698216262} + m_CullTransparentMesh: 1 +--- !u!1001 &1759026482 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: networkManager + value: + objectReference: {fileID: 2054638265} + - target: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: dynamicPrefabManager + value: + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5737377586247081931, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_Name + value: ConnectionManager + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} +--- !u!1 &2054638263 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2054638266} + - component: {fileID: 2054638265} + - component: {fileID: 2054638264} + m_Layer: 0 + m_Name: NetworkManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2054638264 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054638263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6960e84d07fb87f47956e7a81d71c4e6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ProtocolType: 0 + m_MaxPacketQueueSize: 128 + m_MaxPayloadSize: 6144 + m_HeartbeatTimeoutMS: 500 + m_ConnectTimeoutMS: 1000 + m_MaxConnectAttempts: 60 + m_DisconnectTimeoutMS: 30000 + ConnectionData: + Address: 127.0.0.1 + Port: 7777 + ServerListenAddress: + DebugSimulator: + PacketDelayMS: 0 + PacketJitterMS: 0 + PacketDropRate: 0 +--- !u!114 &2054638265 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054638263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 593a2fe42fa9d37498c96f9a383b6521, type: 3} + m_Name: + m_EditorClassIdentifier: + RunInBackground: 1 + LogLevel: 1 + NetworkConfig: + ProtocolVersion: 0 + NetworkTransport: {fileID: 2054638264} + PlayerPrefab: {fileID: 0} + NetworkPrefabs: [] + TickRate: 30 + ClientConnectionBufferTimeout: 10 + ConnectionApproval: 0 + ConnectionData: + EnableTimeResync: 0 + TimeResyncInterval: 30 + EnsureNetworkVariableLengthSafety: 0 + EnableSceneManagement: 1 + ForceSamePrefabs: 1 + RecycleNetworkIds: 1 + NetworkIdRecycleDelay: 120 + RpcHashSize: 0 + LoadSceneTimeOut: 120 + SpawnTimeout: 1 + EnableNetworkLogs: 1 +--- !u!4 &2054638266 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054638263} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.unity.meta b/Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.unity.meta new file mode 100644 index 000000000..41467a5fe --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.unity.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: a081f6a35639f4949bd9d20f656cb357 +timeCreated: 1666715239 \ No newline at end of file diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Auth Spawn Invisible While Prefab Loads.unity b/Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground (All Use Cases).unity similarity index 97% rename from Basic/DyanmicPrefabs/Assets/Scenes/02_Server Auth Spawn Invisible While Prefab Loads.unity rename to Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground (All Use Cases).unity index 096589f8d..1cf6f7085 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Auth Spawn Invisible While Prefab Loads.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground (All Use Cases).unity @@ -719,36 +719,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: a5dd989004df436d9e1f8777007d25a5, type: 3} m_Name: m_EditorClassIdentifier: - m_DynamicPrefabManager: {fileID: 989424454} - m_DynamicPrefabRefs: - - m_AssetGUID: e8635bd8fc0fa44f7ba16885494477e4 - m_SubObjectName: - m_SubObjectType: - m_EditorAssetChanged: 0 - - m_AssetGUID: 580f343244c5d495aa8df840a4ef1050 - m_SubObjectName: - m_SubObjectType: - m_EditorAssetChanged: 0 - - m_AssetGUID: df2e29fad7ea5480ebbd89c15ffe415e - m_SubObjectName: - m_SubObjectType: - m_EditorAssetChanged: 0 - - m_AssetGUID: 86d863718b86d4ae69be9e4e22feceb6 - m_SubObjectName: - m_SubObjectType: - m_EditorAssetChanged: 0 - - m_AssetGUID: a4d5ae4542ecc49f5b2e96f39e93c0c4 - m_SubObjectName: - m_SubObjectType: - m_EditorAssetChanged: 0 - - m_AssetGUID: 75a53913d13db4777b0d97d1c009b6b2 - m_SubObjectName: - m_SubObjectType: - m_EditorAssetChanged: 0 - - m_AssetGUID: 05ea0814e604c4acf8ae3b7e0a5dfb07 - m_SubObjectName: - m_SubObjectType: - m_EditorAssetChanged: 0 m_ConnectionUI: {fileID: 346372779} m_SpawnUI: {fileID: 663159615} m_ConnectionManager: {fileID: 320186046} @@ -761,12 +731,16 @@ MonoBehaviour: m_GameObject: {fileID: 989424449} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7da934f3c1a34d55951e92710428a53b, type: 3} + m_Script: {fileID: 11500000, guid: 06f0d49321026254cbd9420e0a8a1f38, type: 3} m_Name: m_EditorClassIdentifier: - m_SpawnTimeoutInSeconds: 3 - m_NetworkManager: {fileID: 2054638265} + m_DynamicPrefabReferences: + - m_AssetGUID: e8635bd8fc0fa44f7ba16885494477e4 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 m_ArtificialDelayMilliseconds: 1000 + m_SpawnTimeoutInSeconds: 3 --- !u!1 &1157890485 GameObject: m_ObjectHideFlags: 0 @@ -1424,9 +1398,9 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 989424453} - m_TargetAssemblyTypeName: Game.AppController, Assembly-CSharp - m_MethodName: OnClickedSpawnWithVisibility + - m_Target: {fileID: 0} + m_TargetAssemblyTypeName: Game.SpawnPrefabInvisibleWhileIsLoading, Assembly-CSharp + m_MethodName: OnClickedTrySpawnInvisible m_Mode: 1 m_Arguments: m_ObjectArgument: {fileID: 0} @@ -1488,7 +1462,7 @@ PrefabInstance: - target: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} propertyPath: dynamicPrefabManager value: - objectReference: {fileID: 989424454} + objectReference: {fileID: 0} - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} propertyPath: m_RootOrder value: 6 diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Auth Spawn Invisible While Prefab Loads.unity.meta b/Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground (All Use Cases).unity.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scenes/02_Server Auth Spawn Invisible While Prefab Loads.unity.meta rename to Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground (All Use Cases).unity.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs b/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs index 14fd23a44..c4b964cea 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs @@ -4,7 +4,7 @@ using UnityEngine; using UnityEngine.AddressableAssets; -namespace Game +namespace Game.Preloading { public sealed class PreloadingSample : MonoBehaviour { diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval.meta b/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval.meta new file mode 100644 index 000000000..d44f0f356 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a94bc61944601e849b4d1c95f15a3290 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs new file mode 100644 index 000000000..d0187495f --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs @@ -0,0 +1,101 @@ +using Unity.Netcode; +using UnityEngine; + +namespace Game.ConnectionApproval +{ + public class ConnectionApproval : NetworkBehaviour + { + const int k_MaxConnectPayload = 1024; + + DynamicPrefabLoadingUtilities m_DynamicPrefabLoadingUtilities; + + void Start() + { + m_DynamicPrefabLoadingUtilities = new DynamicPrefabLoadingUtilities(NetworkManager.Singleton); + } + + public override void OnDestroy() + { + m_DynamicPrefabLoadingUtilities.UnloadAndReleaseAllDynamicPrefabs(); + base.OnDestroy(); + } + + public void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) + { + Debug.Log("Client is trying to connect " + request.ClientNetworkId); + var connectionData = request.Payload; + var clientId = request.ClientNetworkId; + + if (clientId == NetworkManager.Singleton.LocalClientId) + { + //allow the host to connect + Approve(); + return; + } + + if (connectionData.Length > k_MaxConnectPayload) + { + // If connectionData is too big, deny immediately to avoid wasting time on the server. This is intended as + // a bit of light protection against DOS attacks that rely on sending silly big buffers of garbage. + ImmediateDeny(); + return; + } + + if (m_DynamicPrefabLoadingUtilities.LoadedPrefabCount == 0) + { + //immediately approve the connection if we haven't loaded any prefabs yet + Approve(); + return; + } + + var payload = System.Text.Encoding.UTF8.GetString(connectionData); + var connectionPayload = JsonUtility.FromJson(payload); // https://docs.unity3d.com/2020.2/Documentation/Manual/JSONSerialization.html + + int clientPrefabHash = connectionPayload.HashOfDynamicPrefabGUIDs; + int serverPrefabHash = m_DynamicPrefabLoadingUtilities.ServerPrefabHash; + + //if the client has the same prefabs as the server - approve the connection + if (clientPrefabHash == serverPrefabHash) + { + Approve(); + + m_DynamicPrefabLoadingUtilities.RecordThatClientHasLoadedAllPrefabs(clientId); + + return; + } + + // In order for clients to not just get disconnected with no feedback, the server needs to tell the client + // why it disconnected it. This could happen after an auth check on a service or because of gameplay + // reasons (server full, wrong build version, etc). + // The server can do so via the DisconnectReason in the ConnectionApprovalResponse. The guids of the prefabs + // the client will need to load will be sent, such that the client loads the needed prefabs, and reconnects. + + // A note: DisconnectReason will not be written to if the string is too large in size. This should be used + // only to tell the client "why" it failed -- the client should instead use services like UGS to fetch the + // relevant data it needs to fetch & download. + + m_DynamicPrefabLoadingUtilities.RefreshLoadedPrefabGuids(); + + response.Reason = m_DynamicPrefabLoadingUtilities.GenerateDisconnectionPayload(); + + ImmediateDeny(); + + // A note: sending large strings through Netcode is not ideal -- you'd usually want to use REST services to + // accomplish this instead. UGS services like Lobby can be a useful alternative. Another route may be to + // set ConnectionApprovalResponse's Pending flag to true, and send a CustomMessage containing the array of + // GUIDs to a client, which the client would load and reattempt a reconnection. + + void Approve() + { + response.Approved = true; + response.CreatePlayerObject = false; //we're not going to spawn a player object for this sample + } + + void ImmediateDeny() + { + response.Approved = false; + response.CreatePlayerObject = false; + } + } + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs.meta new file mode 100644 index 000000000..d502943b9 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 46115653413e2ed4c9163c4e5350e569 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server Authoritative Synchronous Spawn/DynamicPrefabManager.SynchronousSpawn.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Server Authoritative Synchronous Spawn/DynamicPrefabManager.SynchronousSpawn.cs deleted file mode 100644 index d76799fbf..000000000 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server Authoritative Synchronous Spawn/DynamicPrefabManager.SynchronousSpawn.cs +++ /dev/null @@ -1,70 +0,0 @@ -using System; -using System.Threading.Tasks; -using Unity.Netcode; -using UnityEngine; - -namespace Game -{ - public partial class DynamicPrefabManager - { - /// - /// This call attempts to spawn a prefab by it's addressable guid - it ensures that all the clients have loaded the prefab before spawning it, - /// and if the clients fail to acknowledge that they've loaded a prefab - the spawn will fail. - /// - /// - /// - public async Task<(bool Success, NetworkObject Obj)> TrySpawnDynamicPrefabSynchronously(string guid, Vector3 position, Quaternion rotation) - { - if (IsServer) - { - var assetGuid = new AddressableGUID() - { - Value = guid - }; - - if (m_LoadedDynamicPrefabResourceHandles.ContainsKey(assetGuid)) - { - Debug.Log("Prefab is already loaded by all peers, we can spawn it immediately"); - var obj = await Spawn(assetGuid); - return (true, obj); - } - - m_SynchronousSpawnAckCount = 0; - m_SynchronousSpawnTimeoutTimer = 0; - - Debug.Log("Loading dynamic prefab on the clients..."); - LoadAddressableClientRpc(assetGuid); - //load the prefab on the server, so that any late-joiner will need to load that prefab also - await LoadDynamicPrefab(assetGuid); - int requiredAcknowledgementsCount = IsHost ? m_NetworkManager.ConnectedClients.Count - 1 : m_NetworkManager.ConnectedClients.Count; - - while (m_SynchronousSpawnTimeoutTimer < m_SpawnTimeoutInSeconds) - { - if (m_SynchronousSpawnAckCount >= requiredAcknowledgementsCount) - { - Debug.Log($"All clients have loaded the prefab in {m_SynchronousSpawnTimeoutTimer} seconds, spawning the prefab on the server..."); - var obj = await Spawn(assetGuid); - return (true, obj); - } - - m_SynchronousSpawnTimeoutTimer += Time.deltaTime; - await Task.Yield(); - } - - Debug.LogError("Failed to spawn dynamic prefab - timeout"); - return (false, null); - } - - return (false, null); - - async Task Spawn(AddressableGUID assetGuid) - { - var prefab = await LoadDynamicPrefab(assetGuid); - var obj = Instantiate(prefab, position, rotation).GetComponent(); - obj.SpawnWithOwnership(m_NetworkManager.LocalClientId); - Debug.Log("Spawned dynamic prefab"); - return obj; - } - } - } -} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Load All Prefabs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Preload All Prefabs Asynchronously.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Load All Prefabs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Preload All Prefabs Asynchronously.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Preload All Prefabs Asynchronously/LoadAllPrefabs.cs b/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Preload All Prefabs Asynchronously/LoadAllPrefabs.cs new file mode 100644 index 000000000..8a8fe73a0 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Preload All Prefabs Asynchronously/LoadAllPrefabs.cs @@ -0,0 +1,96 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Unity.Netcode; +using UnityEngine; +using UnityEngine.AddressableAssets; + +namespace Game.LoadAllPrefabs +{ + public class LoadAllPrefabs : NetworkBehaviour + { + [SerializeField] List m_DynamicPrefabReferences; + + [SerializeField] + int m_ArtificialDelayMilliseconds = 1000; + + DynamicPrefabLoadingUtilities m_DynamicPrefabLoadingUtilities; + + void Start() + { + m_DynamicPrefabLoadingUtilities = new DynamicPrefabLoadingUtilities(NetworkManager.Singleton); + } + + public override void OnDestroy() + { + m_DynamicPrefabLoadingUtilities.UnloadAndReleaseAllDynamicPrefabs(); + base.OnDestroy(); + } + + // invoked by UI + public void OnClickedPreload() + { + PreloadPrefabs(); + } + + async void PreloadPrefabs() + { + var tasks = new List(); + foreach (var p in m_DynamicPrefabReferences) + { + tasks.Add(PreloadDynamicPrefabOnServerAndStartLoadingOnAllClients(p.AssetGUID)); + } + + await Task.WhenAll(tasks); + } + + /// + /// This call preloads the dynamic prefab on the server and sends a client rpc to all the clients to do the same. + /// + /// + async Task PreloadDynamicPrefabOnServerAndStartLoadingOnAllClients(string guid) + { + if (NetworkManager.Singleton.IsServer) + { + var assetGuid = new AddressableGUID() + { + Value = guid + }; + + if (m_DynamicPrefabLoadingUtilities.IsPrefabLoadedLocally(assetGuid)) + { + Debug.Log("Prefab is already loaded by all peers"); + return; + } + + Debug.Log("Loading dynamic prefab on the clients..."); + LoadAddressableClientRpc(assetGuid); + await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); + } + } + + [ClientRpc] + void LoadAddressableClientRpc(AddressableGUID guid, ClientRpcParams rpcParams = default) + { + if (!IsHost) + { + Load(guid); + } + + async void Load(AddressableGUID assetGuid) + { + Debug.Log("Loading dynamic prefab on the client..."); + await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); + Debug.Log("Client loaded dynamic prefab"); + AcknowledgeSuccessfulPrefabLoadServerRpc(assetGuid.GetHashCode()); + } + } + + [ServerRpc(RequireOwnership = false)] + void AcknowledgeSuccessfulPrefabLoadServerRpc(int prefabHash, ServerRpcParams rpcParams = default) + { + Debug.Log("Client acknowledged successful prefab load with hash: " + prefabHash); + m_DynamicPrefabLoadingUtilities.RecordThatClientHasLoadedAPrefab(prefabHash, rpcParams.Receive.SenderClientId); + } + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Load All Prefabs/DynamicPrefabManager.PreloadAllPrefabs.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Preload All Prefabs Asynchronously/LoadAllPrefabs.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Load All Prefabs/DynamicPrefabManager.PreloadAllPrefabs.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Preload All Prefabs Asynchronously/LoadAllPrefabs.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Spawn As Network-Invisible For Loading Clients/DynamicPrefabManager.SpawnInvisibleWhileClientLoadsPrefab.cs b/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Spawn As Network-Invisible For Loading Clients/DynamicPrefabManager.SpawnInvisibleWhileClientLoadsPrefab.cs deleted file mode 100644 index 334d7925a..000000000 --- a/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Spawn As Network-Invisible For Loading Clients/DynamicPrefabManager.SpawnInvisibleWhileClientLoadsPrefab.cs +++ /dev/null @@ -1,65 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using Unity.Netcode; -using UnityEngine; - -namespace Game -{ - public partial class DynamicPrefabManager - { - /// - /// This call spawns an addressable prefab by it's guid. It does not ensure that all the clients have loaded the prefab before spawning it. - /// All spawned objects are invisible to clients that don't have the prefab loaded. - /// The server tells the clients that lack the preloaded prefab to load it and acknowledge that they've loaded it, - /// and then the server makes the object visible to that client. - /// - /// - /// - public async Task SpawnImmediatelyAndHideUntilPrefabIsLoadedOnClient(string guid, Vector3 position, Quaternion rotation) - { - if (IsServer) - { - var assetGuid = new AddressableGUID() - { - Value = guid - }; - - return await Spawn(assetGuid); - } - - return null; - - async Task Spawn(AddressableGUID assetGuid) - { - var prefab = await LoadDynamicPrefab(assetGuid); - var obj = Instantiate(prefab, position, rotation).GetComponent(); - - if(m_PrefabHashToNetworkObjectId.TryGetValue(assetGuid.GetHashCode(), out var networkObjectIds)) - { - networkObjectIds.Add(obj); - } - else - { - m_PrefabHashToNetworkObjectId.Add(assetGuid.GetHashCode(), new HashSet() {obj}); - } - - obj.CheckObjectVisibility = (clientId) => - { - //if the client has already loaded the prefab - we can make the object visible to them - if (HasClientLoadedPrefab(clientId, assetGuid.GetHashCode())) - { - return true; - } - //otherwise the clients need to load the prefab, and after they ack - the ShowHiddenObjectsToClient - LoadAddressableClientRpc(assetGuid, new ClientRpcParams(){Send = new ClientRpcSendParams(){TargetClientIds = new ulong[]{clientId}}}); - return false; - }; - - obj.SpawnWithOwnership(m_NetworkManager.LocalClientId); - - return obj; - } - } - } -} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Load All Prefabs/DynamicPrefabManager.PreloadAllPrefabs.cs b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Load All Prefabs/DynamicPrefabManager.PreloadAllPrefabs.cs deleted file mode 100644 index f7981ec3b..000000000 --- a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Load All Prefabs/DynamicPrefabManager.PreloadAllPrefabs.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System; -using System.Threading.Tasks; -using UnityEngine; - -namespace Game -{ - public partial class DynamicPrefabManager - { - /// - /// This call preloads the dynamic prefab on the server and sends a client rpc to all the clients to do the same. - /// - /// - public async Task PreloadDynamicPrefabOnServerAndStartLoadingOnAllClients(string guid) - { - if (IsServer) - { - var assetGuid = new AddressableGUID() - { - Value = guid - }; - - if (m_LoadedDynamicPrefabResourceHandles.ContainsKey(assetGuid)) - { - Debug.Log("Prefab is already loaded by all peers"); - return; - } - - Debug.Log("Loading dynamic prefab on the clients..."); - LoadAddressableClientRpc(assetGuid); - await LoadDynamicPrefab(assetGuid); - } - } - } -} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server Authoritative Synchronous Spawn.meta b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Server Authoritative Synchronous Spawn.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs new file mode 100644 index 000000000..5b38aebff --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs @@ -0,0 +1,137 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Unity.Netcode; +using UnityEngine; +using UnityEngine.AddressableAssets; +using Random = UnityEngine.Random; + +namespace Game.SynchronousDynamicPrefabSpawn +{ + public class SynchronousDynamicPrefabSpawn : NetworkBehaviour + { + [SerializeField] List m_DynamicPrefabReferences; + + [SerializeField] + int m_ArtificialDelayMilliseconds = 1000; + + [SerializeField] float m_SpawnTimeoutInSeconds; + + float m_SynchronousSpawnTimeoutTimer; + + int m_SynchronousSpawnAckCount = 0; + + DynamicPrefabLoadingUtilities m_DynamicPrefabLoadingUtilities; + + void Start() + { + m_DynamicPrefabLoadingUtilities = new DynamicPrefabLoadingUtilities(NetworkManager.Singleton); + } + + public override void OnDestroy() + { + m_DynamicPrefabLoadingUtilities.UnloadAndReleaseAllDynamicPrefabs(); + base.OnDestroy(); + } + + // invoked by UI + public void OnClickedTrySpawnSynchronously() + { + TrySpawnSynchronously(); + } + + async void TrySpawnSynchronously() + { + var randomPrefab = m_DynamicPrefabReferences[Random.Range(0, m_DynamicPrefabReferences.Count)]; + await TrySpawnDynamicPrefabSynchronously(randomPrefab.AssetGUID, Random.insideUnitCircle * 5, Quaternion.identity); + } + + /// + /// This call attempts to spawn a prefab by it's addressable guid - it ensures that all the clients have loaded the prefab before spawning it, + /// and if the clients fail to acknowledge that they've loaded a prefab - the spawn will fail. + /// + /// + /// + async Task<(bool Success, NetworkObject Obj)> TrySpawnDynamicPrefabSynchronously(string guid, Vector3 position, Quaternion rotation) + { + if (IsServer) + { + var assetGuid = new AddressableGUID() + { + Value = guid + }; + + if (m_DynamicPrefabLoadingUtilities.IsPrefabLoadedLocally(assetGuid)) + { + Debug.Log("Prefab is already loaded by all peers, we can spawn it immediately"); + var obj = await Spawn(assetGuid); + return (true, obj); + } + + m_SynchronousSpawnAckCount = 0; + m_SynchronousSpawnTimeoutTimer = 0; + + Debug.Log("Loading dynamic prefab on the clients..."); + LoadAddressableClientRpc(assetGuid); + //load the prefab on the server, so that any late-joiner will need to load that prefab also + await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); + var requiredAcknowledgementsCount = IsHost ? NetworkManager.Singleton.ConnectedClients.Count - 1 : + NetworkManager.Singleton.ConnectedClients.Count; + + while (m_SynchronousSpawnTimeoutTimer < m_SpawnTimeoutInSeconds) + { + if (m_SynchronousSpawnAckCount >= requiredAcknowledgementsCount) + { + Debug.Log($"All clients have loaded the prefab in {m_SynchronousSpawnTimeoutTimer} seconds, spawning the prefab on the server..."); + var obj = await Spawn(assetGuid); + return (true, obj); + } + + m_SynchronousSpawnTimeoutTimer += Time.deltaTime; + await Task.Yield(); + } + + Debug.LogError("Failed to spawn dynamic prefab - timeout"); + return (false, null); + } + + return (false, null); + + async Task Spawn(AddressableGUID assetGuid) + { + var prefab = await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, + m_ArtificialDelayMilliseconds); + var obj = Instantiate(prefab, position, rotation).GetComponent(); + obj.SpawnWithOwnership(NetworkManager.Singleton.LocalClientId); + Debug.Log("Spawned dynamic prefab"); + return obj; + } + } + + [ClientRpc] + void LoadAddressableClientRpc(AddressableGUID guid, ClientRpcParams rpcParams = default) + { + if (!IsHost) + { + Load(guid); + } + + async void Load(AddressableGUID assetGuid) + { + Debug.Log("Loading dynamic prefab on the client..."); + await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); + Debug.Log("Client loaded dynamic prefab"); + AcknowledgeSuccessfulPrefabLoadServerRpc(assetGuid.GetHashCode()); + } + } + + [ServerRpc(RequireOwnership = false)] + void AcknowledgeSuccessfulPrefabLoadServerRpc(int prefabHash, ServerRpcParams rpcParams = default) + { + m_SynchronousSpawnAckCount++; + Debug.Log("Client acknowledged successful prefab load with hash: " + prefabHash); + m_DynamicPrefabLoadingUtilities.RecordThatClientHasLoadedAPrefab(prefabHash, + rpcParams.Receive.SenderClientId); + } + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Server Authoritative Synchronous Spawn/DynamicPrefabManager.SynchronousSpawn.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Server Authoritative Synchronous Spawn/DynamicPrefabManager.SynchronousSpawn.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Spawn As Network-Invisible For Loading Clients.meta b/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Spawn As Network-Invisible For Loading Clients.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn As Network-Invisible For Loading Clients/SpawnPrefabInvisibleWhileIsLoading.cs b/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn As Network-Invisible For Loading Clients/SpawnPrefabInvisibleWhileIsLoading.cs new file mode 100644 index 000000000..5cda9e420 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn As Network-Invisible For Loading Clients/SpawnPrefabInvisibleWhileIsLoading.cs @@ -0,0 +1,146 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Unity.Netcode; +using UnityEngine; +using UnityEngine.AddressableAssets; +using Random = UnityEngine.Random; + +namespace Game.SpawnPrefabInvisibleWhileIsLoading +{ + public class SpawnPrefabInvisibleWhileIsLoading : NetworkBehaviour + { + [SerializeField] List m_DynamicPrefabReferences; + + [SerializeField] + int m_ArtificialDelayMilliseconds = 1000; + + //A storage where we keep association between prefab (hash of it's GUID) and the spawned network objects that use it + Dictionary> m_PrefabHashToNetworkObjectId = new Dictionary>(); + + DynamicPrefabLoadingUtilities m_DynamicPrefabLoadingUtilities; + + void Start() + { + m_DynamicPrefabLoadingUtilities = new DynamicPrefabLoadingUtilities(NetworkManager.Singleton); + } + + public override void OnDestroy() + { + m_DynamicPrefabLoadingUtilities.UnloadAndReleaseAllDynamicPrefabs(); + base.OnDestroy(); + } + + // invoked by UI + public void OnClickedTrySpawnInvisible() + { + TrySpawnInvisible(); + } + + async void TrySpawnInvisible() + { + var randomPrefab = m_DynamicPrefabReferences[Random.Range(0, m_DynamicPrefabReferences.Count)]; + await SpawnImmediatelyAndHideUntilPrefabIsLoadedOnClient(randomPrefab.AssetGUID, Random.insideUnitCircle * 5, Quaternion.identity); + } + + /// + /// This call spawns an addressable prefab by it's guid. It does not ensure that all the clients have loaded the + /// prefab before spawning it. All spawned objects are invisible to clients that don't have the prefab loaded. + /// The server tells the clients that lack the preloaded prefab to load it and acknowledge that they've loaded + /// it, and then the server makes the object visible to that client. + /// + /// + /// + async Task SpawnImmediatelyAndHideUntilPrefabIsLoadedOnClient(string guid, Vector3 position, Quaternion rotation) + { + if (IsServer) + { + var assetGuid = new AddressableGUID() + { + Value = guid + }; + + return await Spawn(assetGuid); + } + + return null; + + async Task Spawn(AddressableGUID assetGuid) + { + var prefab = await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, + m_ArtificialDelayMilliseconds); + var obj = Instantiate(prefab, position, rotation).GetComponent(); + + if (m_PrefabHashToNetworkObjectId.TryGetValue(assetGuid.GetHashCode(), out var networkObjectIds)) + { + networkObjectIds.Add(obj); + } + else + { + m_PrefabHashToNetworkObjectId.Add(assetGuid.GetHashCode(), new HashSet() {obj}); + } + + obj.CheckObjectVisibility = (clientId) => + { + //if the client has already loaded the prefab - we can make the object visible to them + if (m_DynamicPrefabLoadingUtilities.HasClientLoadedPrefab(clientId, assetGuid.GetHashCode())) + { + return true; + } + //otherwise the clients need to load the prefab, and after they ack - the ShowHiddenObjectsToClient + LoadAddressableClientRpc(assetGuid, new ClientRpcParams(){Send = new ClientRpcSendParams(){TargetClientIds = new ulong[]{clientId}}}); + return false; + }; + + obj.SpawnWithOwnership(NetworkManager.Singleton.LocalClientId); + + return obj; + } + } + + void ShowHiddenObjectsToClient(int prefabHash, ulong clientId) + { + if (m_PrefabHashToNetworkObjectId.TryGetValue(prefabHash, out var networkObjects)) + { + foreach (var obj in networkObjects) + { + if (!obj.IsNetworkVisibleTo(clientId)) + { + obj.NetworkShow(clientId); + } + } + } + } + + [ClientRpc] + void LoadAddressableClientRpc(AddressableGUID guid, ClientRpcParams rpcParams = default) + { + if (!IsHost) + { + Load(guid); + } + + async void Load(AddressableGUID assetGuid) + { + Debug.Log("Loading dynamic prefab on the client..."); + await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); + Debug.Log("Client loaded dynamic prefab"); + AcknowledgeSuccessfulPrefabLoadServerRpc(assetGuid.GetHashCode()); + } + } + + [ServerRpc(RequireOwnership = false)] + void AcknowledgeSuccessfulPrefabLoadServerRpc(int prefabHash, ServerRpcParams rpcParams = default) + { + Debug.Log("Client acknowledged successful prefab load with hash: " + prefabHash); + m_DynamicPrefabLoadingUtilities.RecordThatClientHasLoadedAPrefab(prefabHash, + rpcParams.Receive.SenderClientId); + + //the server has all the objects visible, no need to do anything + if (rpcParams.Receive.SenderClientId != NetworkManager.Singleton.LocalClientId) + { + ShowHiddenObjectsToClient(prefabHash, rpcParams.Receive.SenderClientId); + } + } + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Spawn As Network-Invisible For Loading Clients/DynamicPrefabManager.SpawnInvisibleWhileClientLoadsPrefab.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn As Network-Invisible For Loading Clients/SpawnPrefabInvisibleWhileIsLoading.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Spawn As Network-Invisible For Loading Clients/DynamicPrefabManager.SpawnInvisibleWhileClientLoadsPrefab.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn As Network-Invisible For Loading Clients/SpawnPrefabInvisibleWhileIsLoading.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases).meta b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases).meta new file mode 100644 index 000000000..ebc0c6b87 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases).meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: af9f34bc59b364f4692a37f9d1325df0 +timeCreated: 1667392114 \ No newline at end of file diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs new file mode 100644 index 000000000..132ebff6e --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs @@ -0,0 +1,269 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Unity.Netcode; +using UnityEngine; +using UnityEngine.AddressableAssets; +using Random = UnityEngine.Random; + +namespace Game.APIPlayground +{ + public class APIPlayground : NetworkBehaviour + { + [SerializeField] List m_DynamicPrefabReferences; + + [SerializeField] + int m_ArtificialDelayMilliseconds = 1000; + + [SerializeField] float m_SpawnTimeoutInSeconds; + + //A storage where we keep association between prefab (hash of it's GUID) and the spawned network objects that use it + Dictionary> m_PrefabHashToNetworkObjectId = new Dictionary>(); + + float m_SynchronousSpawnTimeoutTimer; + + int m_SynchronousSpawnAckCount = 0; + + DynamicPrefabLoadingUtilities m_DynamicPrefabLoadingUtilities; + + void Start() + { + m_DynamicPrefabLoadingUtilities = new DynamicPrefabLoadingUtilities(NetworkManager.Singleton); + } + + public override void OnDestroy() + { + m_DynamicPrefabLoadingUtilities.UnloadAndReleaseAllDynamicPrefabs(); + base.OnDestroy(); + } + + // invoked by UI + public void OnClickedPreload() + { + PreloadPrefabs(); + } + + // invoked by UI + public void OnClickedTrySpawnSynchronously() + { + TrySpawnSynchronously(); + } + + // invoked by UI + public void OnClickedTrySpawnInvisible() + { + TrySpawnInvisible(); + } + + async void PreloadPrefabs() + { + var tasks = new List(); + foreach (var p in m_DynamicPrefabReferences) + { + tasks.Add(PreloadDynamicPrefabOnServerAndStartLoadingOnAllClients(p.AssetGUID)); + } + + await Task.WhenAll(tasks); + } + + /// + /// This call preloads the dynamic prefab on the server and sends a client rpc to all the clients to do the same. + /// + /// + async Task PreloadDynamicPrefabOnServerAndStartLoadingOnAllClients(string guid) + { + if (NetworkManager.Singleton.IsServer) + { + var assetGuid = new AddressableGUID() + { + Value = guid + }; + + if (m_DynamicPrefabLoadingUtilities.IsPrefabLoadedLocally(assetGuid)) + { + Debug.Log("Prefab is already loaded by all peers"); + return; + } + + Debug.Log("Loading dynamic prefab on the clients..."); + LoadAddressableClientRpc(assetGuid); + await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); + } + } + + async void TrySpawnSynchronously() + { + var randomPrefab = m_DynamicPrefabReferences[Random.Range(0, m_DynamicPrefabReferences.Count)]; + await TrySpawnDynamicPrefabSynchronously(randomPrefab.AssetGUID, Random.insideUnitCircle * 5, Quaternion.identity); + } + + /// + /// This call attempts to spawn a prefab by it's addressable guid - it ensures that all the clients have loaded the prefab before spawning it, + /// and if the clients fail to acknowledge that they've loaded a prefab - the spawn will fail. + /// + /// + /// + async Task<(bool Success, NetworkObject Obj)> TrySpawnDynamicPrefabSynchronously(string guid, Vector3 position, Quaternion rotation) + { + if (IsServer) + { + var assetGuid = new AddressableGUID() + { + Value = guid + }; + + if (m_DynamicPrefabLoadingUtilities.IsPrefabLoadedLocally(assetGuid)) + { + Debug.Log("Prefab is already loaded by all peers, we can spawn it immediately"); + var obj = await Spawn(assetGuid); + return (true, obj); + } + + m_SynchronousSpawnAckCount = 0; + m_SynchronousSpawnTimeoutTimer = 0; + + Debug.Log("Loading dynamic prefab on the clients..."); + LoadAddressableClientRpc(assetGuid); + //load the prefab on the server, so that any late-joiner will need to load that prefab also + await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); + var requiredAcknowledgementsCount = IsHost ? NetworkManager.Singleton.ConnectedClients.Count - 1 : + NetworkManager.Singleton.ConnectedClients.Count; + + while (m_SynchronousSpawnTimeoutTimer < m_SpawnTimeoutInSeconds) + { + if (m_SynchronousSpawnAckCount >= requiredAcknowledgementsCount) + { + Debug.Log($"All clients have loaded the prefab in {m_SynchronousSpawnTimeoutTimer} seconds, spawning the prefab on the server..."); + var obj = await Spawn(assetGuid); + return (true, obj); + } + + m_SynchronousSpawnTimeoutTimer += Time.deltaTime; + await Task.Yield(); + } + + Debug.LogError("Failed to spawn dynamic prefab - timeout"); + return (false, null); + } + + return (false, null); + + async Task Spawn(AddressableGUID assetGuid) + { + var prefab = await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, + m_ArtificialDelayMilliseconds); + var obj = Instantiate(prefab, position, rotation).GetComponent(); + obj.SpawnWithOwnership(NetworkManager.Singleton.LocalClientId); + Debug.Log("Spawned dynamic prefab"); + return obj; + } + } + + async void TrySpawnInvisible() + { + var randomPrefab = m_DynamicPrefabReferences[Random.Range(0, m_DynamicPrefabReferences.Count)]; + await SpawnImmediatelyAndHideUntilPrefabIsLoadedOnClient(randomPrefab.AssetGUID, Random.insideUnitCircle * 5, Quaternion.identity); + } + + /// + /// This call spawns an addressable prefab by it's guid. It does not ensure that all the clients have loaded the + /// prefab before spawning it. All spawned objects are invisible to clients that don't have the prefab loaded. + /// The server tells the clients that lack the preloaded prefab to load it and acknowledge that they've loaded + /// it, and then the server makes the object visible to that client. + /// + /// + /// + async Task SpawnImmediatelyAndHideUntilPrefabIsLoadedOnClient(string guid, Vector3 position, Quaternion rotation) + { + if (IsServer) + { + var assetGuid = new AddressableGUID() + { + Value = guid + }; + + return await Spawn(assetGuid); + } + + return null; + + async Task Spawn(AddressableGUID assetGuid) + { + var prefab = await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, + m_ArtificialDelayMilliseconds); + var obj = Instantiate(prefab, position, rotation).GetComponent(); + + if (m_PrefabHashToNetworkObjectId.TryGetValue(assetGuid.GetHashCode(), out var networkObjectIds)) + { + networkObjectIds.Add(obj); + } + else + { + m_PrefabHashToNetworkObjectId.Add(assetGuid.GetHashCode(), new HashSet() {obj}); + } + + obj.CheckObjectVisibility = (clientId) => + { + //if the client has already loaded the prefab - we can make the object visible to them + if (m_DynamicPrefabLoadingUtilities.HasClientLoadedPrefab(clientId, assetGuid.GetHashCode())) + { + return true; + } + //otherwise the clients need to load the prefab, and after they ack - the ShowHiddenObjectsToClient + LoadAddressableClientRpc(assetGuid, new ClientRpcParams(){Send = new ClientRpcSendParams(){TargetClientIds = new ulong[]{clientId}}}); + return false; + }; + + obj.SpawnWithOwnership(NetworkManager.Singleton.LocalClientId); + + return obj; + } + } + + void ShowHiddenObjectsToClient(int prefabHash, ulong clientId) + { + if (m_PrefabHashToNetworkObjectId.TryGetValue(prefabHash, out var networkObjects)) + { + foreach (var obj in networkObjects) + { + if (!obj.IsNetworkVisibleTo(clientId)) + { + obj.NetworkShow(clientId); + } + } + } + } + + [ClientRpc] + void LoadAddressableClientRpc(AddressableGUID guid, ClientRpcParams rpcParams = default) + { + if (!IsHost) + { + Load(guid); + } + + async void Load(AddressableGUID assetGuid) + { + Debug.Log("Loading dynamic prefab on the client..."); + await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); + Debug.Log("Client loaded dynamic prefab"); + AcknowledgeSuccessfulPrefabLoadServerRpc(assetGuid.GetHashCode()); + } + } + + [ServerRpc(RequireOwnership = false)] + void AcknowledgeSuccessfulPrefabLoadServerRpc(int prefabHash, ServerRpcParams rpcParams = default) + { + m_SynchronousSpawnAckCount++; + Debug.Log("Client acknowledged successful prefab load with hash: " + prefabHash); + m_DynamicPrefabLoadingUtilities.RecordThatClientHasLoadedAPrefab(prefabHash, + rpcParams.Receive.SenderClientId); + + //the server has all the objects visible, no need to do anything + if (rpcParams.Receive.SenderClientId != NetworkManager.Singleton.LocalClientId) + { + ShowHiddenObjectsToClient(prefabHash, rpcParams.Receive.SenderClientId); + } + } + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs.meta new file mode 100644 index 000000000..761069d4b --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 06f0d49321026254cbd9420e0a8a1f38 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs index 082986a95..5df68ce16 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs @@ -15,10 +15,8 @@ public sealed class AppController : NetworkBehaviour // placeholder until this is fetched from UI ushort m_Port = 7777; - - [SerializeField] DynamicPrefabManager m_DynamicPrefabManager; - [SerializeField] List m_DynamicPrefabRefs; + /*[SerializeField] List m_DynamicPrefabRefs;*/ [SerializeField] GameObject m_ConnectionUI; @@ -29,7 +27,8 @@ public sealed class AppController : NetworkBehaviour public override void OnDestroy() { - m_DynamicPrefabManager.UnloadAndReleaseAllDynamicPrefabs(); + // TODO see if you need this + /*m_DynamicPrefabManager.UnloadAndReleaseAllDynamicPrefabs();*/ base.OnDestroy(); } @@ -58,19 +57,22 @@ public override void OnNetworkDespawn() m_SpawnUI.SetActive(true); } - public async void OnClickedSpawnWithVisibility() + // done inside the spawn invisible example + /*public async void OnClickedSpawnWithVisibility() { var randomPrefab = m_DynamicPrefabRefs[Random.Range(0, m_DynamicPrefabRefs.Count)]; var spawnedObject = await m_DynamicPrefabManager.SpawnImmediatelyAndHideUntilPrefabIsLoadedOnClient(randomPrefab.AssetGUID, Random.insideUnitCircle * 5, Quaternion.identity); - } + }*/ - public async void OnClickedTrySpawnSynchronously() + // done inside the synchronous scene example + /*public async void OnClickedTrySpawnSynchronously() { var randomPrefab = m_DynamicPrefabRefs[Random.Range(0, m_DynamicPrefabRefs.Count)]; var spawnedObject = await m_DynamicPrefabManager.TrySpawnDynamicPrefabSynchronously(randomPrefab.AssetGUID, Random.insideUnitCircle * 5, Quaternion.identity); - } + }*/ - public async void OnClickedPreload() + // done inside the preload all prefabs example + /*public async void OnClickedPreload() { var tasks = new List(); foreach (var p in m_DynamicPrefabRefs) @@ -80,7 +82,7 @@ public async void OnClickedPreload() await Task.WhenAll(tasks); - } + }*/ // placeholder until this is triggered by UI [ContextMenu(nameof(OnClickedShutdown))] diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionManager.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionManager.cs index 06bbe411a..a9d39cf75 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionManager.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionManager.cs @@ -9,8 +9,6 @@ namespace Game /// public class ConnectionManager : MonoBehaviour { - public DynamicPrefabManager dynamicPrefabManager; - public NetworkManager networkManager; ConnectionState m_CurrentState; diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs index 6cdf04787..30ea01bb3 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs @@ -29,8 +29,9 @@ void StartClient() m_ConnectionManager.networkManager.NetworkConfig.ForceSamePrefabs = false; var transport = m_ConnectionManager.networkManager.GetComponent(); transport.SetConnectionData(m_ConnectionManager.m_ConnectAddress, m_ConnectionManager.m_Port); - m_ConnectionManager.networkManager.NetworkConfig.ConnectionData = - m_ConnectionManager.dynamicPrefabManager.GenerateRequestPayload(); + // TODO gather request payload + /*m_ConnectionManager.networkManager.NetworkConfig.ConnectionData = + m_ConnectionManager.dynamicPrefabManager.GenerateRequestPayload();*/ m_ConnectionManager.networkManager.StartClient(); } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientPreloadingState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientPreloadingState.cs index 77be28f19..5d69b6f86 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientPreloadingState.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientPreloadingState.cs @@ -34,7 +34,8 @@ async void HandleDisconnectReason() GUIDs = disconnectionPayload.guids.Select(item => new AddressableGUID() { Value = item }).ToArray() }; - await m_ConnectionManager.dynamicPrefabManager.LoadDynamicPrefabs(addressableGuidCollection); + // TODO re-integrate reloading + //await m_ConnectionManager.dynamicPrefabManager.LoadDynamicPrefabs(addressableGuidCollection); Debug.Log("Restarting client"); m_ConnectionManager.ChangeState(m_ConnectionManager.m_ClientConnecting); } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/HostingState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/HostingState.cs index f5349dee8..6e2bef157 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/HostingState.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/HostingState.cs @@ -20,7 +20,8 @@ public override void Exit() { } public override void ApprovalCheck(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) { - m_ConnectionManager.dynamicPrefabManager.ConnectionApprovalCallback(request, response); + // TODO: hookup connection approval from the connection approval use case + /*m_ConnectionManager.dynamicPrefabManager.ConnectionApprovalCallback(request, response);*/ } public override void OnUserRequestedShutdown() diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/OfflineState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/OfflineState.cs index a84398abf..26d603e1e 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/OfflineState.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/OfflineState.cs @@ -16,7 +16,8 @@ public OfflineState(ConnectionManager connectionManager) public override void Enter() { - m_ConnectionManager.dynamicPrefabManager.UnloadAndReleaseAllDynamicPrefabs(); + // TODO: clear this from here + //m_ConnectionManager.dynamicPrefabManager.UnloadAndReleaseAllDynamicPrefabs(); m_ConnectionManager.networkManager.Shutdown(); } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs new file mode 100644 index 000000000..8bb8ffb2b --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs @@ -0,0 +1,172 @@ +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Unity.Netcode; +using UnityEngine; +using UnityEngine.AddressableAssets; +using UnityEngine.ResourceManagement.AsyncOperations; + +namespace Game +{ + public class DynamicPrefabLoadingUtilities + { + const int k_EmptyDynamicPrefabHash = -1; + + int m_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; + + Dictionary> m_LoadedDynamicPrefabResourceHandles = new Dictionary>(); + + List m_DynamicPrefabGUIDs = new List(); //cached list to avoid GC + + //A storage where we keep the association between the dynamic prefab (hash of it's GUID) and the clients that have it loaded + Dictionary> m_PrefabHashToClientIds = new Dictionary>(); + + public bool HasClientLoadedPrefab(ulong clientId, int prefabHash) => + m_PrefabHashToClientIds.TryGetValue(prefabHash, out var clientIds) && clientIds.Contains(clientId); + + public bool IsPrefabLoadedLocally(AddressableGUID assetGuid) => + m_LoadedDynamicPrefabResourceHandles.ContainsKey(assetGuid); + + public int LoadedPrefabCount => m_LoadedDynamicPrefabResourceHandles.Count; + + public int ServerPrefabHash => m_HashOfDynamicPrefabGUIDs; + + NetworkManager m_NetworkManager; + + public DynamicPrefabLoadingUtilities(NetworkManager networkManager) + { + m_NetworkManager = networkManager; + } + + public void RecordThatClientHasLoadedAllPrefabs(ulong clientId) + { + foreach (var dynamicPrefabGUID in m_DynamicPrefabGUIDs) + { + RecordThatClientHasLoadedAPrefab(dynamicPrefabGUID.GetHashCode(), clientId); + } + } + + public void RecordThatClientHasLoadedAPrefab(int assetGuidHash, ulong clientId) + { + if (m_PrefabHashToClientIds.TryGetValue(assetGuidHash, out var clientIds)) + { + clientIds.Add(clientId); + } + else + { + m_PrefabHashToClientIds.Add(assetGuidHash, new HashSet() { clientId }); + } + } + + public byte[] GenerateRequestPayload() + { + var payload = JsonUtility.ToJson(new ConnectionPayload() + { + HashOfDynamicPrefabGUIDs = m_HashOfDynamicPrefabGUIDs + }); + + return System.Text.Encoding.UTF8.GetBytes(payload); + } + + public string GenerateDisconnectionPayload() + { + var rejectionPayload = new DisconnectionPayload() + { + reason = DisconnectReason.ClientNeedsToPreload, + guids = m_DynamicPrefabGUIDs.Select(item => item.ToString()).ToList() + }; + + return JsonUtility.ToJson(rejectionPayload); + } + + public async Task LoadDynamicPrefab(AddressableGUID guid, int artificialDelayMilliseconds, + bool recomputeHash = true) + { + if (m_LoadedDynamicPrefabResourceHandles.ContainsKey(guid)) + { + Debug.Log($"Prefab has already been loaded, skipping loading this time | {guid}"); + return m_LoadedDynamicPrefabResourceHandles[guid].Result; + } + + Debug.Log($"Loading dynamic prefab {guid.Value}"); + var op = Addressables.LoadAssetAsync(guid.ToString()); + var prefab = await op.Task; + +#if DEBUG + //this delay here is to make it obvious how different loading strategies differ + //artificial latency would also highlight the difference + await Task.Delay(artificialDelayMilliseconds); +#endif + + m_NetworkManager.AddNetworkPrefab(prefab); + m_LoadedDynamicPrefabResourceHandles.Add(guid, op); + + if (recomputeHash) + { + CalculateDynamicPrefabArrayHash(); + } + + return prefab; + } + + public async Task> LoadDynamicPrefabs(AddressableGUIDCollection addressableGUIDCollection, + int artificialDelaySeconds) + { + var tasks = new List>(); + + foreach (var guid in addressableGUIDCollection.GUIDs) + { + tasks.Add( LoadDynamicPrefab(guid, artificialDelaySeconds, recomputeHash:false)); + } + + var prefabs = await Task.WhenAll(tasks); + CalculateDynamicPrefabArrayHash(); + + return prefabs; + } + + public void RefreshLoadedPrefabGuids() + { + m_DynamicPrefabGUIDs.Clear(); + m_DynamicPrefabGUIDs.AddRange(m_LoadedDynamicPrefabResourceHandles.Keys); + } + + void CalculateDynamicPrefabArrayHash() + { + //we need to sort the array so that the hash is consistent across clients + //it's possible to use an order-independent hashing algorithm for some potential performance gains + RefreshLoadedPrefabGuids(); + m_DynamicPrefabGUIDs.Sort((a, b) => a.Value.CompareTo(b.Value)); + m_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; + + //a simple hash combination algorithm suggested by Jon Skeet, + //found here: https://stackoverflow.com/questions/1646807/quick-and-simple-hash-code-combinations + //we can't use C# HashCode combine because it is unreliable across different processes (by design) + unchecked + { + int hash = 17; + for (var i = 0; i < m_DynamicPrefabGUIDs.Count; ++i) + { + hash = hash * 31 + m_DynamicPrefabGUIDs[i].GetHashCode(); + } + + m_HashOfDynamicPrefabGUIDs = hash; + } + + Debug.Log($"Calculated hash of dynamic prefabs: {m_HashOfDynamicPrefabGUIDs}"); + } + + public void UnloadAndReleaseAllDynamicPrefabs() + { + m_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; + + foreach (var handle in m_LoadedDynamicPrefabResourceHandles.Values) + { + m_NetworkManager.RemoveNetworkPrefab(handle.Result); + Addressables.Release(handle); + } + + m_LoadedDynamicPrefabResourceHandles.Clear(); + } + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs.meta new file mode 100644 index 000000000..258cd724e --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8c0fb606625053c43a0fd7769ac5d1a5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabManager.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabManager.cs index d9d658341..beb57a48f 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabManager.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabManager.cs @@ -1,11 +1,9 @@ using System; using System.Collections.Generic; -using System.Linq; using System.Threading.Tasks; using Unity.Netcode; using UnityEngine; using UnityEngine.AddressableAssets; -using UnityEngine.ResourceManagement.AsyncOperations; namespace Game { @@ -21,153 +19,15 @@ namespace Game //this sample does not cover the case of addressable usage when the client is loading custom visual prefabs and swapping out the rendering object for essentially non-dynamic prefabs - public partial class DynamicPrefabManager : NetworkBehaviour + public class DynamicPrefabManager : NetworkBehaviour { - const int k_MaxConnectPayload = 1024; - - const int k_EmptyDynamicPrefabHash = -1; - - [SerializeField] float m_SpawnTimeoutInSeconds; - - [SerializeField] NetworkManager m_NetworkManager; - - [SerializeField] - int m_ArtificialDelayMilliseconds = 1000; - - int m_SynchronousSpawnAckCount = 0; - - float m_SynchronousSpawnTimeoutTimer = 0; - - int m_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; - - Dictionary> m_LoadedDynamicPrefabResourceHandles = new Dictionary>(); - - List m_DynamicPrefabGUIDs = new List(); //cached list to avoid GC - - //A storage where we keep the association between the dynamic prefab (hash of it's GUID) and the clients that have it loaded - Dictionary> m_PrefabHashToClientIds = new Dictionary>(); - - //A storage where we keep association between prefab (hash of it's GUID) and the spawned network objects that use it - Dictionary> m_PrefabHashToNetworkObjectId = new Dictionary>(); - - public bool HasClientLoadedPrefab(ulong clientId, int prefabHash) => m_PrefabHashToClientIds.TryGetValue(prefabHash, out var clientIds) && clientIds.Contains(clientId); - - void RecordThatClientHasLoadedAPrefab(int assetGuidHash, ulong clientId) - { - if (m_PrefabHashToClientIds.TryGetValue(assetGuidHash, out var clientIds)) - { - clientIds.Add(clientId); - } - else - { - m_PrefabHashToClientIds.Add(assetGuidHash, new HashSet() {clientId}); - } - } - - public byte[] GenerateRequestPayload() - { - var payload = JsonUtility.ToJson(new ConnectionPayload() - { - HashOfDynamicPrefabGUIDs = m_HashOfDynamicPrefabGUIDs - }); - - return System.Text.Encoding.UTF8.GetBytes(payload); - } - public override void OnDestroy() { - UnloadAndReleaseAllDynamicPrefabs(); + //UnloadAndReleaseAllDynamicPrefabs(); base.OnDestroy(); } - public void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) - { - Debug.Log("Client is trying to connect " + request.ClientNetworkId); - var connectionData = request.Payload; - var clientId = request.ClientNetworkId; - - if (clientId == m_NetworkManager.LocalClientId) - { - //allow the host to connect - Approve(); - return; - } - - if (connectionData.Length > k_MaxConnectPayload) - { - // If connectionData is too big, deny immediately to avoid wasting time on the server. This is intended as - // a bit of light protection against DOS attacks that rely on sending silly big buffers of garbage. - ImmediateDeny(); - return; - } - - if (m_LoadedDynamicPrefabResourceHandles.Count == 0) - { - //immediately approve the connection if we haven't loaded any prefabs yet - Approve(); - return; - } - - var payload = System.Text.Encoding.UTF8.GetString(connectionData); - var connectionPayload = JsonUtility.FromJson(payload); // https://docs.unity3d.com/2020.2/Documentation/Manual/JSONSerialization.html - - int clientPrefabHash = connectionPayload.HashOfDynamicPrefabGUIDs; - int serverPrefabHash = m_HashOfDynamicPrefabGUIDs; - - //if the client has the same prefabs as the server - approve the connection - if (clientPrefabHash == serverPrefabHash) - { - Approve(); - - foreach (var dynamicPrefabGUID in m_DynamicPrefabGUIDs) - { - RecordThatClientHasLoadedAPrefab(dynamicPrefabGUID.GetHashCode(), clientId); - } - - return; - } - - // In order for clients to not just get disconnected with no feedback, the server needs to tell the client - // why it disconnected it. This could happen after an auth check on a service or because of gameplay - // reasons (server full, wrong build version, etc). - // The server can do so via the DisconnectReason in the ConnectionApprovalResponse. The guids of the prefabs - // the client will need to load will be sent, such that the client loads the needed prefabs, and reconnects. - - // A note: DisconnectReason will not be written to if the string is too large in size. This should be used - // only to tell the client "why" it failed -- the client should instead use services like UGS to fetch the - // relevant data it needs to fetch & download. - - m_DynamicPrefabGUIDs.Clear(); - m_DynamicPrefabGUIDs.AddRange(m_LoadedDynamicPrefabResourceHandles.Keys); - - var rejectionPayload = new DisconnectionPayload() - { - reason = DisconnectReason.ClientNeedsToPreload, - guids = m_DynamicPrefabGUIDs.Select(item => item.ToString()).ToList() - }; - - response.Reason = JsonUtility.ToJson(rejectionPayload); - ImmediateDeny(); - - // A note: sending large strings through Netcode is not ideal -- you'd usually want to use REST services to - // accomplish this instead. UGS services like Lobby can be a useful alternative. Another route may be to - // set ConnectionApprovalResponse's Pending flag to true, and send a CustomMessage containing the array of - // GUIDs to a client, which the client would load and reattempt a reconnection. - - void Approve() - { - response.Approved = true; - response.CreatePlayerObject = false; //we're not going to spawn a player object for this sample - } - - void ImmediateDeny() - { - response.Approved = false; - response.CreatePlayerObject = false; - } - } - - [ClientRpc] + /*[ClientRpc] void LoadAddressableClientRpc(AddressableGUID guid, ClientRpcParams rpcParams = default) { if (!IsHost) @@ -182,37 +42,23 @@ async void Load(AddressableGUID assetGuid) Debug.Log("Client loaded dynamic prefab"); AcknowledgeSuccessfulPrefabLoadServerRpc(assetGuid.GetHashCode()); } - } + }*/ [ServerRpc(RequireOwnership = false)] void AcknowledgeSuccessfulPrefabLoadServerRpc(int prefabHash, ServerRpcParams rpcParams = default) { - m_SynchronousSpawnAckCount++; + /*m_SynchronousSpawnAckCount++; Debug.Log("Client acknowledged successful prefab load with hash: " + prefabHash); RecordThatClientHasLoadedAPrefab(prefabHash, rpcParams.Receive.SenderClientId); //the server has all the objects visible, no need to do anything - if (rpcParams.Receive.SenderClientId != m_NetworkManager.LocalClientId) + if (rpcParams.Receive.SenderClientId != NetworkManager.Singleton.LocalClientId) { ShowHiddenObjectsToClient(prefabHash, rpcParams.Receive.SenderClientId); - } + }*/ } - void ShowHiddenObjectsToClient(int prefabHash, ulong clientId) - { - if(m_PrefabHashToNetworkObjectId.TryGetValue(prefabHash, out var networkObjects)) - { - foreach (var obj in networkObjects) - { - if (!obj.IsNetworkVisibleTo(clientId)) - { - obj.NetworkShow(clientId); - } - } - } - } - - public async Task> LoadDynamicPrefabs(AddressableGUIDCollection addressableGUIDCollection) + /*public async Task> LoadDynamicPrefabs(AddressableGUIDCollection addressableGUIDCollection) { var tasks = new List>(); @@ -225,9 +71,10 @@ public async Task> LoadDynamicPrefabs(AddressableGUIDCollectio CalculateDynamicPrefabArrayHash(); return prefabs; - } + }*/ - async Task LoadDynamicPrefab(AddressableGUID guid, bool recomputeHash = true) + // could keep it here + /*async Task LoadDynamicPrefab(AddressableGUID guid, bool recomputeHash = true) { if (m_LoadedDynamicPrefabResourceHandles.ContainsKey(guid)) { @@ -245,7 +92,7 @@ async Task LoadDynamicPrefab(AddressableGUID guid, bool recomputeHas await Task.Delay(m_ArtificialDelayMilliseconds); #endif - m_NetworkManager.AddNetworkPrefab(prefab); + NetworkManager.Singleton.AddNetworkPrefab(prefab); m_LoadedDynamicPrefabResourceHandles.Add(guid, op); if(recomputeHash) @@ -254,45 +101,19 @@ async Task LoadDynamicPrefab(AddressableGUID guid, bool recomputeHas } return prefab; - } - - void CalculateDynamicPrefabArrayHash() - { - //we need to sort the array so that the hash is consistent across clients - //it's possible to use an order-independent hashing algorithm for some potential performance gains - m_DynamicPrefabGUIDs.Clear(); - m_DynamicPrefabGUIDs.AddRange(m_LoadedDynamicPrefabResourceHandles.Keys); - m_DynamicPrefabGUIDs.Sort((a, b) => a.Value.CompareTo(b.Value)); - m_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; - - //a simple hash combination algorithm suggested by Jon Skeet, - //found here: https://stackoverflow.com/questions/1646807/quick-and-simple-hash-code-combinations - //we can't use C# HashCode combine because it is unreliable across different processes (by design) - unchecked - { - int hash = 17; - for (var i = 0; i < m_DynamicPrefabGUIDs.Count; ++i) - { - hash = hash * 31 + m_DynamicPrefabGUIDs[i].GetHashCode(); - } + }*/ - m_HashOfDynamicPrefabGUIDs = hash; - } - - Debug.Log($"Calculated hash of dynamic prefabs: {m_HashOfDynamicPrefabGUIDs}"); - } - - public void UnloadAndReleaseAllDynamicPrefabs() + /*public void UnloadAndReleaseAllDynamicPrefabs() { m_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; foreach (var handle in m_LoadedDynamicPrefabResourceHandles.Values) { - m_NetworkManager.RemoveNetworkPrefab(handle.Result); + NetworkManager.Singleton.RemoveNetworkPrefab(handle.Result); Addressables.Release(handle); } m_LoadedDynamicPrefabResourceHandles.Clear(); - } + }*/ } } diff --git a/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset b/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset index 1c60e594b..f3babb278 100644 --- a/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset +++ b/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset @@ -9,13 +9,20 @@ EditorBuildSettings: path: Assets/Scenes/00_Preloading.unity guid: 9fc0d4010bbf28b4594072e72b8655ab - enabled: 1 - path: Assets/Scenes/01_Server Auth Try Spawn Synchronously.unity + path: Assets/Scenes/01_Connection Approval.unity + guid: 7b6923b024b9f56478b4080b24977311 + - enabled: 1 + path: Assets/Scenes/02_Server Authoritative Preload All Prefabs Asynchronously.unity + guid: a4b10a79c91b64ba4863188ca77f36e8 + - enabled: 1 + path: Assets/Scenes/03_Server Authoritative Try Spawn Synchronously.unity guid: 4be06c926fab45343a99eec4b150b830 - enabled: 1 - path: Assets/Scenes/02_Server Auth Spawn Invisible While Prefab Loads.unity - guid: 7abfc934ee13b5a4cb68dfd571ecb4c6 + path: Assets/Scenes/04_Server Authoritative Spawn As Network-Invisible For Loading + Clients.unity + guid: a081f6a35639f4949bd9d20f656cb357 - enabled: 1 - path: Assets/Scenes/03_Server Auth Preload All Prefabs Asynchronously.unity - guid: a4b10a79c91b64ba4863188ca77f36e8 + path: Assets/Scenes/05_API Playground (All Use Cases).unity + guid: 7abfc934ee13b5a4cb68dfd571ecb4c6 m_configObjects: com.unity.addressableassets: {fileID: 11400000, guid: b1ddf61b298f54d599a3d954101e1b69, type: 2} From 88b2620c72d32f60d72996ca834239f41ce750d3 Mon Sep 17 00:00:00 2001 From: Fernando Cortez Date: Wed, 8 Feb 2023 15:04:29 -0500 Subject: [PATCH 36/55] dynamic prefab status utilities made into static class, reconnection re-integrated --- .../Scenes/01_Connection Approval.unity | 1 + ...e Preload All Prefabs Asynchronously.unity | 25 + ...uthoritative Try Spawn Synchronously.unity | 25 + ...etwork-Invisible For Loading Clients.unity | 27 +- ...und (All Post-Connection Use Cases).unity} | 571 +++++++++++++++++- ...All Post-Connection Use Cases).unity.meta} | 0 .../ConnectionApproval.cs | 22 +- .../LoadAllPrefabs.cs | 17 +- .../SynchronousDynamicPrefabSpawn.cs | 19 +- .../SpawnPrefabInvisibleWhileIsLoading.cs | 17 +- .../APIPlayground.cs | 111 +++- .../Assets/Scripts/Shared/AppController.cs | 40 -- .../Scripts/Shared/ConnectionManager.cs | 14 +- .../ConnectionStates/ClientConnectingState.cs | 5 +- .../ConnectionStates/ClientPreloadingState.cs | 3 +- .../Shared/ConnectionStates/HostingState.cs | 4 + .../Shared/ConnectionStates/OfflineState.cs | 3 +- .../Shared/DynamicPrefabLoadingUtilities.cs | 44 +- .../ProjectSettings/EditorBuildSettings.asset | 2 +- 19 files changed, 822 insertions(+), 128 deletions(-) rename Basic/DyanmicPrefabs/Assets/Scenes/{05_API Playground (All Use Cases).unity => 05_API Playground (All Post-Connection Use Cases).unity} (72%) rename Basic/DyanmicPrefabs/Assets/Scenes/{05_API Playground (All Use Cases).unity.meta => 05_API Playground (All Post-Connection Use Cases).unity.meta} (100%) diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval.unity b/Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval.unity index 9cd5f2d74..d2fee61ec 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval.unity @@ -1003,6 +1003,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 46115653413e2ed4c9163c4e5350e569, type: 3} m_Name: m_EditorClassIdentifier: + m_NetworkManager: {fileID: 2054638265} --- !u!1 &1157890485 GameObject: m_ObjectHideFlags: 0 diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Authoritative Preload All Prefabs Asynchronously.unity b/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Authoritative Preload All Prefabs Asynchronously.unity index 61f43d0a6..b6a8a9e76 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Authoritative Preload All Prefabs Asynchronously.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Authoritative Preload All Prefabs Asynchronously.unity @@ -1064,11 +1064,36 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: dfcd3408d3cf98c41a414b4f63e473fc, type: 3} m_Name: m_EditorClassIdentifier: + m_NetworkManager: {fileID: 2054638265} m_DynamicPrefabReferences: + - m_AssetGUID: 05ea0814e604c4acf8ae3b7e0a5dfb07 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 - m_AssetGUID: 75a53913d13db4777b0d97d1c009b6b2 m_SubObjectName: m_SubObjectType: m_EditorAssetChanged: 0 + - m_AssetGUID: 86d863718b86d4ae69be9e4e22feceb6 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: a4d5ae4542ecc49f5b2e96f39e93c0c4 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: df2e29fad7ea5480ebbd89c15ffe415e + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: 580f343244c5d495aa8df840a4ef1050 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: e8635bd8fc0fa44f7ba16885494477e4 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 m_ArtificialDelayMilliseconds: 1000 --- !u!1 &1157890485 GameObject: diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/03_Server Authoritative Try Spawn Synchronously.unity b/Basic/DyanmicPrefabs/Assets/Scenes/03_Server Authoritative Try Spawn Synchronously.unity index 4bff2e168..600fc8386 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/03_Server Authoritative Try Spawn Synchronously.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/03_Server Authoritative Try Spawn Synchronously.unity @@ -869,11 +869,36 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f128f9485fb85914989ea62eb4ca46c6, type: 3} m_Name: m_EditorClassIdentifier: + m_NetworkManager: {fileID: 2054638265} m_DynamicPrefabReferences: + - m_AssetGUID: 05ea0814e604c4acf8ae3b7e0a5dfb07 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 - m_AssetGUID: 75a53913d13db4777b0d97d1c009b6b2 m_SubObjectName: m_SubObjectType: m_EditorAssetChanged: 0 + - m_AssetGUID: 86d863718b86d4ae69be9e4e22feceb6 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: a4d5ae4542ecc49f5b2e96f39e93c0c4 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: df2e29fad7ea5480ebbd89c15ffe415e + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: 580f343244c5d495aa8df840a4ef1050 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: e8635bd8fc0fa44f7ba16885494477e4 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 m_ArtificialDelayMilliseconds: 1000 m_SpawnTimeoutInSeconds: 3 --- !u!1 &1157890485 diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.unity b/Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.unity index 5010969b5..7f8110d86 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.unity @@ -703,7 +703,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} m_Name: m_EditorClassIdentifier: - GlobalObjectIdHash: 2152691048 + GlobalObjectIdHash: 571851207 AlwaysReplicateAsRoot: 0 DontDestroyWithOwner: 0 AutoObjectParentSync: 1 @@ -734,7 +734,32 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: a695c6b1fd4ab594e875d5dea4cc9fae, type: 3} m_Name: m_EditorClassIdentifier: + m_NetworkManager: {fileID: 2054638265} m_DynamicPrefabReferences: + - m_AssetGUID: 05ea0814e604c4acf8ae3b7e0a5dfb07 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: 75a53913d13db4777b0d97d1c009b6b2 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: 86d863718b86d4ae69be9e4e22feceb6 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: a4d5ae4542ecc49f5b2e96f39e93c0c4 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: df2e29fad7ea5480ebbd89c15ffe415e + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: 580f343244c5d495aa8df840a4ef1050 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 - m_AssetGUID: e8635bd8fc0fa44f7ba16885494477e4 m_SubObjectName: m_SubObjectType: diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground (All Use Cases).unity b/Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground (All Post-Connection Use Cases).unity similarity index 72% rename from Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground (All Use Cases).unity rename to Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground (All Post-Connection Use Cases).unity index 1cf6f7085..a5e0d64b4 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground (All Use Cases).unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground (All Post-Connection Use Cases).unity @@ -200,7 +200,9 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 821957242107838714} - {fileID: 1698216263} + - {fileID: 590327894033805116} m_Father: {fileID: 1157890489} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -734,7 +736,32 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 06f0d49321026254cbd9420e0a8a1f38, type: 3} m_Name: m_EditorClassIdentifier: + m_NetworkManager: {fileID: 2054638265} m_DynamicPrefabReferences: + - m_AssetGUID: 05ea0814e604c4acf8ae3b7e0a5dfb07 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: 75a53913d13db4777b0d97d1c009b6b2 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: 86d863718b86d4ae69be9e4e22feceb6 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: a4d5ae4542ecc49f5b2e96f39e93c0c4 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: df2e29fad7ea5480ebbd89c15ffe415e + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 + - m_AssetGUID: 580f343244c5d495aa8df840a4ef1050 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 - m_AssetGUID: e8635bd8fc0fa44f7ba16885494477e4 m_SubObjectName: m_SubObjectType: @@ -1347,7 +1374,7 @@ RectTransform: m_Children: - {fileID: 1368062643} m_Father: {fileID: 663159616} - m_RootOrder: 0 + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} @@ -1398,8 +1425,8 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 0} - m_TargetAssemblyTypeName: Game.SpawnPrefabInvisibleWhileIsLoading, Assembly-CSharp + - m_Target: {fileID: 989424454} + m_TargetAssemblyTypeName: Game.APIPlayground.APIPlayground, Assembly-CSharp m_MethodName: OnClickedTrySpawnInvisible m_Mode: 1 m_Arguments: @@ -1607,3 +1634,541 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &590327894033805106 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 590327894033805119} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &590327894033805107 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 590327894033805119} + m_CullTransparentMesh: 1 +--- !u!224 &590327894033805116 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 590327894033805119} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 590327894364876764} + m_Father: {fileID: 663159616} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 17.400024, y: -184.70001} + m_SizeDelta: {x: 521.65, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &590327894033805117 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 590327894033805119} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 590327894033805106} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 989424454} + m_TargetAssemblyTypeName: Game.APIPlayground.APIPlayground, Assembly-CSharp + m_MethodName: OnClickedPreload + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &590327894033805119 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 590327894033805116} + - component: {fileID: 590327894033805107} + - component: {fileID: 590327894033805106} + - component: {fileID: 590327894033805117} + m_Layer: 5 + m_Name: Btn - Preload All Prefabs Async + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!222 &590327894364876754 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 590327894364876767} + m_CullTransparentMesh: 1 +--- !u!224 &590327894364876764 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 590327894364876767} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 590327894033805116} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &590327894364876765 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 590327894364876767} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Preload All Prefabs Async + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &590327894364876767 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 590327894364876764} + - component: {fileID: 590327894364876754} + - component: {fileID: 590327894364876765} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &821957242107838712 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 821957242107838715} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &821957242107838713 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 821957242107838715} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 821957242107838712} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 989424454} + m_TargetAssemblyTypeName: Game.APIPlayground.APIPlayground, Assembly-CSharp + m_MethodName: OnClickedTrySpawnSynchronously + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!224 &821957242107838714 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 821957242107838715} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 821957242249703235} + m_Father: {fileID: 663159616} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 17.400024, y: -102.5} + m_SizeDelta: {x: 521.65, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!1 &821957242107838715 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 821957242107838714} + - component: {fileID: 821957242107838719} + - component: {fileID: 821957242107838712} + - component: {fileID: 821957242107838713} + m_Layer: 5 + m_Name: Btn - Spawn Synchronously + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!222 &821957242107838719 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 821957242107838715} + m_CullTransparentMesh: 1 +--- !u!1 &821957242249703228 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 821957242249703235} + - component: {fileID: 821957242249703233} + - component: {fileID: 821957242249703234} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!222 &821957242249703233 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 821957242249703228} + m_CullTransparentMesh: 1 +--- !u!114 &821957242249703234 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 821957242249703228} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Spawn - try spawn synchronously + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!224 &821957242249703235 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 821957242249703228} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 821957242107838714} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground (All Use Cases).unity.meta b/Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground (All Post-Connection Use Cases).unity.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground (All Use Cases).unity.meta rename to Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground (All Post-Connection Use Cases).unity.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs index d0187495f..2e330f0db 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs @@ -5,18 +5,22 @@ namespace Game.ConnectionApproval { public class ConnectionApproval : NetworkBehaviour { - const int k_MaxConnectPayload = 1024; + [SerializeField] + NetworkManager m_NetworkManager; - DynamicPrefabLoadingUtilities m_DynamicPrefabLoadingUtilities; + const int k_MaxConnectPayload = 1024; void Start() { - m_DynamicPrefabLoadingUtilities = new DynamicPrefabLoadingUtilities(NetworkManager.Singleton); + DynamicPrefabLoadingUtilities.Init(m_NetworkManager); + + m_NetworkManager.ConnectionApprovalCallback += ConnectionApprovalCallback; } public override void OnDestroy() { - m_DynamicPrefabLoadingUtilities.UnloadAndReleaseAllDynamicPrefabs(); + m_NetworkManager.ConnectionApprovalCallback -= ConnectionApprovalCallback; + DynamicPrefabLoadingUtilities.UnloadAndReleaseAllDynamicPrefabs(); base.OnDestroy(); } @@ -41,7 +45,7 @@ public void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest return; } - if (m_DynamicPrefabLoadingUtilities.LoadedPrefabCount == 0) + if (DynamicPrefabLoadingUtilities.LoadedPrefabCount == 0) { //immediately approve the connection if we haven't loaded any prefabs yet Approve(); @@ -52,14 +56,14 @@ public void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest var connectionPayload = JsonUtility.FromJson(payload); // https://docs.unity3d.com/2020.2/Documentation/Manual/JSONSerialization.html int clientPrefabHash = connectionPayload.HashOfDynamicPrefabGUIDs; - int serverPrefabHash = m_DynamicPrefabLoadingUtilities.ServerPrefabHash; + int serverPrefabHash = DynamicPrefabLoadingUtilities.ServerPrefabHash; //if the client has the same prefabs as the server - approve the connection if (clientPrefabHash == serverPrefabHash) { Approve(); - m_DynamicPrefabLoadingUtilities.RecordThatClientHasLoadedAllPrefabs(clientId); + DynamicPrefabLoadingUtilities.RecordThatClientHasLoadedAllPrefabs(clientId); return; } @@ -74,9 +78,9 @@ public void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest // only to tell the client "why" it failed -- the client should instead use services like UGS to fetch the // relevant data it needs to fetch & download. - m_DynamicPrefabLoadingUtilities.RefreshLoadedPrefabGuids(); + DynamicPrefabLoadingUtilities.RefreshLoadedPrefabGuids(); - response.Reason = m_DynamicPrefabLoadingUtilities.GenerateDisconnectionPayload(); + response.Reason = DynamicPrefabLoadingUtilities.GenerateDisconnectionPayload(); ImmediateDeny(); diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Preload All Prefabs Asynchronously/LoadAllPrefabs.cs b/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Preload All Prefabs Asynchronously/LoadAllPrefabs.cs index 8a8fe73a0..8b7324d60 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Preload All Prefabs Asynchronously/LoadAllPrefabs.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Preload All Prefabs Asynchronously/LoadAllPrefabs.cs @@ -9,21 +9,22 @@ namespace Game.LoadAllPrefabs { public class LoadAllPrefabs : NetworkBehaviour { + [SerializeField] + NetworkManager m_NetworkManager; + [SerializeField] List m_DynamicPrefabReferences; [SerializeField] int m_ArtificialDelayMilliseconds = 1000; - - DynamicPrefabLoadingUtilities m_DynamicPrefabLoadingUtilities; void Start() { - m_DynamicPrefabLoadingUtilities = new DynamicPrefabLoadingUtilities(NetworkManager.Singleton); + DynamicPrefabLoadingUtilities.Init(m_NetworkManager); } public override void OnDestroy() { - m_DynamicPrefabLoadingUtilities.UnloadAndReleaseAllDynamicPrefabs(); + DynamicPrefabLoadingUtilities.UnloadAndReleaseAllDynamicPrefabs(); base.OnDestroy(); } @@ -57,7 +58,7 @@ async Task PreloadDynamicPrefabOnServerAndStartLoadingOnAllClients(string guid) Value = guid }; - if (m_DynamicPrefabLoadingUtilities.IsPrefabLoadedLocally(assetGuid)) + if (DynamicPrefabLoadingUtilities.IsPrefabLoadedLocally(assetGuid)) { Debug.Log("Prefab is already loaded by all peers"); return; @@ -65,7 +66,7 @@ async Task PreloadDynamicPrefabOnServerAndStartLoadingOnAllClients(string guid) Debug.Log("Loading dynamic prefab on the clients..."); LoadAddressableClientRpc(assetGuid); - await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); + await DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); } } @@ -80,7 +81,7 @@ void LoadAddressableClientRpc(AddressableGUID guid, ClientRpcParams rpcParams = async void Load(AddressableGUID assetGuid) { Debug.Log("Loading dynamic prefab on the client..."); - await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); + await DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); Debug.Log("Client loaded dynamic prefab"); AcknowledgeSuccessfulPrefabLoadServerRpc(assetGuid.GetHashCode()); } @@ -90,7 +91,7 @@ async void Load(AddressableGUID assetGuid) void AcknowledgeSuccessfulPrefabLoadServerRpc(int prefabHash, ServerRpcParams rpcParams = default) { Debug.Log("Client acknowledged successful prefab load with hash: " + prefabHash); - m_DynamicPrefabLoadingUtilities.RecordThatClientHasLoadedAPrefab(prefabHash, rpcParams.Receive.SenderClientId); + DynamicPrefabLoadingUtilities.RecordThatClientHasLoadedAPrefab(prefabHash, rpcParams.Receive.SenderClientId); } } } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs index 5b38aebff..f1cb4c2b3 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs @@ -10,6 +10,9 @@ namespace Game.SynchronousDynamicPrefabSpawn { public class SynchronousDynamicPrefabSpawn : NetworkBehaviour { + [SerializeField] + NetworkManager m_NetworkManager; + [SerializeField] List m_DynamicPrefabReferences; [SerializeField] @@ -20,17 +23,15 @@ public class SynchronousDynamicPrefabSpawn : NetworkBehaviour float m_SynchronousSpawnTimeoutTimer; int m_SynchronousSpawnAckCount = 0; - - DynamicPrefabLoadingUtilities m_DynamicPrefabLoadingUtilities; void Start() { - m_DynamicPrefabLoadingUtilities = new DynamicPrefabLoadingUtilities(NetworkManager.Singleton); + DynamicPrefabLoadingUtilities.Init(m_NetworkManager); } public override void OnDestroy() { - m_DynamicPrefabLoadingUtilities.UnloadAndReleaseAllDynamicPrefabs(); + DynamicPrefabLoadingUtilities.UnloadAndReleaseAllDynamicPrefabs(); base.OnDestroy(); } @@ -61,7 +62,7 @@ async void TrySpawnSynchronously() Value = guid }; - if (m_DynamicPrefabLoadingUtilities.IsPrefabLoadedLocally(assetGuid)) + if (DynamicPrefabLoadingUtilities.IsPrefabLoadedLocally(assetGuid)) { Debug.Log("Prefab is already loaded by all peers, we can spawn it immediately"); var obj = await Spawn(assetGuid); @@ -74,7 +75,7 @@ async void TrySpawnSynchronously() Debug.Log("Loading dynamic prefab on the clients..."); LoadAddressableClientRpc(assetGuid); //load the prefab on the server, so that any late-joiner will need to load that prefab also - await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); + await DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); var requiredAcknowledgementsCount = IsHost ? NetworkManager.Singleton.ConnectedClients.Count - 1 : NetworkManager.Singleton.ConnectedClients.Count; @@ -99,7 +100,7 @@ async void TrySpawnSynchronously() async Task Spawn(AddressableGUID assetGuid) { - var prefab = await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, + var prefab = await DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); var obj = Instantiate(prefab, position, rotation).GetComponent(); obj.SpawnWithOwnership(NetworkManager.Singleton.LocalClientId); @@ -119,7 +120,7 @@ void LoadAddressableClientRpc(AddressableGUID guid, ClientRpcParams rpcParams = async void Load(AddressableGUID assetGuid) { Debug.Log("Loading dynamic prefab on the client..."); - await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); + await DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); Debug.Log("Client loaded dynamic prefab"); AcknowledgeSuccessfulPrefabLoadServerRpc(assetGuid.GetHashCode()); } @@ -130,7 +131,7 @@ void AcknowledgeSuccessfulPrefabLoadServerRpc(int prefabHash, ServerRpcParams rp { m_SynchronousSpawnAckCount++; Debug.Log("Client acknowledged successful prefab load with hash: " + prefabHash); - m_DynamicPrefabLoadingUtilities.RecordThatClientHasLoadedAPrefab(prefabHash, + DynamicPrefabLoadingUtilities.RecordThatClientHasLoadedAPrefab(prefabHash, rpcParams.Receive.SenderClientId); } } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn As Network-Invisible For Loading Clients/SpawnPrefabInvisibleWhileIsLoading.cs b/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn As Network-Invisible For Loading Clients/SpawnPrefabInvisibleWhileIsLoading.cs index 5cda9e420..157bdef91 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn As Network-Invisible For Loading Clients/SpawnPrefabInvisibleWhileIsLoading.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn As Network-Invisible For Loading Clients/SpawnPrefabInvisibleWhileIsLoading.cs @@ -10,6 +10,9 @@ namespace Game.SpawnPrefabInvisibleWhileIsLoading { public class SpawnPrefabInvisibleWhileIsLoading : NetworkBehaviour { + [SerializeField] + NetworkManager m_NetworkManager; + [SerializeField] List m_DynamicPrefabReferences; [SerializeField] @@ -17,17 +20,15 @@ public class SpawnPrefabInvisibleWhileIsLoading : NetworkBehaviour //A storage where we keep association between prefab (hash of it's GUID) and the spawned network objects that use it Dictionary> m_PrefabHashToNetworkObjectId = new Dictionary>(); - - DynamicPrefabLoadingUtilities m_DynamicPrefabLoadingUtilities; void Start() { - m_DynamicPrefabLoadingUtilities = new DynamicPrefabLoadingUtilities(NetworkManager.Singleton); + DynamicPrefabLoadingUtilities.Init(m_NetworkManager); } public override void OnDestroy() { - m_DynamicPrefabLoadingUtilities.UnloadAndReleaseAllDynamicPrefabs(); + DynamicPrefabLoadingUtilities.UnloadAndReleaseAllDynamicPrefabs(); base.OnDestroy(); } @@ -67,7 +68,7 @@ async Task SpawnImmediatelyAndHideUntilPrefabIsLoadedOnClient(str async Task Spawn(AddressableGUID assetGuid) { - var prefab = await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, + var prefab = await DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); var obj = Instantiate(prefab, position, rotation).GetComponent(); @@ -83,7 +84,7 @@ async Task Spawn(AddressableGUID assetGuid) obj.CheckObjectVisibility = (clientId) => { //if the client has already loaded the prefab - we can make the object visible to them - if (m_DynamicPrefabLoadingUtilities.HasClientLoadedPrefab(clientId, assetGuid.GetHashCode())) + if (DynamicPrefabLoadingUtilities.HasClientLoadedPrefab(clientId, assetGuid.GetHashCode())) { return true; } @@ -123,7 +124,7 @@ void LoadAddressableClientRpc(AddressableGUID guid, ClientRpcParams rpcParams = async void Load(AddressableGUID assetGuid) { Debug.Log("Loading dynamic prefab on the client..."); - await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); + await DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); Debug.Log("Client loaded dynamic prefab"); AcknowledgeSuccessfulPrefabLoadServerRpc(assetGuid.GetHashCode()); } @@ -133,7 +134,7 @@ async void Load(AddressableGUID assetGuid) void AcknowledgeSuccessfulPrefabLoadServerRpc(int prefabHash, ServerRpcParams rpcParams = default) { Debug.Log("Client acknowledged successful prefab load with hash: " + prefabHash); - m_DynamicPrefabLoadingUtilities.RecordThatClientHasLoadedAPrefab(prefabHash, + DynamicPrefabLoadingUtilities.RecordThatClientHasLoadedAPrefab(prefabHash, rpcParams.Receive.SenderClientId); //the server has all the objects visible, no need to do anything diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs index 132ebff6e..6846bafa3 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs @@ -10,8 +10,13 @@ namespace Game.APIPlayground { public class APIPlayground : NetworkBehaviour { + [SerializeField] + NetworkManager m_NetworkManager; + [SerializeField] List m_DynamicPrefabReferences; + const int k_MaxConnectPayload = 1024; + [SerializeField] int m_ArtificialDelayMilliseconds = 1000; @@ -23,20 +28,98 @@ public class APIPlayground : NetworkBehaviour float m_SynchronousSpawnTimeoutTimer; int m_SynchronousSpawnAckCount = 0; - - DynamicPrefabLoadingUtilities m_DynamicPrefabLoadingUtilities; void Start() { - m_DynamicPrefabLoadingUtilities = new DynamicPrefabLoadingUtilities(NetworkManager.Singleton); + DynamicPrefabLoadingUtilities.Init(m_NetworkManager); + m_NetworkManager.ConnectionApprovalCallback += ConnectionApprovalCallback; } public override void OnDestroy() { - m_DynamicPrefabLoadingUtilities.UnloadAndReleaseAllDynamicPrefabs(); + m_NetworkManager.ConnectionApprovalCallback -= ConnectionApprovalCallback; + DynamicPrefabLoadingUtilities.UnloadAndReleaseAllDynamicPrefabs(); base.OnDestroy(); } - + + void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) + { + Debug.Log("Client is trying to connect " + request.ClientNetworkId); + var connectionData = request.Payload; + var clientId = request.ClientNetworkId; + + if (clientId == NetworkManager.Singleton.LocalClientId) + { + //allow the host to connect + Approve(); + return; + } + + if (connectionData.Length > k_MaxConnectPayload) + { + // If connectionData is too big, deny immediately to avoid wasting time on the server. This is intended as + // a bit of light protection against DOS attacks that rely on sending silly big buffers of garbage. + ImmediateDeny(); + return; + } + + if (DynamicPrefabLoadingUtilities.LoadedPrefabCount == 0) + { + //immediately approve the connection if we haven't loaded any prefabs yet + Approve(); + return; + } + + var payload = System.Text.Encoding.UTF8.GetString(connectionData); + var connectionPayload = JsonUtility.FromJson(payload); // https://docs.unity3d.com/2020.2/Documentation/Manual/JSONSerialization.html + + int clientPrefabHash = connectionPayload.HashOfDynamicPrefabGUIDs; + int serverPrefabHash = DynamicPrefabLoadingUtilities.ServerPrefabHash; + + //if the client has the same prefabs as the server - approve the connection + if (clientPrefabHash == serverPrefabHash) + { + Approve(); + + DynamicPrefabLoadingUtilities.RecordThatClientHasLoadedAllPrefabs(clientId); + + return; + } + + // In order for clients to not just get disconnected with no feedback, the server needs to tell the client + // why it disconnected it. This could happen after an auth check on a service or because of gameplay + // reasons (server full, wrong build version, etc). + // The server can do so via the DisconnectReason in the ConnectionApprovalResponse. The guids of the prefabs + // the client will need to load will be sent, such that the client loads the needed prefabs, and reconnects. + + // A note: DisconnectReason will not be written to if the string is too large in size. This should be used + // only to tell the client "why" it failed -- the client should instead use services like UGS to fetch the + // relevant data it needs to fetch & download. + + DynamicPrefabLoadingUtilities.RefreshLoadedPrefabGuids(); + + response.Reason = DynamicPrefabLoadingUtilities.GenerateDisconnectionPayload(); + + ImmediateDeny(); + + // A note: sending large strings through Netcode is not ideal -- you'd usually want to use REST services to + // accomplish this instead. UGS services like Lobby can be a useful alternative. Another route may be to + // set ConnectionApprovalResponse's Pending flag to true, and send a CustomMessage containing the array of + // GUIDs to a client, which the client would load and reattempt a reconnection. + + void Approve() + { + response.Approved = true; + response.CreatePlayerObject = false; //we're not going to spawn a player object for this sample + } + + void ImmediateDeny() + { + response.Approved = false; + response.CreatePlayerObject = false; + } + } + // invoked by UI public void OnClickedPreload() { @@ -79,7 +162,7 @@ async Task PreloadDynamicPrefabOnServerAndStartLoadingOnAllClients(string guid) Value = guid }; - if (m_DynamicPrefabLoadingUtilities.IsPrefabLoadedLocally(assetGuid)) + if (DynamicPrefabLoadingUtilities.IsPrefabLoadedLocally(assetGuid)) { Debug.Log("Prefab is already loaded by all peers"); return; @@ -87,7 +170,7 @@ async Task PreloadDynamicPrefabOnServerAndStartLoadingOnAllClients(string guid) Debug.Log("Loading dynamic prefab on the clients..."); LoadAddressableClientRpc(assetGuid); - await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); + await DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); } } @@ -112,7 +195,7 @@ async void TrySpawnSynchronously() Value = guid }; - if (m_DynamicPrefabLoadingUtilities.IsPrefabLoadedLocally(assetGuid)) + if (DynamicPrefabLoadingUtilities.IsPrefabLoadedLocally(assetGuid)) { Debug.Log("Prefab is already loaded by all peers, we can spawn it immediately"); var obj = await Spawn(assetGuid); @@ -125,7 +208,7 @@ async void TrySpawnSynchronously() Debug.Log("Loading dynamic prefab on the clients..."); LoadAddressableClientRpc(assetGuid); //load the prefab on the server, so that any late-joiner will need to load that prefab also - await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); + await DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); var requiredAcknowledgementsCount = IsHost ? NetworkManager.Singleton.ConnectedClients.Count - 1 : NetworkManager.Singleton.ConnectedClients.Count; @@ -150,7 +233,7 @@ async void TrySpawnSynchronously() async Task Spawn(AddressableGUID assetGuid) { - var prefab = await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, + var prefab = await DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); var obj = Instantiate(prefab, position, rotation).GetComponent(); obj.SpawnWithOwnership(NetworkManager.Singleton.LocalClientId); @@ -189,7 +272,7 @@ async Task SpawnImmediatelyAndHideUntilPrefabIsLoadedOnClient(str async Task Spawn(AddressableGUID assetGuid) { - var prefab = await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, + var prefab = await DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); var obj = Instantiate(prefab, position, rotation).GetComponent(); @@ -205,7 +288,7 @@ async Task Spawn(AddressableGUID assetGuid) obj.CheckObjectVisibility = (clientId) => { //if the client has already loaded the prefab - we can make the object visible to them - if (m_DynamicPrefabLoadingUtilities.HasClientLoadedPrefab(clientId, assetGuid.GetHashCode())) + if (DynamicPrefabLoadingUtilities.HasClientLoadedPrefab(clientId, assetGuid.GetHashCode())) { return true; } @@ -245,7 +328,7 @@ void LoadAddressableClientRpc(AddressableGUID guid, ClientRpcParams rpcParams = async void Load(AddressableGUID assetGuid) { Debug.Log("Loading dynamic prefab on the client..."); - await m_DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); + await DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); Debug.Log("Client loaded dynamic prefab"); AcknowledgeSuccessfulPrefabLoadServerRpc(assetGuid.GetHashCode()); } @@ -256,7 +339,7 @@ void AcknowledgeSuccessfulPrefabLoadServerRpc(int prefabHash, ServerRpcParams rp { m_SynchronousSpawnAckCount++; Debug.Log("Client acknowledged successful prefab load with hash: " + prefabHash); - m_DynamicPrefabLoadingUtilities.RecordThatClientHasLoadedAPrefab(prefabHash, + DynamicPrefabLoadingUtilities.RecordThatClientHasLoadedAPrefab(prefabHash, rpcParams.Receive.SenderClientId); //the server has all the objects visible, no need to do anything diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs index 5df68ce16..97c8c2fc8 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs @@ -1,10 +1,6 @@ using System; -using System.Collections.Generic; -using System.Threading.Tasks; using Unity.Netcode; using UnityEngine; -using UnityEngine.AddressableAssets; -using Random = UnityEngine.Random; namespace Game { @@ -16,8 +12,6 @@ public sealed class AppController : NetworkBehaviour // placeholder until this is fetched from UI ushort m_Port = 7777; - /*[SerializeField] List m_DynamicPrefabRefs;*/ - [SerializeField] GameObject m_ConnectionUI; [SerializeField] GameObject m_SpawnUI; @@ -25,13 +19,6 @@ public sealed class AppController : NetworkBehaviour [SerializeField] ConnectionManager m_ConnectionManager; - public override void OnDestroy() - { - // TODO see if you need this - /*m_DynamicPrefabManager.UnloadAndReleaseAllDynamicPrefabs();*/ - base.OnDestroy(); - } - public void StartClient() { Debug.Log(nameof(StartClient)); @@ -57,33 +44,6 @@ public override void OnNetworkDespawn() m_SpawnUI.SetActive(true); } - // done inside the spawn invisible example - /*public async void OnClickedSpawnWithVisibility() - { - var randomPrefab = m_DynamicPrefabRefs[Random.Range(0, m_DynamicPrefabRefs.Count)]; - var spawnedObject = await m_DynamicPrefabManager.SpawnImmediatelyAndHideUntilPrefabIsLoadedOnClient(randomPrefab.AssetGUID, Random.insideUnitCircle * 5, Quaternion.identity); - }*/ - - // done inside the synchronous scene example - /*public async void OnClickedTrySpawnSynchronously() - { - var randomPrefab = m_DynamicPrefabRefs[Random.Range(0, m_DynamicPrefabRefs.Count)]; - var spawnedObject = await m_DynamicPrefabManager.TrySpawnDynamicPrefabSynchronously(randomPrefab.AssetGUID, Random.insideUnitCircle * 5, Quaternion.identity); - }*/ - - // done inside the preload all prefabs example - /*public async void OnClickedPreload() - { - var tasks = new List(); - foreach (var p in m_DynamicPrefabRefs) - { - tasks.Add(m_DynamicPrefabManager.PreloadDynamicPrefabOnServerAndStartLoadingOnAllClients(p.AssetGUID)); - } - - await Task.WhenAll(tasks); - - }*/ - // placeholder until this is triggered by UI [ContextMenu(nameof(OnClickedShutdown))] public void OnClickedShutdown() diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionManager.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionManager.cs index a9d39cf75..016fbfdb4 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionManager.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionManager.cs @@ -32,23 +32,23 @@ public class ConnectionManager : MonoBehaviour void Awake() { DontDestroyOnLoad(this); - + } + + void Start() + { m_Offline = new OfflineState(this); m_ClientConnecting = new ClientConnectingState(this); m_ClientConnected = new ClientConnectedState(this); m_ClientPreloading = new ClientPreloadingState(this); m_StartingHost = new StartingHostState(this); m_Hosting = new HostingState(this); - } - - void Start() - { + m_CurrentState = m_Offline; networkManager.OnClientConnectedCallback += OnClientConnectedCallback; networkManager.OnClientDisconnectCallback += OnClientDisconnectCallback; networkManager.OnServerStarted += OnServerStarted; - networkManager.ConnectionApprovalCallback += ApprovalCheck; + //networkManager.ConnectionApprovalCallback += ApprovalCheck; networkManager.OnTransportFailure += OnTransportFailure; } @@ -57,7 +57,7 @@ void OnDestroy() networkManager.OnClientConnectedCallback -= OnClientConnectedCallback; networkManager.OnClientDisconnectCallback -= OnClientDisconnectCallback; networkManager.OnServerStarted -= OnServerStarted; - networkManager.ConnectionApprovalCallback -= ApprovalCheck; + //networkManager.ConnectionApprovalCallback -= ApprovalCheck; networkManager.OnTransportFailure -= OnTransportFailure; } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs index 30ea01bb3..0b125fd54 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs @@ -29,9 +29,8 @@ void StartClient() m_ConnectionManager.networkManager.NetworkConfig.ForceSamePrefabs = false; var transport = m_ConnectionManager.networkManager.GetComponent(); transport.SetConnectionData(m_ConnectionManager.m_ConnectAddress, m_ConnectionManager.m_Port); - // TODO gather request payload - /*m_ConnectionManager.networkManager.NetworkConfig.ConnectionData = - m_ConnectionManager.dynamicPrefabManager.GenerateRequestPayload();*/ + m_ConnectionManager.networkManager.NetworkConfig.ConnectionData = + DynamicPrefabLoadingUtilities.GenerateRequestPayload(); m_ConnectionManager.networkManager.StartClient(); } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientPreloadingState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientPreloadingState.cs index 5d69b6f86..b7764e099 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientPreloadingState.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientPreloadingState.cs @@ -34,8 +34,7 @@ async void HandleDisconnectReason() GUIDs = disconnectionPayload.guids.Select(item => new AddressableGUID() { Value = item }).ToArray() }; - // TODO re-integrate reloading - //await m_ConnectionManager.dynamicPrefabManager.LoadDynamicPrefabs(addressableGuidCollection); + await DynamicPrefabLoadingUtilities.LoadDynamicPrefabs(addressableGuidCollection); Debug.Log("Restarting client"); m_ConnectionManager.ChangeState(m_ConnectionManager.m_ClientConnecting); } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/HostingState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/HostingState.cs index 6e2bef157..260d83e31 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/HostingState.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/HostingState.cs @@ -40,6 +40,10 @@ public override void OnClientDisconnect(ulong clientId) { m_ConnectionManager.ChangeState(m_ConnectionManager.m_Offline); } + else + { + Debug.Log($"Client {clientId} disconnected"); + } } } } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/OfflineState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/OfflineState.cs index 26d603e1e..26a843ee5 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/OfflineState.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/OfflineState.cs @@ -16,8 +16,7 @@ public OfflineState(ConnectionManager connectionManager) public override void Enter() { - // TODO: clear this from here - //m_ConnectionManager.dynamicPrefabManager.UnloadAndReleaseAllDynamicPrefabs(); + DynamicPrefabLoadingUtilities.UnloadAndReleaseAllDynamicPrefabs(); m_ConnectionManager.networkManager.Shutdown(); } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs index 8bb8ffb2b..b945ba3cd 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs @@ -8,37 +8,39 @@ namespace Game { - public class DynamicPrefabLoadingUtilities + public static class DynamicPrefabLoadingUtilities { const int k_EmptyDynamicPrefabHash = -1; - int m_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; + static int m_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; - Dictionary> m_LoadedDynamicPrefabResourceHandles = new Dictionary>(); + static Dictionary> m_LoadedDynamicPrefabResourceHandles = new Dictionary>(); - List m_DynamicPrefabGUIDs = new List(); //cached list to avoid GC + static List m_DynamicPrefabGUIDs = new List(); //cached list to avoid GC //A storage where we keep the association between the dynamic prefab (hash of it's GUID) and the clients that have it loaded - Dictionary> m_PrefabHashToClientIds = new Dictionary>(); + static Dictionary> m_PrefabHashToClientIds = new Dictionary>(); - public bool HasClientLoadedPrefab(ulong clientId, int prefabHash) => + public static bool HasClientLoadedPrefab(ulong clientId, int prefabHash) => m_PrefabHashToClientIds.TryGetValue(prefabHash, out var clientIds) && clientIds.Contains(clientId); - public bool IsPrefabLoadedLocally(AddressableGUID assetGuid) => + public static bool IsPrefabLoadedLocally(AddressableGUID assetGuid) => m_LoadedDynamicPrefabResourceHandles.ContainsKey(assetGuid); - public int LoadedPrefabCount => m_LoadedDynamicPrefabResourceHandles.Count; + public static int LoadedPrefabCount => m_LoadedDynamicPrefabResourceHandles.Count; - public int ServerPrefabHash => m_HashOfDynamicPrefabGUIDs; + public static int ServerPrefabHash => m_HashOfDynamicPrefabGUIDs; - NetworkManager m_NetworkManager; + static NetworkManager m_NetworkManager; - public DynamicPrefabLoadingUtilities(NetworkManager networkManager) + static DynamicPrefabLoadingUtilities() { } + + public static void Init(NetworkManager networkManager) { m_NetworkManager = networkManager; } - public void RecordThatClientHasLoadedAllPrefabs(ulong clientId) + public static void RecordThatClientHasLoadedAllPrefabs(ulong clientId) { foreach (var dynamicPrefabGUID in m_DynamicPrefabGUIDs) { @@ -46,7 +48,7 @@ public void RecordThatClientHasLoadedAllPrefabs(ulong clientId) } } - public void RecordThatClientHasLoadedAPrefab(int assetGuidHash, ulong clientId) + public static void RecordThatClientHasLoadedAPrefab(int assetGuidHash, ulong clientId) { if (m_PrefabHashToClientIds.TryGetValue(assetGuidHash, out var clientIds)) { @@ -58,7 +60,7 @@ public void RecordThatClientHasLoadedAPrefab(int assetGuidHash, ulong clientId) } } - public byte[] GenerateRequestPayload() + public static byte[] GenerateRequestPayload() { var payload = JsonUtility.ToJson(new ConnectionPayload() { @@ -68,7 +70,7 @@ public byte[] GenerateRequestPayload() return System.Text.Encoding.UTF8.GetBytes(payload); } - public string GenerateDisconnectionPayload() + public static string GenerateDisconnectionPayload() { var rejectionPayload = new DisconnectionPayload() { @@ -79,7 +81,7 @@ public string GenerateDisconnectionPayload() return JsonUtility.ToJson(rejectionPayload); } - public async Task LoadDynamicPrefab(AddressableGUID guid, int artificialDelayMilliseconds, + public static async Task LoadDynamicPrefab(AddressableGUID guid, int artificialDelayMilliseconds, bool recomputeHash = true) { if (m_LoadedDynamicPrefabResourceHandles.ContainsKey(guid)) @@ -109,8 +111,8 @@ public async Task LoadDynamicPrefab(AddressableGUID guid, int artifi return prefab; } - public async Task> LoadDynamicPrefabs(AddressableGUIDCollection addressableGUIDCollection, - int artificialDelaySeconds) + public static async Task> LoadDynamicPrefabs(AddressableGUIDCollection addressableGUIDCollection, + int artificialDelaySeconds = 0) { var tasks = new List>(); @@ -125,13 +127,13 @@ public async Task> LoadDynamicPrefabs(AddressableGUIDCollectio return prefabs; } - public void RefreshLoadedPrefabGuids() + public static void RefreshLoadedPrefabGuids() { m_DynamicPrefabGUIDs.Clear(); m_DynamicPrefabGUIDs.AddRange(m_LoadedDynamicPrefabResourceHandles.Keys); } - void CalculateDynamicPrefabArrayHash() + static void CalculateDynamicPrefabArrayHash() { //we need to sort the array so that the hash is consistent across clients //it's possible to use an order-independent hashing algorithm for some potential performance gains @@ -156,7 +158,7 @@ void CalculateDynamicPrefabArrayHash() Debug.Log($"Calculated hash of dynamic prefabs: {m_HashOfDynamicPrefabGUIDs}"); } - public void UnloadAndReleaseAllDynamicPrefabs() + public static void UnloadAndReleaseAllDynamicPrefabs() { m_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; diff --git a/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset b/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset index f3babb278..25d07825d 100644 --- a/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset +++ b/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset @@ -22,7 +22,7 @@ EditorBuildSettings: Clients.unity guid: a081f6a35639f4949bd9d20f656cb357 - enabled: 1 - path: Assets/Scenes/05_API Playground (All Use Cases).unity + path: Assets/Scenes/05_API Playground (All Post-Connection Use Cases).unity guid: 7abfc934ee13b5a4cb68dfd571ecb4c6 m_configObjects: com.unity.addressableassets: {fileID: 11400000, guid: b1ddf61b298f54d599a3d954101e1b69, type: 2} From cbaf97f07059a61bb5773f1c018d4f03f0539baf Mon Sep 17 00:00:00 2001 From: Fernando Cortez Date: Wed, 8 Feb 2023 15:41:48 -0500 Subject: [PATCH 37/55] formatting and added a scripting define for artificial delay --- .../Shared/DynamicPrefabLoadingUtilities.cs | 64 +++++++++---------- .../ProjectSettings/ProjectSettings.asset | 10 ++- 2 files changed, 41 insertions(+), 33 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs index b945ba3cd..b848c242c 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs @@ -12,37 +12,37 @@ public static class DynamicPrefabLoadingUtilities { const int k_EmptyDynamicPrefabHash = -1; - static int m_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; + static int s_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; - static Dictionary> m_LoadedDynamicPrefabResourceHandles = new Dictionary>(); + static Dictionary> s_LoadedDynamicPrefabResourceHandles = new Dictionary>(); - static List m_DynamicPrefabGUIDs = new List(); //cached list to avoid GC + static List s_DynamicPrefabGUIDs = new List(); //cached list to avoid GC //A storage where we keep the association between the dynamic prefab (hash of it's GUID) and the clients that have it loaded - static Dictionary> m_PrefabHashToClientIds = new Dictionary>(); + static Dictionary> s_PrefabHashToClientIds = new Dictionary>(); public static bool HasClientLoadedPrefab(ulong clientId, int prefabHash) => - m_PrefabHashToClientIds.TryGetValue(prefabHash, out var clientIds) && clientIds.Contains(clientId); + s_PrefabHashToClientIds.TryGetValue(prefabHash, out var clientIds) && clientIds.Contains(clientId); public static bool IsPrefabLoadedLocally(AddressableGUID assetGuid) => - m_LoadedDynamicPrefabResourceHandles.ContainsKey(assetGuid); + s_LoadedDynamicPrefabResourceHandles.ContainsKey(assetGuid); - public static int LoadedPrefabCount => m_LoadedDynamicPrefabResourceHandles.Count; + public static int LoadedPrefabCount => s_LoadedDynamicPrefabResourceHandles.Count; - public static int ServerPrefabHash => m_HashOfDynamicPrefabGUIDs; + public static int ServerPrefabHash => s_HashOfDynamicPrefabGUIDs; - static NetworkManager m_NetworkManager; + static NetworkManager s_NetworkManager; static DynamicPrefabLoadingUtilities() { } public static void Init(NetworkManager networkManager) { - m_NetworkManager = networkManager; + s_NetworkManager = networkManager; } public static void RecordThatClientHasLoadedAllPrefabs(ulong clientId) { - foreach (var dynamicPrefabGUID in m_DynamicPrefabGUIDs) + foreach (var dynamicPrefabGUID in s_DynamicPrefabGUIDs) { RecordThatClientHasLoadedAPrefab(dynamicPrefabGUID.GetHashCode(), clientId); } @@ -50,13 +50,13 @@ public static void RecordThatClientHasLoadedAllPrefabs(ulong clientId) public static void RecordThatClientHasLoadedAPrefab(int assetGuidHash, ulong clientId) { - if (m_PrefabHashToClientIds.TryGetValue(assetGuidHash, out var clientIds)) + if (s_PrefabHashToClientIds.TryGetValue(assetGuidHash, out var clientIds)) { clientIds.Add(clientId); } else { - m_PrefabHashToClientIds.Add(assetGuidHash, new HashSet() { clientId }); + s_PrefabHashToClientIds.Add(assetGuidHash, new HashSet() { clientId }); } } @@ -64,7 +64,7 @@ public static byte[] GenerateRequestPayload() { var payload = JsonUtility.ToJson(new ConnectionPayload() { - HashOfDynamicPrefabGUIDs = m_HashOfDynamicPrefabGUIDs + HashOfDynamicPrefabGUIDs = s_HashOfDynamicPrefabGUIDs }); return System.Text.Encoding.UTF8.GetBytes(payload); @@ -75,7 +75,7 @@ public static string GenerateDisconnectionPayload() var rejectionPayload = new DisconnectionPayload() { reason = DisconnectReason.ClientNeedsToPreload, - guids = m_DynamicPrefabGUIDs.Select(item => item.ToString()).ToList() + guids = s_DynamicPrefabGUIDs.Select(item => item.ToString()).ToList() }; return JsonUtility.ToJson(rejectionPayload); @@ -84,24 +84,24 @@ public static string GenerateDisconnectionPayload() public static async Task LoadDynamicPrefab(AddressableGUID guid, int artificialDelayMilliseconds, bool recomputeHash = true) { - if (m_LoadedDynamicPrefabResourceHandles.ContainsKey(guid)) + if (s_LoadedDynamicPrefabResourceHandles.ContainsKey(guid)) { Debug.Log($"Prefab has already been loaded, skipping loading this time | {guid}"); - return m_LoadedDynamicPrefabResourceHandles[guid].Result; + return s_LoadedDynamicPrefabResourceHandles[guid].Result; } Debug.Log($"Loading dynamic prefab {guid.Value}"); var op = Addressables.LoadAssetAsync(guid.ToString()); var prefab = await op.Task; -#if DEBUG +#if ENABLE_ARTIFICIAL_DELAY //this delay here is to make it obvious how different loading strategies differ //artificial latency would also highlight the difference await Task.Delay(artificialDelayMilliseconds); #endif - m_NetworkManager.AddNetworkPrefab(prefab); - m_LoadedDynamicPrefabResourceHandles.Add(guid, op); + s_NetworkManager.AddNetworkPrefab(prefab); + s_LoadedDynamicPrefabResourceHandles.Add(guid, op); if (recomputeHash) { @@ -129,8 +129,8 @@ public static async Task> LoadDynamicPrefabs(AddressableGUIDCo public static void RefreshLoadedPrefabGuids() { - m_DynamicPrefabGUIDs.Clear(); - m_DynamicPrefabGUIDs.AddRange(m_LoadedDynamicPrefabResourceHandles.Keys); + s_DynamicPrefabGUIDs.Clear(); + s_DynamicPrefabGUIDs.AddRange(s_LoadedDynamicPrefabResourceHandles.Keys); } static void CalculateDynamicPrefabArrayHash() @@ -138,8 +138,8 @@ static void CalculateDynamicPrefabArrayHash() //we need to sort the array so that the hash is consistent across clients //it's possible to use an order-independent hashing algorithm for some potential performance gains RefreshLoadedPrefabGuids(); - m_DynamicPrefabGUIDs.Sort((a, b) => a.Value.CompareTo(b.Value)); - m_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; + s_DynamicPrefabGUIDs.Sort((a, b) => a.Value.CompareTo(b.Value)); + s_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; //a simple hash combination algorithm suggested by Jon Skeet, //found here: https://stackoverflow.com/questions/1646807/quick-and-simple-hash-code-combinations @@ -147,28 +147,28 @@ static void CalculateDynamicPrefabArrayHash() unchecked { int hash = 17; - for (var i = 0; i < m_DynamicPrefabGUIDs.Count; ++i) + for (var i = 0; i < s_DynamicPrefabGUIDs.Count; ++i) { - hash = hash * 31 + m_DynamicPrefabGUIDs[i].GetHashCode(); + hash = hash * 31 + s_DynamicPrefabGUIDs[i].GetHashCode(); } - m_HashOfDynamicPrefabGUIDs = hash; + s_HashOfDynamicPrefabGUIDs = hash; } - Debug.Log($"Calculated hash of dynamic prefabs: {m_HashOfDynamicPrefabGUIDs}"); + Debug.Log($"Calculated hash of dynamic prefabs: {s_HashOfDynamicPrefabGUIDs}"); } public static void UnloadAndReleaseAllDynamicPrefabs() { - m_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; + s_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; - foreach (var handle in m_LoadedDynamicPrefabResourceHandles.Values) + foreach (var handle in s_LoadedDynamicPrefabResourceHandles.Values) { - m_NetworkManager.RemoveNetworkPrefab(handle.Result); + s_NetworkManager.RemoveNetworkPrefab(handle.Result); Addressables.Release(handle); } - m_LoadedDynamicPrefabResourceHandles.Clear(); + s_LoadedDynamicPrefabResourceHandles.Clear(); } } } diff --git a/Basic/DyanmicPrefabs/ProjectSettings/ProjectSettings.asset b/Basic/DyanmicPrefabs/ProjectSettings/ProjectSettings.asset index e2a164643..ff072daa6 100644 --- a/Basic/DyanmicPrefabs/ProjectSettings/ProjectSettings.asset +++ b/Basic/DyanmicPrefabs/ProjectSettings/ProjectSettings.asset @@ -287,6 +287,7 @@ PlayerSettings: - m_BuildTarget: WebGL m_StaticBatching: 0 m_DynamicBatching: 0 + m_BuildTargetShaderSettings: [] m_BuildTargetGraphicsJobs: - m_BuildTarget: MacStandaloneSupport m_GraphicsJobs: 0 @@ -338,6 +339,8 @@ PlayerSettings: m_Devices: - Oculus - OpenVR + m_DefaultShaderChunkSizeInMB: 16 + m_DefaultShaderChunkCount: 0 openGLRequireES31: 0 openGLRequireES31AEP: 0 openGLRequireES32: 0 @@ -512,6 +515,7 @@ PlayerSettings: switchNetworkInterfaceManagerInitializeEnabled: 1 switchPlayerConnectionEnabled: 1 switchUseNewStyleFilepaths: 0 + switchUseLegacyFmodPriorities: 1 switchUseMicroSleepForYield: 1 switchEnableRamDiskSupport: 0 switchMicroSleepForYieldTime: 25 @@ -611,7 +615,9 @@ PlayerSettings: webGLLinkerTarget: 1 webGLThreadsSupport: 0 webGLDecompressionFallback: 0 - scriptingDefineSymbols: {} + webGLPowerPreference: 2 + scriptingDefineSymbols: + Standalone: ENABLE_ARTIFICIAL_DELAY additionalCompilerArguments: {} platformArchitecture: {} scriptingBackend: {} @@ -622,6 +628,7 @@ PlayerSettings: allowUnsafeCode: 1 useDeterministicCompilation: 1 enableRoslynAnalyzers: 1 + selectedPlatform: 0 additionalIl2CppArgs: scriptingRuntimeVersion: 1 gcIncremental: 1 @@ -700,6 +707,7 @@ PlayerSettings: m_VersionName: apiCompatibilityLevel: 6 activeInputHandler: 0 + windowsGamepadBackendHint: 0 cloudProjectId: framebufferDepthMemorylessMode: 0 qualitySettingsNames: [] From ac571b944c3699505586b6d0b569b33ef3c3818e Mon Sep 17 00:00:00 2001 From: Fernando Cortez Date: Thu, 9 Feb 2023 14:56:05 -0500 Subject: [PATCH 38/55] refactoring/comments of all use cases --- .../Assets/Scenes/00_Preloading.unity | 15 +-- ... Approval Required For Late Joining.unity} | 18 +-- ...oval Required For Late Joining.unity.meta} | 0 ...e Preload All Prefabs Asynchronously.unity | 13 +- ...uthoritative Try Spawn Synchronously.unity | 13 +- ...etwork-Invisible For Loading Clients.unity | 13 +- ...ound (All Post-Connection Use Cases).unity | 13 +- .../PreloadingSample.cs | 47 ++++--- .../ConnectionApproval.cs | 38 +++++- .../LoadAllPrefabs.cs | 12 +- .../SynchronousDynamicPrefabSpawn.cs | 19 ++- .../SpawnPrefabInvisibleWhileIsLoading.cs | 15 ++- .../APIPlayground.cs | 44 +++++-- .../Assets/Scripts/Shared/AppController.cs | 2 +- .../Assets/Scripts/Shared/ConnectionState.cs | 5 +- .../ConnectionStates/ClientConnectedState.cs | 2 +- .../ConnectionStates/ClientConnectingState.cs | 14 +-- .../ConnectionStates/ClientPreloadingState.cs | 4 +- .../Shared/ConnectionStates/HostingState.cs | 11 +- .../Shared/ConnectionStates/OfflineState.cs | 4 +- .../ConnectionStates/StartingHostState.cs | 24 +--- .../Shared/DynamicPrefabLoadingUtilities.cs | 10 +- .../Scripts/Shared/DynamicPrefabManager.cs | 119 ------------------ .../Shared/DynamicPrefabManager.cs.meta | 3 - ...anager.cs => OptionalConnectionManager.cs} | 30 ++--- ...meta => OptionalConnectionManager.cs.meta} | 0 .../ProjectSettings/EditorBuildSettings.asset | 2 +- .../ProjectSettings/ProjectSettings.asset | 2 +- 28 files changed, 193 insertions(+), 299 deletions(-) rename Basic/DyanmicPrefabs/Assets/Scenes/{01_Connection Approval.unity => 01_Connection Approval Required For Late Joining.unity} (99%) rename Basic/DyanmicPrefabs/Assets/Scenes/{01_Connection Approval.unity.meta => 01_Connection Approval Required For Late Joining.unity.meta} (100%) delete mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabManager.cs delete mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabManager.cs.meta rename Basic/DyanmicPrefabs/Assets/Scripts/Shared/{ConnectionManager.cs => OptionalConnectionManager.cs} (71%) rename Basic/DyanmicPrefabs/Assets/Scripts/Shared/{ConnectionManager.cs.meta => OptionalConnectionManager.cs.meta} (100%) diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading.unity b/Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading.unity index 50229a25a..3313edfdd 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading.unity @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 705507994} - m_IndirectSpecularColor: {r: 0.44657874, g: 0.49641275, b: 0.5748172, a: 1} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -227,7 +227,6 @@ GameObject: m_Component: - component: {fileID: 963194228} - component: {fileID: 963194227} - - component: {fileID: 963194226} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -235,14 +234,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!81 &963194226 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 963194225} - m_Enabled: 1 --- !u!20 &963194227 Camera: m_ObjectHideFlags: 0 @@ -331,12 +322,12 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 8c82d08ffbd524a6799d466e7997b6a0, type: 3} m_Name: m_EditorClassIdentifier: - m_DynamicPrefabRef: + m_DynamicPrefabReference: m_AssetGUID: 05ea0814e604c4acf8ae3b7e0a5dfb07 m_SubObjectName: m_SubObjectType: m_EditorAssetChanged: 0 - _networkManager: {fileID: 2054638265} + m_NetworkManager: {fileID: 2054638265} --- !u!4 &989424451 Transform: m_ObjectHideFlags: 0 diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval.unity b/Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval Required For Late Joining.unity similarity index 99% rename from Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval.unity rename to Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval Required For Late Joining.unity index d2fee61ec..f5a5f094d 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval Required For Late Joining.unity @@ -852,7 +852,6 @@ GameObject: m_Component: - component: {fileID: 963194228} - component: {fileID: 963194227} - - component: {fileID: 963194226} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -860,14 +859,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!81 &963194226 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 963194225} - m_Enabled: 1 --- !u!20 &963194227 Camera: m_ObjectHideFlags: 0 @@ -1004,6 +995,11 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_NetworkManager: {fileID: 2054638265} + m_AssetReferenceGameObject: + m_AssetGUID: 05ea0814e604c4acf8ae3b7e0a5dfb07 + m_SubObjectName: + m_SubObjectType: + m_EditorAssetChanged: 0 --- !u!1 &1157890485 GameObject: m_ObjectHideFlags: 0 @@ -1453,6 +1449,10 @@ PrefabInstance: propertyPath: networkManager value: objectReference: {fileID: 2054638265} + - target: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_NetworkManager + value: + objectReference: {fileID: 2054638265} - target: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} propertyPath: dynamicPrefabManager value: diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval.unity.meta b/Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval Required For Late Joining.unity.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval.unity.meta rename to Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval Required For Late Joining.unity.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Authoritative Preload All Prefabs Asynchronously.unity b/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Authoritative Preload All Prefabs Asynchronously.unity index b6a8a9e76..1454bff79 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Authoritative Preload All Prefabs Asynchronously.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Authoritative Preload All Prefabs Asynchronously.unity @@ -134,6 +134,10 @@ PrefabInstance: propertyPath: networkManager value: objectReference: {fileID: 2054638265} + - target: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_NetworkManager + value: + objectReference: {fileID: 2054638265} - target: {fileID: 3432682422254998110, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} propertyPath: m_RootOrder value: 6 @@ -913,7 +917,6 @@ GameObject: m_Component: - component: {fileID: 963194228} - component: {fileID: 963194227} - - component: {fileID: 963194226} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -921,14 +924,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!81 &963194226 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 963194225} - m_Enabled: 1 --- !u!20 &963194227 Camera: m_ObjectHideFlags: 0 diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/03_Server Authoritative Try Spawn Synchronously.unity b/Basic/DyanmicPrefabs/Assets/Scenes/03_Server Authoritative Try Spawn Synchronously.unity index 600fc8386..6feaf53e6 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/03_Server Authoritative Try Spawn Synchronously.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/03_Server Authoritative Try Spawn Synchronously.unity @@ -718,7 +718,6 @@ GameObject: m_Component: - component: {fileID: 963194228} - component: {fileID: 963194227} - - component: {fileID: 963194226} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -726,14 +725,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!81 &963194226 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 963194225} - m_Enabled: 1 --- !u!20 &963194227 Camera: m_ObjectHideFlags: 0 @@ -1484,6 +1475,10 @@ PrefabInstance: propertyPath: networkManager value: objectReference: {fileID: 2054638265} + - target: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_NetworkManager + value: + objectReference: {fileID: 2054638265} - target: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} propertyPath: dynamicPrefabManager value: diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.unity b/Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.unity index 7f8110d86..bfd39168f 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.unity @@ -583,7 +583,6 @@ GameObject: m_Component: - component: {fileID: 963194228} - component: {fileID: 963194227} - - component: {fileID: 963194226} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -591,14 +590,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!81 &963194226 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 963194225} - m_Enabled: 1 --- !u!20 &963194227 Camera: m_ObjectHideFlags: 0 @@ -1483,6 +1474,10 @@ PrefabInstance: propertyPath: networkManager value: objectReference: {fileID: 2054638265} + - target: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_NetworkManager + value: + objectReference: {fileID: 2054638265} - target: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} propertyPath: dynamicPrefabManager value: diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground (All Post-Connection Use Cases).unity b/Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground (All Post-Connection Use Cases).unity index a5e0d64b4..1e262994e 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground (All Post-Connection Use Cases).unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground (All Post-Connection Use Cases).unity @@ -585,7 +585,6 @@ GameObject: m_Component: - component: {fileID: 963194228} - component: {fileID: 963194227} - - component: {fileID: 963194226} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -593,14 +592,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!81 &963194226 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 963194225} - m_Enabled: 1 --- !u!20 &963194227 Camera: m_ObjectHideFlags: 0 @@ -1486,6 +1477,10 @@ PrefabInstance: propertyPath: networkManager value: objectReference: {fileID: 2054638265} + - target: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} + propertyPath: m_NetworkManager + value: + objectReference: {fileID: 2054638265} - target: {fileID: -4564065145618460974, guid: 778b8b3b1127f7f45a2b7f632070b792, type: 3} propertyPath: dynamicPrefabManager value: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs b/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs index c4b964cea..eea6f1351 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs @@ -6,39 +6,38 @@ namespace Game.Preloading { + /// + /// This is the simplest case of a dynamic prefab - we just add it to the list of prefabs before we start the server + /// at this point we can also easily change the PlayerPrefab. What's important is that it doesn't really matter + /// where the prefab comes from, it could be a simple prefab or it could be an Addressable - it's all the same. + /// public sealed class PreloadingSample : MonoBehaviour { - [SerializeField] AssetReferenceGameObject m_DynamicPrefabRef; - [SerializeField] NetworkManager _networkManager; + [SerializeField] AssetReferenceGameObject m_DynamicPrefabReference; + [SerializeField] NetworkManager m_NetworkManager; + + async void Start() + { + await PreloadDynamicPlayerPrefab(); + //after we've waited for the prefabs to load - we can start the host or the client + } - async void Start() - { - //this is the simplest case of a dynamic prefab - we just add it to the list of prefabs before we start the server - //at this point we can also easily change the PlayerPrefab - // - //what's important is that it doesn't really matter where the prefab comes from, - //it could be a simple prefab or it could be an addressable - it's all the same - // - //it's important to note that this isn't limited to PlayerPrefab, despite the method name - //you can add any prefab to the list of prefabs that will be spawned - - await PreloadDynamicPlayerPrefab(); - - //after we've waited for the prefabs to load - we can start the host or the client via the NetworkManagerHud component. - - } - + // It's important to note that this isn't limited to PlayerPrefab, despite the method name you can add any + // prefab to the list of prefabs that will be spawned. async Task PreloadDynamicPlayerPrefab() { - var op = Addressables.LoadAssetAsync(m_DynamicPrefabRef); + Debug.Log($"Started to load addressable with GUID: {m_DynamicPrefabReference.AssetGUID}"); + var op = Addressables.LoadAssetAsync(m_DynamicPrefabReference); var prefab = await op.Task; Addressables.Release(op); - _networkManager.NetworkConfig.ForceSamePrefabs = true; - //it's important to actually add the player prefab to the list of network prefabs - it doesn't happen automatically - _networkManager.AddNetworkPrefab(prefab); - _networkManager.NetworkConfig.PlayerPrefab = prefab; + m_NetworkManager.NetworkConfig.ForceSamePrefabs = true; + //it's important to actually add the player prefab to the list of network prefabs - it doesn't happen + //automatically + m_NetworkManager.AddNetworkPrefab(prefab); + m_NetworkManager.NetworkConfig.PlayerPrefab = prefab; + Debug.Log($"Loaded prefab has been assigned to NetworkManager's PlayerPrefab"); } } } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs index 2e330f0db..8e20adef7 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs @@ -1,12 +1,24 @@ using Unity.Netcode; using UnityEngine; +using UnityEngine.AddressableAssets; namespace Game.ConnectionApproval { - public class ConnectionApproval : NetworkBehaviour + /// + /// A class that walks through what a server would need to validate from a client when dynamically loading network + /// prefabs. This is another simple use case scenario, as this is just the implementation of the connection approval + /// callback, which is an optional feature from Netcode for GameObjects. To enable it, make sure the "Connection + /// Approval" toggle is enabled on the NetworkManager in your scene. Other use cases don't allow for connection + /// after the server has loaded a prefab dynamically, whereas this one enables that functionality. To see it all in + /// harmony, see , where all post-connection techniques are showcased in one scene. + /// + public sealed class ConnectionApproval : NetworkBehaviour { [SerializeField] NetworkManager m_NetworkManager; + + [SerializeField] + AssetReferenceGameObject m_AssetReferenceGameObject; const int k_MaxConnectPayload = 1024; @@ -15,22 +27,36 @@ void Start() DynamicPrefabLoadingUtilities.Init(m_NetworkManager); m_NetworkManager.ConnectionApprovalCallback += ConnectionApprovalCallback; + + // to force a simple connection approval on all joining clients, the server will load a dynamic prefab as + // soon as the server is started + // for more complex use cases where the server must wait for all connected clients to load the same network + // prefab, see the other use cases inside this sample + m_NetworkManager.OnServerStarted += LoadAPrefab; } - + + async void LoadAPrefab() + { + await DynamicPrefabLoadingUtilities.LoadDynamicPrefab( + new AddressableGUID() { Value = m_AssetReferenceGameObject.AssetGUID}, + 0); + } + public override void OnDestroy() { m_NetworkManager.ConnectionApprovalCallback -= ConnectionApprovalCallback; + m_NetworkManager.OnServerStarted -= LoadAPrefab; DynamicPrefabLoadingUtilities.UnloadAndReleaseAllDynamicPrefabs(); base.OnDestroy(); } - public void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) + void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) { - Debug.Log("Client is trying to connect " + request.ClientNetworkId); + Debug.Log($"Client {request.ClientNetworkId} is trying to connect "); var connectionData = request.Payload; var clientId = request.ClientNetworkId; - if (clientId == NetworkManager.Singleton.LocalClientId) + if (clientId == m_NetworkManager.LocalClientId) { //allow the host to connect Approve(); @@ -91,12 +117,14 @@ public void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest void Approve() { + Debug.Log($"Client {clientId} approved"); response.Approved = true; response.CreatePlayerObject = false; //we're not going to spawn a player object for this sample } void ImmediateDeny() { + Debug.Log($"Client {clientId} denied connection"); response.Approved = false; response.CreatePlayerObject = false; } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Preload All Prefabs Asynchronously/LoadAllPrefabs.cs b/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Preload All Prefabs Asynchronously/LoadAllPrefabs.cs index 8b7324d60..6f2f8a618 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Preload All Prefabs Asynchronously/LoadAllPrefabs.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Preload All Prefabs Asynchronously/LoadAllPrefabs.cs @@ -7,7 +7,11 @@ namespace Game.LoadAllPrefabs { - public class LoadAllPrefabs : NetworkBehaviour + /// + /// A simple use case where the server notifies all clients to preload a collection of network prefabs. The server + /// will not invoke a spawn in this use case, and will incrementally load each dynamic prefab, one prefab at a time. + /// + public sealed class LoadAllPrefabs : NetworkBehaviour { [SerializeField] NetworkManager m_NetworkManager; @@ -51,14 +55,14 @@ async void PreloadPrefabs() /// async Task PreloadDynamicPrefabOnServerAndStartLoadingOnAllClients(string guid) { - if (NetworkManager.Singleton.IsServer) + if (m_NetworkManager.IsServer) { var assetGuid = new AddressableGUID() { Value = guid }; - if (DynamicPrefabLoadingUtilities.IsPrefabLoadedLocally(assetGuid)) + if (DynamicPrefabLoadingUtilities.IsPrefabLoadedOnAllClients(assetGuid)) { Debug.Log("Prefab is already loaded by all peers"); return; @@ -90,7 +94,7 @@ async void Load(AddressableGUID assetGuid) [ServerRpc(RequireOwnership = false)] void AcknowledgeSuccessfulPrefabLoadServerRpc(int prefabHash, ServerRpcParams rpcParams = default) { - Debug.Log("Client acknowledged successful prefab load with hash: " + prefabHash); + Debug.Log($"Client acknowledged successful prefab load with hash: {prefabHash}"); DynamicPrefabLoadingUtilities.RecordThatClientHasLoadedAPrefab(prefabHash, rpcParams.Receive.SenderClientId); } } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs index f1cb4c2b3..92ab78abd 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs @@ -8,7 +8,14 @@ namespace Game.SynchronousDynamicPrefabSpawn { - public class SynchronousDynamicPrefabSpawn : NetworkBehaviour + /// + /// A dynamic prefab loading use case where the server instructs all clients to load a single network prefab, and + /// will only invoke a spawn once all clients have successfully completed their respective loads of said prefab. The + /// server will initially send a ClientRpc to all clients, begin loading the prefab on the server, will await + /// acknowledgement of a load via ServerRpcs from each client, and will only spawn the prefab over the network once + /// it has received an acknowledgement from every client, within m_SynchronousSpawnTimeoutTimer seconds. + /// + public sealed class SynchronousDynamicPrefabSpawn : NetworkBehaviour { [SerializeField] NetworkManager m_NetworkManager; @@ -62,7 +69,7 @@ async void TrySpawnSynchronously() Value = guid }; - if (DynamicPrefabLoadingUtilities.IsPrefabLoadedLocally(assetGuid)) + if (DynamicPrefabLoadingUtilities.IsPrefabLoadedOnAllClients(assetGuid)) { Debug.Log("Prefab is already loaded by all peers, we can spawn it immediately"); var obj = await Spawn(assetGuid); @@ -76,8 +83,8 @@ async void TrySpawnSynchronously() LoadAddressableClientRpc(assetGuid); //load the prefab on the server, so that any late-joiner will need to load that prefab also await DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); - var requiredAcknowledgementsCount = IsHost ? NetworkManager.Singleton.ConnectedClients.Count - 1 : - NetworkManager.Singleton.ConnectedClients.Count; + var requiredAcknowledgementsCount = IsHost ? m_NetworkManager.ConnectedClients.Count - 1 : + m_NetworkManager.ConnectedClients.Count; while (m_SynchronousSpawnTimeoutTimer < m_SpawnTimeoutInSeconds) { @@ -103,7 +110,7 @@ async Task Spawn(AddressableGUID assetGuid) var prefab = await DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); var obj = Instantiate(prefab, position, rotation).GetComponent(); - obj.SpawnWithOwnership(NetworkManager.Singleton.LocalClientId); + obj.SpawnWithOwnership(m_NetworkManager.LocalClientId); Debug.Log("Spawned dynamic prefab"); return obj; } @@ -130,7 +137,7 @@ async void Load(AddressableGUID assetGuid) void AcknowledgeSuccessfulPrefabLoadServerRpc(int prefabHash, ServerRpcParams rpcParams = default) { m_SynchronousSpawnAckCount++; - Debug.Log("Client acknowledged successful prefab load with hash: " + prefabHash); + Debug.Log($"Client acknowledged successful prefab load with hash: {prefabHash}"); DynamicPrefabLoadingUtilities.RecordThatClientHasLoadedAPrefab(prefabHash, rpcParams.Receive.SenderClientId); } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn As Network-Invisible For Loading Clients/SpawnPrefabInvisibleWhileIsLoading.cs b/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn As Network-Invisible For Loading Clients/SpawnPrefabInvisibleWhileIsLoading.cs index 157bdef91..ff2f66e05 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn As Network-Invisible For Loading Clients/SpawnPrefabInvisibleWhileIsLoading.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn As Network-Invisible For Loading Clients/SpawnPrefabInvisibleWhileIsLoading.cs @@ -8,7 +8,14 @@ namespace Game.SpawnPrefabInvisibleWhileIsLoading { - public class SpawnPrefabInvisibleWhileIsLoading : NetworkBehaviour + /// + /// A dynamic prefab loading use case where the server instructs all clients to load a single network prefab via a + /// ClientRpc, will spawn said prefab as soon as it is loaded on the server, and will mark it as network-visible + /// only to clients that have already loaded that same prefab. As soon as a client loads the prefab locally, it + /// sends an acknowledgement ServerRpc, and the server will mark that spawned NetworkObject as visible to that + /// client. + /// + public sealed class SpawnPrefabInvisibleWhileIsLoading : NetworkBehaviour { [SerializeField] NetworkManager m_NetworkManager; @@ -93,7 +100,7 @@ async Task Spawn(AddressableGUID assetGuid) return false; }; - obj.SpawnWithOwnership(NetworkManager.Singleton.LocalClientId); + obj.SpawnWithOwnership(m_NetworkManager.LocalClientId); return obj; } @@ -133,12 +140,12 @@ async void Load(AddressableGUID assetGuid) [ServerRpc(RequireOwnership = false)] void AcknowledgeSuccessfulPrefabLoadServerRpc(int prefabHash, ServerRpcParams rpcParams = default) { - Debug.Log("Client acknowledged successful prefab load with hash: " + prefabHash); + Debug.Log($"Client acknowledged successful prefab load with hash: {prefabHash}"); DynamicPrefabLoadingUtilities.RecordThatClientHasLoadedAPrefab(prefabHash, rpcParams.Receive.SenderClientId); //the server has all the objects visible, no need to do anything - if (rpcParams.Receive.SenderClientId != NetworkManager.Singleton.LocalClientId) + if (rpcParams.Receive.SenderClientId != m_NetworkManager.LocalClientId) { ShowHiddenObjectsToClient(prefabHash, rpcParams.Receive.SenderClientId); } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs index 6846bafa3..8c8b2f6bf 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs @@ -8,7 +8,27 @@ namespace Game.APIPlayground { - public class APIPlayground : NetworkBehaviour + /// + /// This class serves as the playground of the dynamic prefab loading use cases. It integrates API from this sample + /// to use at post-connection time such as: connection approval for syncing late-joining clients, dynamically + /// loading a collection of network prefabs on the host and all connected clients, synchronously spawning a + /// dynamically loaded network prefab across connected clients, and spawning a dynamically loaded network prefab as + /// network-invisible for all clients until they load the prefab locally (in which case it becomes visible to the + /// client). + /// + /// Assumption: Addressables are loadable, ie when the client tries to load it - it will not fail. + /// Improvement ideas: + /// - it's possible to have more advanced logic that would for instance kick players that are consistently failing + /// to load an addressable + /// - Addressable guid list could be compressed before being sent + /// - Instead of Addressable guids the peers could exchange a `short` index that would refer to Addressables in some + /// kind of a list stored in a ScriptableObject. That would reduce the amount of data that's being exchanged quite + /// drastically. + /// Last note: this sample does not cover the case of addressable usage when the client is loading custom visual + /// prefabs and swapping out the rendering object for essentially non-dynamic prefabs + /// + /// + public sealed class APIPlayground : NetworkBehaviour { [SerializeField] NetworkManager m_NetworkManager; @@ -48,7 +68,7 @@ void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request var connectionData = request.Payload; var clientId = request.ClientNetworkId; - if (clientId == NetworkManager.Singleton.LocalClientId) + if (clientId == m_NetworkManager.LocalClientId) { //allow the host to connect Approve(); @@ -109,12 +129,14 @@ void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request void Approve() { + Debug.Log($"Client {clientId} approved"); response.Approved = true; response.CreatePlayerObject = false; //we're not going to spawn a player object for this sample } void ImmediateDeny() { + Debug.Log($"Client {clientId} denied connection"); response.Approved = false; response.CreatePlayerObject = false; } @@ -155,14 +177,14 @@ async void PreloadPrefabs() /// async Task PreloadDynamicPrefabOnServerAndStartLoadingOnAllClients(string guid) { - if (NetworkManager.Singleton.IsServer) + if (m_NetworkManager.IsServer) { var assetGuid = new AddressableGUID() { Value = guid }; - if (DynamicPrefabLoadingUtilities.IsPrefabLoadedLocally(assetGuid)) + if (DynamicPrefabLoadingUtilities.IsPrefabLoadedOnAllClients(assetGuid)) { Debug.Log("Prefab is already loaded by all peers"); return; @@ -195,7 +217,7 @@ async void TrySpawnSynchronously() Value = guid }; - if (DynamicPrefabLoadingUtilities.IsPrefabLoadedLocally(assetGuid)) + if (DynamicPrefabLoadingUtilities.IsPrefabLoadedOnAllClients(assetGuid)) { Debug.Log("Prefab is already loaded by all peers, we can spawn it immediately"); var obj = await Spawn(assetGuid); @@ -209,8 +231,8 @@ async void TrySpawnSynchronously() LoadAddressableClientRpc(assetGuid); //load the prefab on the server, so that any late-joiner will need to load that prefab also await DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); - var requiredAcknowledgementsCount = IsHost ? NetworkManager.Singleton.ConnectedClients.Count - 1 : - NetworkManager.Singleton.ConnectedClients.Count; + var requiredAcknowledgementsCount = IsHost ? m_NetworkManager.ConnectedClients.Count - 1 : + m_NetworkManager.ConnectedClients.Count; while (m_SynchronousSpawnTimeoutTimer < m_SpawnTimeoutInSeconds) { @@ -236,7 +258,7 @@ async Task Spawn(AddressableGUID assetGuid) var prefab = await DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); var obj = Instantiate(prefab, position, rotation).GetComponent(); - obj.SpawnWithOwnership(NetworkManager.Singleton.LocalClientId); + obj.SpawnWithOwnership(m_NetworkManager.LocalClientId); Debug.Log("Spawned dynamic prefab"); return obj; } @@ -297,7 +319,7 @@ async Task Spawn(AddressableGUID assetGuid) return false; }; - obj.SpawnWithOwnership(NetworkManager.Singleton.LocalClientId); + obj.SpawnWithOwnership(m_NetworkManager.LocalClientId); return obj; } @@ -338,12 +360,12 @@ async void Load(AddressableGUID assetGuid) void AcknowledgeSuccessfulPrefabLoadServerRpc(int prefabHash, ServerRpcParams rpcParams = default) { m_SynchronousSpawnAckCount++; - Debug.Log("Client acknowledged successful prefab load with hash: " + prefabHash); + Debug.Log($"Client acknowledged successful prefab load with hash: {prefabHash}"); DynamicPrefabLoadingUtilities.RecordThatClientHasLoadedAPrefab(prefabHash, rpcParams.Receive.SenderClientId); //the server has all the objects visible, no need to do anything - if (rpcParams.Receive.SenderClientId != NetworkManager.Singleton.LocalClientId) + if (rpcParams.Receive.SenderClientId != m_NetworkManager.LocalClientId) { ShowHiddenObjectsToClient(prefabHash, rpcParams.Receive.SenderClientId); } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs index 97c8c2fc8..547d1b5bc 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs @@ -17,7 +17,7 @@ public sealed class AppController : NetworkBehaviour [SerializeField] GameObject m_SpawnUI; [SerializeField] - ConnectionManager m_ConnectionManager; + OptionalConnectionManager m_ConnectionManager; public void StartClient() { diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionState.cs index b51ab24ba..ff58a826c 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionState.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionState.cs @@ -1,5 +1,4 @@ using System; -using Unity.Netcode; using UnityEngine; namespace Game @@ -9,7 +8,7 @@ namespace Game /// abstract class ConnectionState { - protected ConnectionManager m_ConnectionManager; + protected OptionalConnectionManager m_ConnectionManager; public abstract void Enter(); @@ -27,8 +26,6 @@ public virtual void StartHostIP(string ipaddress, ushort port) { } public virtual void OnUserRequestedShutdown() { } - public virtual void ApprovalCheck(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) { } - public virtual void OnTransportFailure() { } } } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectedState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectedState.cs index f4316163a..7959fa9f6 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectedState.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectedState.cs @@ -8,7 +8,7 @@ namespace Game /// class ClientConnectedState : ConnectionState { - public ClientConnectedState(ConnectionManager connectionManager) + public ClientConnectedState(OptionalConnectionManager connectionManager) { m_ConnectionManager = connectionManager; } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs index 0b125fd54..40da793f7 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs @@ -10,7 +10,7 @@ namespace Game /// class ClientConnectingState : ConnectionState { - public ClientConnectingState(ConnectionManager connectionManager) + public ClientConnectingState(OptionalConnectionManager connectionManager) { m_ConnectionManager = connectionManager; } @@ -24,14 +24,12 @@ public override void Exit() { } void StartClient() { - Debug.Log(nameof(StartClient)); - - m_ConnectionManager.networkManager.NetworkConfig.ForceSamePrefabs = false; - var transport = m_ConnectionManager.networkManager.GetComponent(); + m_ConnectionManager.m_NetworkManager.NetworkConfig.ForceSamePrefabs = false; + var transport = m_ConnectionManager.m_NetworkManager.GetComponent(); transport.SetConnectionData(m_ConnectionManager.m_ConnectAddress, m_ConnectionManager.m_Port); - m_ConnectionManager.networkManager.NetworkConfig.ConnectionData = + m_ConnectionManager.m_NetworkManager.NetworkConfig.ConnectionData = DynamicPrefabLoadingUtilities.GenerateRequestPayload(); - m_ConnectionManager.networkManager.StartClient(); + m_ConnectionManager.m_NetworkManager.StartClient(); } public override void OnClientConnected(ulong _) @@ -42,7 +40,7 @@ public override void OnClientConnected(ulong _) public override void OnClientDisconnect(ulong _) { // client ID is for sure ours here - var disconnectReason = m_ConnectionManager.networkManager.DisconnectReason; + var disconnectReason = m_ConnectionManager.m_NetworkManager.DisconnectReason; if (string.IsNullOrEmpty(disconnectReason)) { m_ConnectionManager.ChangeState(m_ConnectionManager.m_Offline); diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientPreloadingState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientPreloadingState.cs index b7764e099..8680869de 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientPreloadingState.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientPreloadingState.cs @@ -16,14 +16,14 @@ class ClientPreloadingState : ConnectionState { public DisconnectionPayload disconnectionPayload; - public ClientPreloadingState(ConnectionManager connectionManager) + public ClientPreloadingState(OptionalConnectionManager connectionManager) { m_ConnectionManager = connectionManager; } public override void Enter() { - m_ConnectionManager.networkManager.Shutdown(); + m_ConnectionManager.m_NetworkManager.Shutdown(); HandleDisconnectReason(); } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/HostingState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/HostingState.cs index 260d83e31..df0422785 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/HostingState.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/HostingState.cs @@ -1,4 +1,3 @@ -using Unity.Netcode; using UnityEngine; namespace Game @@ -9,7 +8,7 @@ namespace Game /// class HostingState : ConnectionState { - public HostingState(ConnectionManager connectionManager) + public HostingState(OptionalConnectionManager connectionManager) { m_ConnectionManager = connectionManager; } @@ -17,12 +16,6 @@ public HostingState(ConnectionManager connectionManager) public override void Enter() { } public override void Exit() { } - - public override void ApprovalCheck(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) - { - // TODO: hookup connection approval from the connection approval use case - /*m_ConnectionManager.dynamicPrefabManager.ConnectionApprovalCallback(request, response);*/ - } public override void OnUserRequestedShutdown() { @@ -36,7 +29,7 @@ public override void OnClientConnected(ulong clientId) public override void OnClientDisconnect(ulong clientId) { - if (clientId == m_ConnectionManager.networkManager.LocalClientId) + if (clientId == m_ConnectionManager.m_NetworkManager.LocalClientId) { m_ConnectionManager.ChangeState(m_ConnectionManager.m_Offline); } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/OfflineState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/OfflineState.cs index 26a843ee5..f43e45c25 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/OfflineState.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/OfflineState.cs @@ -9,7 +9,7 @@ namespace Game /// class OfflineState : ConnectionState { - public OfflineState(ConnectionManager connectionManager) + public OfflineState(OptionalConnectionManager connectionManager) { m_ConnectionManager = connectionManager; } @@ -17,7 +17,7 @@ public OfflineState(ConnectionManager connectionManager) public override void Enter() { DynamicPrefabLoadingUtilities.UnloadAndReleaseAllDynamicPrefabs(); - m_ConnectionManager.networkManager.Shutdown(); + m_ConnectionManager.m_NetworkManager.Shutdown(); } public override void Exit() { } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/StartingHostState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/StartingHostState.cs index d44e73db0..34b35b209 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/StartingHostState.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/StartingHostState.cs @@ -1,4 +1,3 @@ -using Unity.Netcode; using Unity.Netcode.Transports.UTP; using UnityEngine; @@ -10,7 +9,7 @@ namespace Game /// class StartingHostState : ConnectionState { - public StartingHostState(ConnectionManager connectionManager) + public StartingHostState(OptionalConnectionManager connectionManager) { m_ConnectionManager = connectionManager; } @@ -24,28 +23,15 @@ public override void Exit() { } void StartHost() { - Debug.Log(nameof(StartHost)); - m_ConnectionManager.networkManager.NetworkConfig.ForceSamePrefabs = false; - var transport = m_ConnectionManager.networkManager.GetComponent(); + m_ConnectionManager.m_NetworkManager.NetworkConfig.ForceSamePrefabs = false; + var transport = m_ConnectionManager.m_NetworkManager.GetComponent(); transport.SetConnectionData(m_ConnectionManager.m_ConnectAddress, m_ConnectionManager.m_Port); - m_ConnectionManager.networkManager.StartHost(); - } - - public override void ApprovalCheck(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) - { - var clientId = request.ClientNetworkId; - // This happens when starting as a host, before the end of the StartHost call. In that case, we simply approve ourselves. - if (clientId == m_ConnectionManager.networkManager.LocalClientId) - { - // connection approval will create a player object for you - response.Approved = true; - response.CreatePlayerObject = false; - } + m_ConnectionManager.m_NetworkManager.StartHost(); } public override void OnClientDisconnect(ulong clientId) { - if (clientId == m_ConnectionManager.networkManager.LocalClientId) + if (clientId == m_ConnectionManager.m_NetworkManager.LocalClientId) { m_ConnectionManager.ChangeState(m_ConnectionManager.m_Offline); } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs index b848c242c..efe2ddde1 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs @@ -8,6 +8,14 @@ namespace Game { + /// + /// A utilities class to handle the loading, tracking, and disposing of loaded network prefabs. Connection and + /// disconnection payloads can be easily accessed from this class as well. + /// + /// + /// Artificial delay to the loading of a network prefab is disabled by default. To enable it, make sure to add + /// ENABLE_ARTIFICIAL_DELAY as a scripting define symbol to your project's Player settings. + /// public static class DynamicPrefabLoadingUtilities { const int k_EmptyDynamicPrefabHash = -1; @@ -24,7 +32,7 @@ public static class DynamicPrefabLoadingUtilities public static bool HasClientLoadedPrefab(ulong clientId, int prefabHash) => s_PrefabHashToClientIds.TryGetValue(prefabHash, out var clientIds) && clientIds.Contains(clientId); - public static bool IsPrefabLoadedLocally(AddressableGUID assetGuid) => + public static bool IsPrefabLoadedOnAllClients(AddressableGUID assetGuid) => s_LoadedDynamicPrefabResourceHandles.ContainsKey(assetGuid); public static int LoadedPrefabCount => s_LoadedDynamicPrefabResourceHandles.Count; diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabManager.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabManager.cs deleted file mode 100644 index beb57a48f..000000000 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabManager.cs +++ /dev/null @@ -1,119 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using Unity.Netcode; -using UnityEngine; -using UnityEngine.AddressableAssets; - -namespace Game -{ - //Assumption: Addressables are loadable, ie when the client tries to load it - it will not fail. - - //todo: improvement ideas: - // - it's possible to have more advanced logic that would for instance kick players that are consistently failing to load an addressable - // - addressable guid list could be compressed before being sent - // - instead of addressable guids the peers could exchange a `short` index that would refer to Addressables in some kind of a list stored in a scriptable object. That would reduce the amount of data that's being exchanged quite drastically. - - //todo: if/when there is a sample that shows how to load addressable scenes - //- we probably should add some logic to NetworkSceneManager that would allow us to use Addressables scene loading - - //this sample does not cover the case of addressable usage when the client is loading custom visual prefabs and swapping out the rendering object for essentially non-dynamic prefabs - - public class DynamicPrefabManager : NetworkBehaviour - { - public override void OnDestroy() - { - //UnloadAndReleaseAllDynamicPrefabs(); - base.OnDestroy(); - } - - /*[ClientRpc] - void LoadAddressableClientRpc(AddressableGUID guid, ClientRpcParams rpcParams = default) - { - if (!IsHost) - { - Load(guid); - } - - async void Load(AddressableGUID assetGuid) - { - Debug.Log("Loading dynamic prefab on the client..."); - await LoadDynamicPrefab(assetGuid); - Debug.Log("Client loaded dynamic prefab"); - AcknowledgeSuccessfulPrefabLoadServerRpc(assetGuid.GetHashCode()); - } - }*/ - - [ServerRpc(RequireOwnership = false)] - void AcknowledgeSuccessfulPrefabLoadServerRpc(int prefabHash, ServerRpcParams rpcParams = default) - { - /*m_SynchronousSpawnAckCount++; - Debug.Log("Client acknowledged successful prefab load with hash: " + prefabHash); - RecordThatClientHasLoadedAPrefab(prefabHash, rpcParams.Receive.SenderClientId); - - //the server has all the objects visible, no need to do anything - if (rpcParams.Receive.SenderClientId != NetworkManager.Singleton.LocalClientId) - { - ShowHiddenObjectsToClient(prefabHash, rpcParams.Receive.SenderClientId); - }*/ - } - - /*public async Task> LoadDynamicPrefabs(AddressableGUIDCollection addressableGUIDCollection) - { - var tasks = new List>(); - - foreach (var guid in addressableGUIDCollection.GUIDs) - { - tasks.Add( LoadDynamicPrefab(guid, recomputeHash:false)); - } - - var prefabs = await Task.WhenAll(tasks); - CalculateDynamicPrefabArrayHash(); - - return prefabs; - }*/ - - // could keep it here - /*async Task LoadDynamicPrefab(AddressableGUID guid, bool recomputeHash = true) - { - if (m_LoadedDynamicPrefabResourceHandles.ContainsKey(guid)) - { - Debug.Log($"Prefab has already been loaded, skipping loading this time | {guid}"); - return m_LoadedDynamicPrefabResourceHandles[guid].Result; - } - - Debug.Log($"Loading dynamic prefab {guid.Value}"); - var op = Addressables.LoadAssetAsync(guid.ToString()); - var prefab = await op.Task; - - #if DEBUG - //this delay here is to make it obvious how different loading strategies differ - //artificial latency would also highlight the difference - await Task.Delay(m_ArtificialDelayMilliseconds); - #endif - - NetworkManager.Singleton.AddNetworkPrefab(prefab); - m_LoadedDynamicPrefabResourceHandles.Add(guid, op); - - if(recomputeHash) - { - CalculateDynamicPrefabArrayHash(); - } - - return prefab; - }*/ - - /*public void UnloadAndReleaseAllDynamicPrefabs() - { - m_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; - - foreach (var handle in m_LoadedDynamicPrefabResourceHandles.Values) - { - NetworkManager.Singleton.RemoveNetworkPrefab(handle.Result); - Addressables.Release(handle); - } - - m_LoadedDynamicPrefabResourceHandles.Clear(); - }*/ - } -} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabManager.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabManager.cs.meta deleted file mode 100644 index ba3b77d58..000000000 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabManager.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 7da934f3c1a34d55951e92710428a53b -timeCreated: 1669645018 \ No newline at end of file diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionManager.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/OptionalConnectionManager.cs similarity index 71% rename from Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionManager.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/OptionalConnectionManager.cs index 016fbfdb4..706c5cfba 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionManager.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/OptionalConnectionManager.cs @@ -6,10 +6,13 @@ namespace Game { /// /// A state machine to track a client's connection state. + /// Note: this class is not absolutely necessary for dynamic prefab loading. It is simply added to for simpler + /// navigation of code through the different states of connection, particularly client reconnection. /// - public class ConnectionManager : MonoBehaviour + public class OptionalConnectionManager : MonoBehaviour { - public NetworkManager networkManager; + [SerializeField] + internal NetworkManager m_NetworkManager; ConnectionState m_CurrentState; @@ -45,20 +48,18 @@ void Start() m_CurrentState = m_Offline; - networkManager.OnClientConnectedCallback += OnClientConnectedCallback; - networkManager.OnClientDisconnectCallback += OnClientDisconnectCallback; - networkManager.OnServerStarted += OnServerStarted; - //networkManager.ConnectionApprovalCallback += ApprovalCheck; - networkManager.OnTransportFailure += OnTransportFailure; + m_NetworkManager.OnClientConnectedCallback += OnClientConnectedCallback; + m_NetworkManager.OnClientDisconnectCallback += OnClientDisconnectCallback; + m_NetworkManager.OnServerStarted += OnServerStarted; + m_NetworkManager.OnTransportFailure += OnTransportFailure; } void OnDestroy() { - networkManager.OnClientConnectedCallback -= OnClientConnectedCallback; - networkManager.OnClientDisconnectCallback -= OnClientDisconnectCallback; - networkManager.OnServerStarted -= OnServerStarted; - //networkManager.ConnectionApprovalCallback -= ApprovalCheck; - networkManager.OnTransportFailure -= OnTransportFailure; + m_NetworkManager.OnClientConnectedCallback -= OnClientConnectedCallback; + m_NetworkManager.OnClientDisconnectCallback -= OnClientDisconnectCallback; + m_NetworkManager.OnServerStarted -= OnServerStarted; + m_NetworkManager.OnTransportFailure -= OnTransportFailure; } void OnClientConnectedCallback(ulong clientId) @@ -76,11 +77,6 @@ void OnServerStarted() m_CurrentState.OnServerStarted(); } - void ApprovalCheck(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) - { - m_CurrentState.ApprovalCheck(request, response); - } - void OnTransportFailure() { m_CurrentState.OnTransportFailure(); diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionManager.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/OptionalConnectionManager.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionManager.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/Shared/OptionalConnectionManager.cs.meta diff --git a/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset b/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset index 25d07825d..cfbdb80d3 100644 --- a/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset +++ b/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset @@ -9,7 +9,7 @@ EditorBuildSettings: path: Assets/Scenes/00_Preloading.unity guid: 9fc0d4010bbf28b4594072e72b8655ab - enabled: 1 - path: Assets/Scenes/01_Connection Approval.unity + path: Assets/Scenes/01_Connection Approval Required For Late Joining.unity guid: 7b6923b024b9f56478b4080b24977311 - enabled: 1 path: Assets/Scenes/02_Server Authoritative Preload All Prefabs Asynchronously.unity diff --git a/Basic/DyanmicPrefabs/ProjectSettings/ProjectSettings.asset b/Basic/DyanmicPrefabs/ProjectSettings/ProjectSettings.asset index ff072daa6..42a353dbc 100644 --- a/Basic/DyanmicPrefabs/ProjectSettings/ProjectSettings.asset +++ b/Basic/DyanmicPrefabs/ProjectSettings/ProjectSettings.asset @@ -617,7 +617,7 @@ PlayerSettings: webGLDecompressionFallback: 0 webGLPowerPreference: 2 scriptingDefineSymbols: - Standalone: ENABLE_ARTIFICIAL_DELAY + Standalone: additionalCompilerArguments: {} platformArchitecture: {} scriptingBackend: {} From abdc69766eec1a1c67d096861590263e64bf2c0d Mon Sep 17 00:00:00 2001 From: Fernando Cortez Date: Thu, 9 Feb 2023 17:18:31 -0500 Subject: [PATCH 39/55] removing unnecessary async operation on already loaded prefab --- .../SynchronousDynamicPrefabSpawn.cs | 15 +++++++++------ .../Shared/DynamicPrefabLoadingUtilities.cs | 5 +++++ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs index 92ab78abd..30cd22eee 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs @@ -72,7 +72,7 @@ async void TrySpawnSynchronously() if (DynamicPrefabLoadingUtilities.IsPrefabLoadedOnAllClients(assetGuid)) { Debug.Log("Prefab is already loaded by all peers, we can spawn it immediately"); - var obj = await Spawn(assetGuid); + var obj = Spawn(assetGuid); return (true, obj); } @@ -91,7 +91,7 @@ async void TrySpawnSynchronously() if (m_SynchronousSpawnAckCount >= requiredAcknowledgementsCount) { Debug.Log($"All clients have loaded the prefab in {m_SynchronousSpawnTimeoutTimer} seconds, spawning the prefab on the server..."); - var obj = await Spawn(assetGuid); + var obj = Spawn(assetGuid); return (true, obj); } @@ -105,11 +105,14 @@ async void TrySpawnSynchronously() return (false, null); - async Task Spawn(AddressableGUID assetGuid) + NetworkObject Spawn(AddressableGUID assetGuid) { - var prefab = await DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, - m_ArtificialDelayMilliseconds); - var obj = Instantiate(prefab, position, rotation).GetComponent(); + if (!DynamicPrefabLoadingUtilities.TryGetLoadedGameObjectFromGuid(assetGuid, out var prefab)) + { + Debug.LogWarning($"GUID {assetGuid} is not a GUID of a previously loaded prefab. Failed to spawn a prefab."); + return null; + } + var obj = Instantiate(prefab.Result, position, rotation).GetComponent(); obj.SpawnWithOwnership(m_NetworkManager.LocalClientId); Debug.Log("Spawned dynamic prefab"); return obj; diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs index efe2ddde1..abd923149 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs @@ -35,6 +35,11 @@ public static bool HasClientLoadedPrefab(ulong clientId, int prefabHash) => public static bool IsPrefabLoadedOnAllClients(AddressableGUID assetGuid) => s_LoadedDynamicPrefabResourceHandles.ContainsKey(assetGuid); + public static bool TryGetLoadedGameObjectFromGuid(AddressableGUID assetGuid, out AsyncOperationHandle loadedGameObject) + { + return s_LoadedDynamicPrefabResourceHandles.TryGetValue(assetGuid, out loadedGameObject); + } + public static int LoadedPrefabCount => s_LoadedDynamicPrefabResourceHandles.Count; public static int ServerPrefabHash => s_HashOfDynamicPrefabGUIDs; From 5bdf2bcc0f0a02bf9c7e9830a58d345972cf56b2 Mon Sep 17 00:00:00 2001 From: Fernando Cortez Date: Fri, 10 Feb 2023 14:07:59 -0500 Subject: [PATCH 40/55] renaming cleanup, AddressableGUID dictionary lookups don't create allocations with IEqualityComparer --- .../01_Connection Approval/ConnectionApproval.cs | 4 ++-- .../APIPlayground.cs | 4 ++-- .../Assets/Scripts/Shared/AddressableGUID.cs | 14 ++++++++++++++ .../Assets/Scripts/Shared/ConnectionPayload.cs | 2 +- .../Shared/DynamicPrefabLoadingUtilities.cs | 16 +++++++--------- 5 files changed, 26 insertions(+), 14 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs index 8e20adef7..10863f8d0 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs @@ -81,8 +81,8 @@ void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request var payload = System.Text.Encoding.UTF8.GetString(connectionData); var connectionPayload = JsonUtility.FromJson(payload); // https://docs.unity3d.com/2020.2/Documentation/Manual/JSONSerialization.html - int clientPrefabHash = connectionPayload.HashOfDynamicPrefabGUIDs; - int serverPrefabHash = DynamicPrefabLoadingUtilities.ServerPrefabHash; + int clientPrefabHash = connectionPayload.hashOfDynamicPrefabGUIDs; + int serverPrefabHash = DynamicPrefabLoadingUtilities.HashOfDynamicPrefabGUIDs; //if the client has the same prefabs as the server - approve the connection if (clientPrefabHash == serverPrefabHash) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs index 8c8b2f6bf..45a6f6ace 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs @@ -93,8 +93,8 @@ void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request var payload = System.Text.Encoding.UTF8.GetString(connectionData); var connectionPayload = JsonUtility.FromJson(payload); // https://docs.unity3d.com/2020.2/Documentation/Manual/JSONSerialization.html - int clientPrefabHash = connectionPayload.HashOfDynamicPrefabGUIDs; - int serverPrefabHash = DynamicPrefabLoadingUtilities.ServerPrefabHash; + int clientPrefabHash = connectionPayload.hashOfDynamicPrefabGUIDs; + int serverPrefabHash = DynamicPrefabLoadingUtilities.HashOfDynamicPrefabGUIDs; //if the client has the same prefabs as the server - approve the connection if (clientPrefabHash == serverPrefabHash) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUID.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUID.cs index 24f6936fd..8f503d93e 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUID.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUID.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using Unity.Collections; using Unity.Netcode; @@ -24,4 +25,17 @@ public override string ToString() return Value.ToString(); } } + + public class AddressableGUIDEqualityComparer : IEqualityComparer + { + public int GetHashCode(AddressableGUID addressableGUID) + { + return addressableGUID.GetHashCode(); + } + + public bool Equals(AddressableGUID x, AddressableGUID y) + { + return x.GetHashCode().Equals(y.GetHashCode()); + } + } } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionPayload.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionPayload.cs index f33f118c4..267de22f2 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionPayload.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionPayload.cs @@ -7,7 +7,7 @@ namespace Game [Serializable] public class ConnectionPayload { - public int HashOfDynamicPrefabGUIDs; + public int hashOfDynamicPrefabGUIDs; } [Serializable] diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs index abd923149..b89a0c9f3 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs @@ -20,9 +20,9 @@ public static class DynamicPrefabLoadingUtilities { const int k_EmptyDynamicPrefabHash = -1; - static int s_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; + public static int HashOfDynamicPrefabGUIDs { get; private set; } = k_EmptyDynamicPrefabHash; - static Dictionary> s_LoadedDynamicPrefabResourceHandles = new Dictionary>(); + static Dictionary> s_LoadedDynamicPrefabResourceHandles = new Dictionary>(new AddressableGUIDEqualityComparer()); static List s_DynamicPrefabGUIDs = new List(); //cached list to avoid GC @@ -42,8 +42,6 @@ public static bool TryGetLoadedGameObjectFromGuid(AddressableGUID assetGuid, out public static int LoadedPrefabCount => s_LoadedDynamicPrefabResourceHandles.Count; - public static int ServerPrefabHash => s_HashOfDynamicPrefabGUIDs; - static NetworkManager s_NetworkManager; static DynamicPrefabLoadingUtilities() { } @@ -77,7 +75,7 @@ public static byte[] GenerateRequestPayload() { var payload = JsonUtility.ToJson(new ConnectionPayload() { - HashOfDynamicPrefabGUIDs = s_HashOfDynamicPrefabGUIDs + hashOfDynamicPrefabGUIDs = HashOfDynamicPrefabGUIDs }); return System.Text.Encoding.UTF8.GetBytes(payload); @@ -152,7 +150,7 @@ static void CalculateDynamicPrefabArrayHash() //it's possible to use an order-independent hashing algorithm for some potential performance gains RefreshLoadedPrefabGuids(); s_DynamicPrefabGUIDs.Sort((a, b) => a.Value.CompareTo(b.Value)); - s_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; + HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; //a simple hash combination algorithm suggested by Jon Skeet, //found here: https://stackoverflow.com/questions/1646807/quick-and-simple-hash-code-combinations @@ -165,15 +163,15 @@ static void CalculateDynamicPrefabArrayHash() hash = hash * 31 + s_DynamicPrefabGUIDs[i].GetHashCode(); } - s_HashOfDynamicPrefabGUIDs = hash; + HashOfDynamicPrefabGUIDs = hash; } - Debug.Log($"Calculated hash of dynamic prefabs: {s_HashOfDynamicPrefabGUIDs}"); + Debug.Log($"Calculated hash of dynamic prefabs: {HashOfDynamicPrefabGUIDs}"); } public static void UnloadAndReleaseAllDynamicPrefabs() { - s_HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; + HashOfDynamicPrefabGUIDs = k_EmptyDynamicPrefabHash; foreach (var handle in s_LoadedDynamicPrefabResourceHandles.Values) { From 4d93f70caf04f4223496ddf856a3a9719ed059ca Mon Sep 17 00:00:00 2001 From: Fernando Cortez Date: Fri, 10 Feb 2023 14:42:56 -0500 Subject: [PATCH 41/55] parity of use case scene names and scripts --- ...eloading.unity => 00_Preloading Dynamic Prefabs.unity} | 0 ...nity.meta => 00_Preloading Dynamic Prefabs.unity.meta} | 0 ...e Spawn Dynamic Prefab Using Network Visibility.unity} | 0 ...wn Dynamic Prefab Using Network Visibility.unity.meta} | 0 ...ground Showcasing All Post-Connection Use-Cases.unity} | 0 ...d Showcasing All Post-Connection Use-Cases.unity.meta} | 0 ...connection.meta => 00_Preloading Dynamic Prefabs.meta} | 0 .../PreloadingDynamicPrefabs.cs} | 4 ++-- .../PreloadingDynamicPrefabs.cs.meta} | 0 ...01_Connection Approval Required For Late Joining.meta} | 0 .../ConnectionApprovalRequiredForLateJoining.cs} | 4 ++-- .../ConnectionApprovalRequiredForLateJoining.cs.meta} | 0 ...er Authoritative Load All Prefabs Asynchronously.meta} | 0 .../ServerAuthoritativeLoadAllPrefabsAsynchronously.cs} | 4 ++-- ...rverAuthoritativeLoadAllPrefabsAsynchronously.cs.meta} | 0 ...r Authoritative Synchronous Dynamic Prefab Spawn.meta} | 0 .../ServerAuthoritativeSynchronousDynamicPrefabSpawn.cs} | 6 +++--- ...verAuthoritativeSynchronousDynamicPrefabSpawn.cs.meta} | 0 ...ve Spawn Dynamic Prefab Using Network Visibility.meta} | 0 ...horitativeSpawnDynamicPrefabUsingNetworkVisibility.cs} | 6 +++--- ...ativeSpawnDynamicPrefabUsingNetworkVisibility.cs.meta} | 0 ...nd Showcasing All Post-Connection Time Use-Cases.meta} | 0 .../APIPlaygroundShowcasingAllPostConnectionUseCases.cs} | 8 ++++---- ...PlaygroundShowcasingAllPostConnectionUseCases.cs.meta} | 0 24 files changed, 16 insertions(+), 16 deletions(-) rename Basic/DyanmicPrefabs/Assets/Scenes/{00_Preloading.unity => 00_Preloading Dynamic Prefabs.unity} (100%) rename Basic/DyanmicPrefabs/Assets/Scenes/{00_Preloading.unity.meta => 00_Preloading Dynamic Prefabs.unity.meta} (100%) rename Basic/DyanmicPrefabs/Assets/Scenes/{04_Server Authoritative Spawn As Network-Invisible For Loading Clients.unity => 04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility.unity} (100%) rename Basic/DyanmicPrefabs/Assets/Scenes/{04_Server Authoritative Spawn As Network-Invisible For Loading Clients.unity.meta => 04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility.unity.meta} (100%) rename Basic/DyanmicPrefabs/Assets/Scenes/{05_API Playground (All Post-Connection Use Cases).unity => 05_API Playground Showcasing All Post-Connection Use-Cases.unity} (100%) rename Basic/DyanmicPrefabs/Assets/Scenes/{05_API Playground (All Post-Connection Use Cases).unity.meta => 05_API Playground Showcasing All Post-Connection Use-Cases.unity.meta} (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{00_Simplest Scenario - all prefabs are added before connection.meta => 00_Preloading Dynamic Prefabs.meta} (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs => 00_Preloading Dynamic Prefabs/PreloadingDynamicPrefabs.cs} (94%) rename Basic/DyanmicPrefabs/Assets/Scripts/{00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs.meta => 00_Preloading Dynamic Prefabs/PreloadingDynamicPrefabs.cs.meta} (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{01_Connection Approval.meta => 01_Connection Approval Required For Late Joining.meta} (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{01_Connection Approval/ConnectionApproval.cs => 01_Connection Approval Required For Late Joining/ConnectionApprovalRequiredForLateJoining.cs} (97%) rename Basic/DyanmicPrefabs/Assets/Scripts/{01_Connection Approval/ConnectionApproval.cs.meta => 01_Connection Approval Required For Late Joining/ConnectionApprovalRequiredForLateJoining.cs.meta} (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{02_Server Authoritative Preload All Prefabs Asynchronously.meta => 02_Server Authoritative Load All Prefabs Asynchronously.meta} (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{02_Server Authoritative Preload All Prefabs Asynchronously/LoadAllPrefabs.cs => 02_Server Authoritative Load All Prefabs Asynchronously/ServerAuthoritativeLoadAllPrefabsAsynchronously.cs} (95%) rename Basic/DyanmicPrefabs/Assets/Scripts/{02_Server Authoritative Preload All Prefabs Asynchronously/LoadAllPrefabs.cs.meta => 02_Server Authoritative Load All Prefabs Asynchronously/ServerAuthoritativeLoadAllPrefabsAsynchronously.cs.meta} (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{03_Server Authoritative Try Spawn Synchronously.meta => 03_Server Authoritative Synchronous Dynamic Prefab Spawn.meta} (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs => 03_Server Authoritative Synchronous Dynamic Prefab Spawn/ServerAuthoritativeSynchronousDynamicPrefabSpawn.cs} (97%) rename Basic/DyanmicPrefabs/Assets/Scripts/{03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs.meta => 03_Server Authoritative Synchronous Dynamic Prefab Spawn/ServerAuthoritativeSynchronousDynamicPrefabSpawn.cs.meta} (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{04_Server Authoritative Spawn As Network-Invisible For Loading Clients.meta => 04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility.meta} (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{04_Server Authoritative Spawn As Network-Invisible For Loading Clients/SpawnPrefabInvisibleWhileIsLoading.cs => 04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs} (96%) rename Basic/DyanmicPrefabs/Assets/Scripts/{04_Server Authoritative Spawn As Network-Invisible For Loading Clients/SpawnPrefabInvisibleWhileIsLoading.cs.meta => 04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs.meta} (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{05_API Playground (All Post-Connection Time Use Cases).meta => 05_API Playground Showcasing All Post-Connection Time Use-Cases.meta} (100%) rename Basic/DyanmicPrefabs/Assets/Scripts/{05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs => 05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs} (98%) rename Basic/DyanmicPrefabs/Assets/Scripts/{05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs.meta => 05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs.meta} (100%) diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading.unity b/Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading Dynamic Prefabs.unity similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading.unity rename to Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading Dynamic Prefabs.unity diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading.unity.meta b/Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading Dynamic Prefabs.unity.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading.unity.meta rename to Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading Dynamic Prefabs.unity.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.unity b/Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility.unity similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.unity rename to Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility.unity diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.unity.meta b/Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility.unity.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.unity.meta rename to Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility.unity.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground (All Post-Connection Use Cases).unity b/Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground Showcasing All Post-Connection Use-Cases.unity similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground (All Post-Connection Use Cases).unity rename to Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground Showcasing All Post-Connection Use-Cases.unity diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground (All Post-Connection Use Cases).unity.meta b/Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground Showcasing All Post-Connection Use-Cases.unity.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground (All Post-Connection Use Cases).unity.meta rename to Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground Showcasing All Post-Connection Use-Cases.unity.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection.meta b/Basic/DyanmicPrefabs/Assets/Scripts/00_Preloading Dynamic Prefabs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/00_Preloading Dynamic Prefabs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs b/Basic/DyanmicPrefabs/Assets/Scripts/00_Preloading Dynamic Prefabs/PreloadingDynamicPrefabs.cs similarity index 94% rename from Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/00_Preloading Dynamic Prefabs/PreloadingDynamicPrefabs.cs index eea6f1351..6857b1752 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/00_Preloading Dynamic Prefabs/PreloadingDynamicPrefabs.cs @@ -4,14 +4,14 @@ using UnityEngine; using UnityEngine.AddressableAssets; -namespace Game.Preloading +namespace Game.PreloadingDynamicPrefabs { /// /// This is the simplest case of a dynamic prefab - we just add it to the list of prefabs before we start the server /// at this point we can also easily change the PlayerPrefab. What's important is that it doesn't really matter /// where the prefab comes from, it could be a simple prefab or it could be an Addressable - it's all the same. /// - public sealed class PreloadingSample : MonoBehaviour + public sealed class PreloadingDynamicPrefabs : MonoBehaviour { [SerializeField] AssetReferenceGameObject m_DynamicPrefabReference; diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/00_Preloading Dynamic Prefabs/PreloadingDynamicPrefabs.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/00_Simplest Scenario - all prefabs are added before connection/PreloadingSample.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/00_Preloading Dynamic Prefabs/PreloadingDynamicPrefabs.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval.meta b/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval Required For Late Joining.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval Required For Late Joining.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval Required For Late Joining/ConnectionApprovalRequiredForLateJoining.cs similarity index 97% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval Required For Late Joining/ConnectionApprovalRequiredForLateJoining.cs index 10863f8d0..263f5aa48 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval Required For Late Joining/ConnectionApprovalRequiredForLateJoining.cs @@ -2,7 +2,7 @@ using UnityEngine; using UnityEngine.AddressableAssets; -namespace Game.ConnectionApproval +namespace Game.ConnectionApprovalRequiredForLateJoining { /// /// A class that walks through what a server would need to validate from a client when dynamically loading network @@ -12,7 +12,7 @@ namespace Game.ConnectionApproval /// after the server has loaded a prefab dynamically, whereas this one enables that functionality. To see it all in /// harmony, see , where all post-connection techniques are showcased in one scene. /// - public sealed class ConnectionApproval : NetworkBehaviour + public sealed class ConnectionApprovalRequiredForLateJoining : NetworkBehaviour { [SerializeField] NetworkManager m_NetworkManager; diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval Required For Late Joining/ConnectionApprovalRequiredForLateJoining.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval/ConnectionApproval.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval Required For Late Joining/ConnectionApprovalRequiredForLateJoining.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Preload All Prefabs Asynchronously.meta b/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Load All Prefabs Asynchronously.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Preload All Prefabs Asynchronously.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Load All Prefabs Asynchronously.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Preload All Prefabs Asynchronously/LoadAllPrefabs.cs b/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Load All Prefabs Asynchronously/ServerAuthoritativeLoadAllPrefabsAsynchronously.cs similarity index 95% rename from Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Preload All Prefabs Asynchronously/LoadAllPrefabs.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Load All Prefabs Asynchronously/ServerAuthoritativeLoadAllPrefabsAsynchronously.cs index 6f2f8a618..b6cc548d8 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Preload All Prefabs Asynchronously/LoadAllPrefabs.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Load All Prefabs Asynchronously/ServerAuthoritativeLoadAllPrefabsAsynchronously.cs @@ -5,13 +5,13 @@ using UnityEngine; using UnityEngine.AddressableAssets; -namespace Game.LoadAllPrefabs +namespace Game.ServerAuthoritativeLoadAllPrefabsAsynchronously { /// /// A simple use case where the server notifies all clients to preload a collection of network prefabs. The server /// will not invoke a spawn in this use case, and will incrementally load each dynamic prefab, one prefab at a time. /// - public sealed class LoadAllPrefabs : NetworkBehaviour + public sealed class ServerAuthoritativeLoadAllPrefabsAsynchronously : NetworkBehaviour { [SerializeField] NetworkManager m_NetworkManager; diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Preload All Prefabs Asynchronously/LoadAllPrefabs.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Load All Prefabs Asynchronously/ServerAuthoritativeLoadAllPrefabsAsynchronously.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Preload All Prefabs Asynchronously/LoadAllPrefabs.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Load All Prefabs Asynchronously/ServerAuthoritativeLoadAllPrefabsAsynchronously.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously.meta b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Dynamic Prefab Spawn.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Dynamic Prefab Spawn.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Dynamic Prefab Spawn/ServerAuthoritativeSynchronousDynamicPrefabSpawn.cs similarity index 97% rename from Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Dynamic Prefab Spawn/ServerAuthoritativeSynchronousDynamicPrefabSpawn.cs index 30cd22eee..a3cd03a8d 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Dynamic Prefab Spawn/ServerAuthoritativeSynchronousDynamicPrefabSpawn.cs @@ -6,7 +6,7 @@ using UnityEngine.AddressableAssets; using Random = UnityEngine.Random; -namespace Game.SynchronousDynamicPrefabSpawn +namespace Game.ServerAuthoritativeSynchronousDynamicPrefabSpawn { /// /// A dynamic prefab loading use case where the server instructs all clients to load a single network prefab, and @@ -15,7 +15,7 @@ namespace Game.SynchronousDynamicPrefabSpawn /// acknowledgement of a load via ServerRpcs from each client, and will only spawn the prefab over the network once /// it has received an acknowledgement from every client, within m_SynchronousSpawnTimeoutTimer seconds. /// - public sealed class SynchronousDynamicPrefabSpawn : NetworkBehaviour + public sealed class ServerAuthoritativeSynchronousDynamicPrefabSpawn : NetworkBehaviour { [SerializeField] NetworkManager m_NetworkManager; @@ -113,7 +113,7 @@ NetworkObject Spawn(AddressableGUID assetGuid) return null; } var obj = Instantiate(prefab.Result, position, rotation).GetComponent(); - obj.SpawnWithOwnership(m_NetworkManager.LocalClientId); + obj.Spawn(); Debug.Log("Spawned dynamic prefab"); return obj; } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Dynamic Prefab Spawn/ServerAuthoritativeSynchronousDynamicPrefabSpawn.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Try Spawn Synchronously/SynchronousDynamicPrefabSpawn.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Dynamic Prefab Spawn/ServerAuthoritativeSynchronousDynamicPrefabSpawn.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.meta b/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn As Network-Invisible For Loading Clients.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn As Network-Invisible For Loading Clients/SpawnPrefabInvisibleWhileIsLoading.cs b/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs similarity index 96% rename from Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn As Network-Invisible For Loading Clients/SpawnPrefabInvisibleWhileIsLoading.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs index ff2f66e05..122c42faa 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn As Network-Invisible For Loading Clients/SpawnPrefabInvisibleWhileIsLoading.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs @@ -6,7 +6,7 @@ using UnityEngine.AddressableAssets; using Random = UnityEngine.Random; -namespace Game.SpawnPrefabInvisibleWhileIsLoading +namespace Game.ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility { /// /// A dynamic prefab loading use case where the server instructs all clients to load a single network prefab via a @@ -15,7 +15,7 @@ namespace Game.SpawnPrefabInvisibleWhileIsLoading /// sends an acknowledgement ServerRpc, and the server will mark that spawned NetworkObject as visible to that /// client. /// - public sealed class SpawnPrefabInvisibleWhileIsLoading : NetworkBehaviour + public sealed class ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility : NetworkBehaviour { [SerializeField] NetworkManager m_NetworkManager; @@ -100,7 +100,7 @@ async Task Spawn(AddressableGUID assetGuid) return false; }; - obj.SpawnWithOwnership(m_NetworkManager.LocalClientId); + obj.Spawn(); return obj; } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn As Network-Invisible For Loading Clients/SpawnPrefabInvisibleWhileIsLoading.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn As Network-Invisible For Loading Clients/SpawnPrefabInvisibleWhileIsLoading.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases).meta b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases).meta rename to Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs similarity index 98% rename from Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs rename to Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs index 45a6f6ace..3d2a1ae58 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs @@ -6,7 +6,7 @@ using UnityEngine.AddressableAssets; using Random = UnityEngine.Random; -namespace Game.APIPlayground +namespace Game.APIPlaygroundShowcasingAllPostConnectionUseCases { /// /// This class serves as the playground of the dynamic prefab loading use cases. It integrates API from this sample @@ -28,7 +28,7 @@ namespace Game.APIPlayground /// prefabs and swapping out the rendering object for essentially non-dynamic prefabs /// /// - public sealed class APIPlayground : NetworkBehaviour + public sealed class APIPlaygroundShowcasingAllPostConnectionUseCases : NetworkBehaviour { [SerializeField] NetworkManager m_NetworkManager; @@ -258,7 +258,7 @@ async Task Spawn(AddressableGUID assetGuid) var prefab = await DynamicPrefabLoadingUtilities.LoadDynamicPrefab(assetGuid, m_ArtificialDelayMilliseconds); var obj = Instantiate(prefab, position, rotation).GetComponent(); - obj.SpawnWithOwnership(m_NetworkManager.LocalClientId); + obj.Spawn(); Debug.Log("Spawned dynamic prefab"); return obj; } @@ -319,7 +319,7 @@ async Task Spawn(AddressableGUID assetGuid) return false; }; - obj.SpawnWithOwnership(m_NetworkManager.LocalClientId); + obj.Spawn(); return obj; } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs.meta similarity index 100% rename from Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground (All Post-Connection Time Use Cases)/APIPlayground.cs.meta rename to Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs.meta From e0ee99c4c4c3b3aa5f3d9a5a91c08da49d867378 Mon Sep 17 00:00:00 2001 From: jilfranco-unity Date: Fri, 10 Feb 2023 16:16:31 -0500 Subject: [PATCH 42/55] Readme updates --- Basic/DyanmicPrefabs/Assets/Readme.asset | 41 ++++ Basic/DyanmicPrefabs/Assets/Readme.asset.meta | 8 + .../DyanmicPrefabs/Assets/Scripts/Readme.meta | 8 + .../Assets/Scripts/Readme/Editor.meta | 8 + .../Scripts/Readme/Editor/ReadmeEditor.cs | 184 ++++++++++++++++++ .../Readme/Editor/ReadmeEditor.cs.meta | 11 ++ .../Assets/Scripts/Readme/Readme.cs | 24 +++ .../Assets/Scripts/Readme/Readme.cs.meta | 11 ++ .../Assets/Scripts/Readme/ReadmeImage.png | Bin 0 -> 38579 bytes .../Scripts/Readme/ReadmeImage.png.meta | 123 ++++++++++++ Basic/DyanmicPrefabs/Assets/UI.meta | 8 + .../Assets/UI/MainMenuUI.unitypackage.meta | 7 + Basic/DyanmicPrefabs/README.md | 51 +++-- README.md | 51 ++++- Resources/readme-banner.png | Bin 0 -> 1028388 bytes 15 files changed, 507 insertions(+), 28 deletions(-) create mode 100644 Basic/DyanmicPrefabs/Assets/Readme.asset create mode 100644 Basic/DyanmicPrefabs/Assets/Readme.asset.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/Readme.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/Readme/Editor.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/Readme/Editor/ReadmeEditor.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/Readme/Editor/ReadmeEditor.cs.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/Readme/Readme.cs create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/Readme/Readme.cs.meta create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/Readme/ReadmeImage.png create mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/Readme/ReadmeImage.png.meta create mode 100644 Basic/DyanmicPrefabs/Assets/UI.meta create mode 100644 Basic/DyanmicPrefabs/Assets/UI/MainMenuUI.unitypackage.meta create mode 100644 Resources/readme-banner.png diff --git a/Basic/DyanmicPrefabs/Assets/Readme.asset b/Basic/DyanmicPrefabs/Assets/Readme.asset new file mode 100644 index 000000000..e9c7f539e --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Readme.asset @@ -0,0 +1,41 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5ce0e387261ddc34ba81ca7f2f1f7f73, type: 3} + m_Name: Readme + m_EditorClassIdentifier: + icon: {fileID: 2800000, guid: 06a678a9706d69242bc9e034adc27168, type: 3} + title: 'Dynamic Prefabs: A Bitesize Sample' + sections: + - heading: Dynamic Prefabs + text: 'The Dynamic Prefabs sample showcases the available use-cases for the dynamic + prefab system, which allows us to add new spawnable prefabs in runtime. Each + scene in the project showcases a different, isolated feature of the API, allowing + for easy extraction into other projects. This sample also uses in-game UI (created + using UI Toolkit) to interface with the dynamic prefabs system with configurable + options like artificial latency and network spawn timeout for easy testing. + Read more about the sample from the ' + linkText: Dynamic Prefabs bitesize sample documentation. + url: https://docs-multiplayer.unity3d.com/netcode/current/learn/bitesize/bitesize-clientdriven/index.html + - heading: + text: Each scene features a different feature of the dynamic prefabs system. + linkText: + url: + - heading: + text: 'To read more about Netcode and its built-in features, see the ' + linkText: Netcode documentation. + url: https://docs-multiplayer.unity3d.com/ + - heading: + text: 'For more information about this bitesize sample or our other bitesize + samples, see the GitHub repo Readme from the ' + linkText: Bitesize Samples GitHub public repository. + url: https://github.com/Unity-Technologies/com.unity.multiplayer.samples.bitesize + loadedLayout: 0 diff --git a/Basic/DyanmicPrefabs/Assets/Readme.asset.meta b/Basic/DyanmicPrefabs/Assets/Readme.asset.meta new file mode 100644 index 000000000..9fd7e730b --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Readme.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 13de520ba66bd2e41b1019e0b6650e7f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Readme.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Readme.meta new file mode 100644 index 000000000..fea84ece4 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Readme.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 122a15bb922b76846ac827128e606016 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Readme/Editor.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Readme/Editor.meta new file mode 100644 index 000000000..29c52e041 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Readme/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 52946d0b900eb9e48874410656f8e713 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Readme/Editor/ReadmeEditor.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Readme/Editor/ReadmeEditor.cs new file mode 100644 index 000000000..b195a3041 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Readme/Editor/ReadmeEditor.cs @@ -0,0 +1,184 @@ +using UnityEngine; +using UnityEditor; +using System; +using System.IO; +using System.Reflection; + +/// +/// Custom readme editor window based on the readme created for URP. For more context, see: +/// https://github.com/Unity-Technologies/Graphics/tree/master/com.unity.template-universal +/// +[CustomEditor(typeof(Readme))] +[InitializeOnLoad] +public class ReadmeEditor : UnityEditor.Editor +{ + const string k_ShowedReadmeSessionStateName = "ReadmeEditor.showedReadme"; + + const float k_Space = 16f; + + bool m_Initialized; + + [SerializeField] + GUIStyle m_LinkStyle; + + GUIStyle LinkStyle + { + get { return m_LinkStyle; } + } + + [SerializeField] + GUIStyle m_TitleStyle; + + GUIStyle TitleStyle + { + get { return m_TitleStyle; } + } + + [SerializeField] + GUIStyle m_HeadingStyle; + + GUIStyle HeadingStyle + { + get { return m_HeadingStyle; } + } + + [SerializeField] + GUIStyle m_BodyStyle; + + GUIStyle BodyStyle + { + get { return m_BodyStyle; } + } + + static ReadmeEditor() + { + EditorApplication.delayCall += SelectReadmeAutomatically; + } + + static void SelectReadmeAutomatically() + { + if (!SessionState.GetBool(k_ShowedReadmeSessionStateName, false)) + { + var readme = SelectReadme(); + SessionState.SetBool(k_ShowedReadmeSessionStateName, true); + + if (readme && !readme.loadedLayout) + { + LoadLayout(); + readme.loadedLayout = true; + } + } + } + + static void LoadLayout() + { + var assembly = typeof(EditorApplication).Assembly; + var windowLayoutType = assembly.GetType("UnityEditor.WindowLayout", true); + var method = windowLayoutType.GetMethod("LoadWindowLayout", BindingFlags.Public | BindingFlags.Static); + method?.Invoke(null, new object[] { Path.Combine(Application.dataPath, "TutorialInfo/Layout.wlt"), false }); + } + + [MenuItem("Sample/Show Sample Instructions")] + static Readme SelectReadme() + { + var ids = AssetDatabase.FindAssets("Readme t:Readme"); + if (ids.Length == 1) + { + var readmeObject = AssetDatabase.LoadMainAssetAtPath(AssetDatabase.GUIDToAssetPath(ids[0])); + + Selection.objects = new UnityEngine.Object[] { readmeObject }; + + return (Readme)readmeObject; + } + else + { + Debug.Log("Couldn't find a readme"); + return null; + } + } + + protected override void OnHeaderGUI() + { + var readme = (Readme)target; + Init(); + + var iconWidth = Mathf.Min(EditorGUIUtility.currentViewWidth / 3f - 20f, 128f); + + GUILayout.BeginHorizontal("In BigTitle"); + { + GUILayout.Label(readme.icon, GUILayout.Width(iconWidth), GUILayout.Height(iconWidth)); + GUILayout.Label(readme.title, TitleStyle); + } + GUILayout.EndHorizontal(); + } + + public override void OnInspectorGUI() + { + var readme = (Readme)target; + Init(); + + foreach (var section in readme.sections) + { + if (!string.IsNullOrEmpty(section.heading)) + { + GUILayout.Label(section.heading, HeadingStyle); + } + + if (!string.IsNullOrEmpty(section.text)) + { + GUILayout.Label(section.text, BodyStyle); + } + + if (!string.IsNullOrEmpty(section.linkText)) + { + if (LinkLabel(new GUIContent(section.linkText))) + { + Application.OpenURL(section.url); + } + } + + GUILayout.Space(k_Space); + } + } + + + + void Init() + { + if (m_Initialized) + return; + m_BodyStyle = new GUIStyle(EditorStyles.label); + m_BodyStyle.wordWrap = true; + m_BodyStyle.fontSize = 14; + + m_TitleStyle = new GUIStyle(m_BodyStyle); + m_TitleStyle.fontSize = 26; + + m_HeadingStyle = new GUIStyle(m_BodyStyle); + m_HeadingStyle.fontSize = 18; + + m_LinkStyle = new GUIStyle(m_BodyStyle); + m_LinkStyle.wordWrap = false; + + // Match selection color which works nicely for both light and dark skins + m_LinkStyle.normal.textColor = new Color(0x00 / 255f, 0x78 / 255f, 0xDA / 255f, 1f); + m_LinkStyle.stretchWidth = false; + + m_Initialized = true; + } + + bool LinkLabel(GUIContent label, params GUILayoutOption[] options) + { + var position = GUILayoutUtility.GetRect(label, LinkStyle, options); + + Handles.BeginGUI(); + Handles.color = LinkStyle.normal.textColor; + Handles.DrawLine(new Vector3(position.xMin, position.yMax), new Vector3(position.xMax, position.yMax)); + Handles.color = Color.white; + Handles.EndGUI(); + + EditorGUIUtility.AddCursorRect(position, MouseCursor.Link); + + return GUI.Button(position, label, LinkStyle); + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Readme/Editor/ReadmeEditor.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Readme/Editor/ReadmeEditor.cs.meta new file mode 100644 index 000000000..6d6c13f54 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Readme/Editor/ReadmeEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fab904a2239c0154c88b5fc1eb15a624 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Readme/Readme.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Readme/Readme.cs new file mode 100644 index 000000000..b6863f0aa --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Readme/Readme.cs @@ -0,0 +1,24 @@ +using System; +using UnityEngine; + +/// +/// Custom readme class based on the readme created for URP. For more context, see: +/// https://github.com/Unity-Technologies/Graphics/tree/master/com.unity.template-universal +/// +[CreateAssetMenu] +public class Readme : ScriptableObject +{ + public Texture2D icon; + public string title; + public Section[] sections; + public bool loadedLayout; + + [Serializable] + public class Section + { + public string heading; + public string text; + public string linkText; + public string url; + } +} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Readme/Readme.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Readme/Readme.cs.meta new file mode 100644 index 000000000..7608d3888 --- /dev/null +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Readme/Readme.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5ce0e387261ddc34ba81ca7f2f1f7f73 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Readme/ReadmeImage.png b/Basic/DyanmicPrefabs/Assets/Scripts/Readme/ReadmeImage.png new file mode 100644 index 0000000000000000000000000000000000000000..b16c0b503f20565791ae85f593933ba05bbec6da GIT binary patch literal 38579 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
-This sample showcases the available use-cases for the dynamic prefab system, which allows us to add new spawnable prefabs in runtime. - -## Sample feature - -Dynamic prefabs feature allows the developer to add a new prefab to the network prefab list in runtime. -For simplicity, this sample uses Addressables to load the dynamic prefab, however any GameObject with a NetworkObject component can be used, regardless of it's source (think User Generated Content (UGC)). +## Sample features +The dynamic prefabs system allows the developer to add a new prefab to the network prefab list at runtime. +This sample uses Addressables to load the dynamic prefab, however any GameObject with a NetworkObject component can be used, regardless of its source. +

There are several limitations to this API: -- If you have NetworkConfig.ForceSamePrefabs enabled, you can only modify your prefab lists before starting +- If you have NetworkConfig.ForceSamePrefabs enabled, you can only modify your prefab lists **before** starting networking, and the server and all connected clients must all have the same exact set of prefabs - added via this method before connecting -- Adding a prefab on the server does not automatically add it on the client - it's up to you + added via this method before connecting. + +- Adding a prefab on the server **does not** automatically add it on the client - it's up to you to make sure the client and server are synchronized via whatever method makes sense for your game - (RPCs, configs, deterministic loading, etc) -- If the server sends a Spawn message to a client that has not yet added a prefab for, the spawn message - and any other relevant messages will be held for a configurable time (default 1 second, configured via - NetworkConfig.SpawnTimeout) before an error is logged. This is intented to enable the SDK to gracefully - handle unexpected conditions (slow disks, slow network, etc) that slow down asset loading. This timeout - should not be relied on and code shouldn't be written around it - your code should be written so that + (RPCs, configs, deterministic loading, etc). + +- If the server sends a Spawn message to a client that does not yet have the corresponding prefab loaded, the spawn message + (and any other relevant messages) will be held for a configurable time before an error is logged (default 1 second, configured via + NetworkConfig.SpawnTimeout). This is intented to enable the SDK to gracefully + handle unexpected conditions that slow down asset loading (slow disks, slow network, etc). This timeout + should not be relied upon and code shouldn't be written around it - your code should be written so that the asset is expected to be loaded before it's needed. -- Currently it's impossible to latejoin for clients after a dynamic prefab has been spawned by the server. The reason for this is that the initial sync doesn't allow us any time to load prefabs that are yet absent on the client. + +- It's currently impossible for clients to late join after a dynamic prefab has been spawned by the server - this is because the initial sync doesn't allow us any time to load prefabs that are aren't yet loaded on the client. +

+ +Therefore, based on these limitations, the following use-cases are covered in this sample: +- PreloadingSample.cs - this is the simplest case of a dynamic prefab - we just add it to the list of prefabs before we connect on all the peers. + +- AppController.cs and DynamicPrefabManager.cs - this is a more complex case where the server spawns things that the client haven't yet loaded. There are two loading strategies - one is "synchronous" spawning, which ensures that all clients have acknowledged that they have loaded that prefab before the server actually spawns the NetworkObject. The other one is spawning the object immediately and using visibility system to hide that object from clients that haven't loaded the prefab yet (when they do acknowledge the prefab loading - the server will show the relevant hidden objects to the client). This sample also shows how we could handle the issue with initial synchronization breaking for late joiners by using some custom logic in connection approval delegate. +

+ +[![Documentation](https://img.shields.io/badge/Unity-bitesize--docs-57b9d3.svg?logo=unity&color=2196F3)](https://docs-multiplayer.unity3d.com/netcode/current/learn/bitesize/bitesize-introduction) +[![Forums](https://img.shields.io/badge/Unity-multiplayer--forum-57b9d3.svg?logo=unity&color=2196F3)](https://forum.unity.com/forums/multiplayer.26/) +[![Discord](https://img.shields.io/discord/449263083769036810.svg?label=discord&logo=discord&color=5865F2)](https://discord.gg/FM8SE9E) -Based on these limitations the following use cases are covered in the sample: - - PreloadingSample.cs - this is the simplest case of a dynamic prefab - we just add it to the list of prefabs before we connect on all the peers - - AppController.cs and DynamicPrefabManager.cs - this is a more complex case where the server spawns things that the client haven't yet loaded. There are two loading strategies - one is "synchronous" spawning, which ensures that all clients have acknowledged that they have loaded that prefab before the server actually spawns the NetworkObject. The other one is spawning the object immediately and using visibility system to hide that object from clients that haven't loaded the prefab yet (when they do acknowledge the prefab loading - the server will show the relevant hidden objects to the client). This sample also shows how we could handle the issue with initial synchronization breaking for late joiners by using some custom logic in connection approval delegate. diff --git a/README.md b/README.md index 5f27178a9..35a36ebab 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,70 @@ + +![Banner](resources/readme-banner.png) # Netcode for GameObjects Bitesize Samples -|Unity Version|Netcode Version| -|:-------:|:-------:| -|2020.3|1.0.0-pre| +|Unity Version|Netcode Version|Latest Release| +|:-----------:|:-------------:|:------------:| +|2021.3+ LTS |1.2.0+ |[1.2.0](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.bitesize/releases/tag/v1.2.0)| This repository contains a collection of bitesize sample projects and games that showcase different sub-features of Netcode. You can review these samples with [documentation](https://docs-multiplayer.unity3d.com/netcode/current/learn/bitesize/bitesize-introduction) to better understand APIs and features. +

+ + +## Contents + +* [2D Space Shooter Sample](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.bitesize/tree/main/Basic/2DSpaceShooter) - Learn more about physics movement and status effects using Netcode `NetworkVariables` and `ObjectPooling` + +* [Invaders Sample](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.bitesize/tree/main/Basic/Invaders) - Learn more about game flow, modes, unconventional movement networked, and a shared timer + +* [Client Driven Sample](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.bitesize/tree/main/Basic/ClientDriven) - Learn more about Client driven movements, networked physics, spawning vs statically placed objects, object reparenting -## Who is this for? +* [Dynamic Prefabs Sample]() ![](https://img.shields.io/badge/New!%20-brightgreen) - Learn more about the dynamic prefab system, which allows us to add new spawnable prefabs at runtime +

-The samples in this repository help you get started with development of a multiplayer + +## Getting the project +### Direct download + + - You can download the latest versions of these samples from our [Releases](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.bitesize/releases/tag/v1.2.0) page + + - __Alternatively:__ select `Code` and select the 'Download Zip' option. Please note that this will download the branch you're currently viewing on Github +

+ +## Who are these this for? + +The samples in this repository will help you get started with development of a multiplayer project using [Netcode for GameObjects](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects). +

## Requirements -You need Unity and Netcode for GameObjects installed to use these samples. Complete the [Hello World Getting Started](https://docs-multiplayer.unity3d.com/netcode/current/tutorials/helloworld) to prepare your environment. You can then access and use these samples for Netcode for GameObjects in a more self-contained scenario. +You will need Unity and Netcode for GameObjects installed to use these samples. Complete the [Hello World Getting Started](https://docs-multiplayer.unity3d.com/netcode/current/tutorials/helloworld) to prepare your environment. You can then access and use these samples for Netcode for GameObjects in a more self-contained scenario. +

## Community and Feedback -For help, questions, networking advice or discussions about Netcode for GameObjects and its samples, please join our [Discord Community](https://discord.gg/FM8SE9E) or create a post in the [Unity Multiplayer Forum](https://forum.unity.com/forums/netcode-for-gameobjects.661/). +For help, questions, networking advice, or discussions about Netcode for GameObjects and its samples, please join our [Discord Community](https://discord.gg/FM8SE9E) or create a post in the [Unity Multiplayer Forum](https://forum.unity.com/forums/netcode-for-gameobjects.661/). +

## Maintenance The Netcode for GameObjects Bitesize Samples repository will be maintained and updated with the latest released Netcode for GameObjects version and Unity LTS version. See this readme and the [changelog](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.bitesize/blob/main/CHANGELOG.md) for supported versions. +

## Other samples See our other samples for more multiplayer content -- [Boss Room a small scale coop game](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop/releases/latest) +- [Boss Room, a small scale co-op game](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop/releases/latest) +

## Contributing We welcome your contributions to this sample code and objects. See our [contribution guidelines](CONTRIBUTING.md) for details. +

## Feedback If you have tried these samples already, please follow the link to fill out your feedback: https://unitytech.typeform.com/bitesize - ETA: 1 min 30 secs. +

+ +[![Documentation](https://img.shields.io/badge/Unity-bitesize--docs-57b9d3.svg?logo=unity&color=2196F3)](https://docs-multiplayer.unity3d.com/netcode/current/learn/bitesize/bitesize-introduction) +[![Forums](https://img.shields.io/badge/Unity-multiplayer--forum-57b9d3.svg?logo=unity&color=2196F3)](https://forum.unity.com/forums/multiplayer.26/) +[![Discord](https://img.shields.io/discord/449263083769036810.svg?label=discord&logo=discord&color=5865F2)](https://discord.gg/FM8SE9E) diff --git a/Resources/readme-banner.png b/Resources/readme-banner.png new file mode 100644 index 0000000000000000000000000000000000000000..2b506cc661bb1ef0f4174a71061b14d5209e06e0 GIT binary patch literal 1028388 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�)GLY%XbX9KineUhrazrk6 zQ#%(AOWD!6+Bzbv#H^e5Qu0+@CX@&>0f#9UBxNa#B{RGf%8v)qotk3xc3k9Yb*Tpp z9Xnb!%tm7Bu^Ph9zh(AwY&7{!GYE`mIV0+VpUQkoW9@K3f>zkx{t?vE8Hg#N1FFPE z93~Ie+eqn4aS8Fl|a?g~ZC$n{z8<4R zmB9SlRWW71xTlHA9PL?fkInG!wOo#fncXBcp?}cDgji^0O$^$TWzP{jeMw8BJCbfu zO$_uLb)b;x80i=g8BiJq6;H7-kW|>^J-hVUanH!0JF>bVo%A&9>9nWenxvM?I*H{s z&uk2`N^$d~Y+=3Caf`r4)3hSVqXmdY`ji5x<)2;M^1nNNV&0on=Zv+-|AdvQ-;*M! zx<5q(DAn_4>I&EMQVGZ6UUB8q***kLn@w;Ep>(=*3Yq!anb#@R{fE;0OZ@!(mo9NK z=UaRm{-dtBes3KW2rU0MG)>3V)iadDe*c_tRHn!a3*4bV2hF=k_YD)U4zEC8AadvX zBlz*TKeb{%$&RjjjFuK1l~VT1ls@_ue_K-8(l+lR_eM6~x-8kmd^V3tbP zuo2_-v1{E%&G!bz_PRVIt5o+-=h&~So7BmXF~4R%e8iv|a`_B6g7{fMBTsyAAv0ey z*H{0pmS6=mGgnNOfJSF;4xi=j~kQ&fQx>{BqvcqdG0; z`n10HrZa-D@On%uLjZx`zcq}H8jI8-I-uG^=^+oMFfSQ#1%*VYVxRlKbPZz8w3bNS?GRXY}?! zZf;52JJ?+zZ3DYVAyz=QP_Aq|8b-#0x9<^jv||dlOlC?|pryjk)p}MToagloIxsGm zu^7)NYVwQl{}Omh`K$r2r0G3>of}2Pe_ly4NXJQ&PeRp zoZ(tCxh(Rn*ZZgVdQWn*)!thxhpTrL+&IdVDoRj#OSw@s zxEkNTNeFf?3Ak@ws9tWg2U>zfQ)mx)5>Y7yMz}ufXH7>gtUDr`O}S5JtMr_e*hC2F)I=#b~XR zf|d~}BT_;^Kbl8>F-f+PnJl}5Y)=MQe(v6Yh?1p2?^-Cy=q!(I(-i@3LBfDEdw;bu zcuVtoq-qW$Vvw|mcr-ZKfovgdkhDe84$>A$p0+J5BZ{Dwwy;cN4CTMq@6ovalW*?$ zgX1T>-+t`M|K$?IN_<_)8+O&#r&MGN^{GEqt(~F?y??&%AHTlwiMpPLKm9l5>$VT( z@(^79SKsr$fwN_4bucf=`M@7Up%NZkEMH_g0|-I@8>)?Uowe{Lo{fBhvk|~tUnMxZ zcql#xgi%*>;r=h9MBmmzkX2Ddb8k7hx*c-8p?$KY?G)+v=&|>6!CFOpU%PQ=T{Lv^ z-7Mo9y6%eI<}sV5Wz0Qee@8BZKlPAS>$M2@0;Hwk2}w7YCzj=yH5>Pq59E7%SNeNp=2p!4;S4`{S1Lx)EEA`a~S

>H+N#LsR8J(k|1f0dQWikRN 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

pue^EllKs4( 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
`*ejB3iyVDz^B7V$@pZQ z@$Q#ck8E7qA(NcrqRnSbIt%i-i_q=sD}q^25#VcuW2tAz` zgK4&X4-HC1i!x`$gfq6;VuvXW+g&;U6QJKvb~xpH&)ZG-VC;U{g=vpOlcwBIti+p= zDN2pf(rQ87wiJz{s!B>Tp)jq_OR2&8tp|_!Upyzs+8wU5cwuE!ki_;ip26wgD;JIJ z=JTQb+vmXMB`UvS8Ln4sI|xF1_s*mD;(J*>%E6qjxA&7OV|y~ccZo9j7P|fOAW`|B zl>HJzqUOqcqJ$)R?Q6hgE}XLiWqzjoA6NJ*Ys&v_uV*yUQ-%E(@-r2LSgdhd6> z$6`G`f|z1(!8^+3O~N1rfCDKIDZCuNoO1m$UtsUmFL3(g2~XbrBlK)RjCJBu_;~rD zg@IgYj4sawh(Y)m`s{Pq#~o+8H`3WMg!J@oP!%FtU}Qp3Ru~bi*0kCnZb|8CoOp%5 z7y6UcJeZU<7`<$X@5Qq=7So*)boslJ;cY*pzMmISOS4*V`ruubT4JU*X$~I4{4PTD zCXa9y=S{J?#GZb_YI%qj73c~hB~`VJwk1u|fEbFxM{{v)4dR&W?lRrlrCuyqo$aG~ z7V6IpiH5i)KX-@o7WRk|_M11HbFtq!usFhgigOcbt|1*0+ZdKjIC>NRJiLG2Gn?KE zxKv7t*)?`wc#XYRzeIcOvoviJqQDQ6>*3J^bk)@p(u8!$~{`QqNxwbz4{Zi<-Pxl@)||; z0=98D*ML0@wM3pZ(sprNCY$LodSr;p{7(g(ji$Yd6${gfYoGrDcmC?XjJ*CO9)9pK z%ab$QqlbuFpk}B{)&U%)o_NR>qM=bvO{5443gV3r6oaiDM<0DcTmBZh_abcH;Ki5U zWc%gUan%kddsCK=UckOLfg=*0%ZH5d`@!KOmV{n<>w=;#SD`5qKA)H-Cf z0JHF()Yhjw>h@*f``sKLa#a5@m>qOEhxXV)< z@_xFc5m-JCk9O51juJv70EwKGzvrX?<0Hy1pFHOHM}NfDs%5!fV?X>JEbl@&M|9<* z`sih;uVH_)@2aQ-CjnKkorVRcElwTID$e>)@i?z!>BWSUIG%nJQBf09Lv~vGvV>xS zvhwG3d^d|8fCv;5igF7nrZ}0PSp>~=$_^z&>1>MV);I6Mm=x!%r>isahwhoUPlI8Y z*nYho+IJv^a_JA5VhRI@r z;gZFu!#F`g#6ufBzcU)5Kk^ijDXqHc?sz3_JWKJ4PA7hkR)*@@HMU=Tm2&U1H1ZkT zaY5Y}s2?DCYqqicjSOM@Y=?^)oD*TVjr!S9kT-CGyMN$7|3Pf-BG z7?>G~?Fp*aaEm>(7St_(CCLCG;G&LpFZkd8n?J|j{cGRkGcW8t9jOdY|K6Wjxg<>G z+xOEdp(|^;d;u{bB4d_%$Z2r1Qv7)m47GZd{RGR?wwO}Rte0Q?@&Rw&`4PYQql$n0 zPRS9&(EnHIL5@fA1syKzdG!eY?|Tiud^Y75-&$~Edr2WH?jG&%`1Fk1JMe$|?UK9H zyghw`AFdvH{*)&4xg_yl(eW<&=RXaQDQ7EXQu>HORpC#kx@Wj}nL2ZRHUCWQ6c}1c z)}xqTwG79p{N1-^{F~pN^5(5mwx>U4dp70oe(P2K)8E;8evlm5bvE?=C$YzWTK?RY zatp&_p0L6J6QZ}I-%@Rdczh%P6P^i#x~}jWIv%WMLo;wbl;uK5SQmI~+73B|@0AM5 zf)z_v`iLd_SPVXg(Pm4^WLo-BEY`PZwxbqYT5#CIIvy6D})^BX5 z3hXL{pgP-5>X}fsof*#iANLfrn{2a-*X(lkr}%x{UV=hWIL1gT|dJ z;%C7@h(Hk8b+43`9$a}?j}a|2FvF=|d7u2=j%}?IG07kXvRvn#qBX8$Oqbym;IXb8 z_PzN>!s#(`MiRS)d%c{T=izyw4-cv4{=1uSNvK7H6bmHINkQLiBN`8tVT?kwthaIe zTK1UT2xn1bmm*H&Fpv~wQJLTGX^vZSc+JN&j{DLx`8klTM`Ij62eFnEEyIOzBv|w# zsVLYBf&Z5{PIOKkloTSR4-*>jWP+2ds~rtckdi`pb0n3RCME7q%UqWz4J|dLOh_g> zK8DM-OqnoYrIrN?98C{%j?a~h{LTdlWZ&cU6eUJGc#j4MK`0@9_n`)71zWd>^LdJK zUWw?15&3?PYd)sDj$U8+SmJr*l|m8~ggvhJS*Y+K{>;0T_irN`@SMu9AE7OY=R;24 zcKuT<5i?%=)CJE}-$1v24j=YEDE~7helO&Hr||DT6F)oU zKaLb3Ab)nK{2vSZuc%rgJ=>iFy-@j=RsP5C+2=;(fBf?iN7iYq5bE9ev&l+G1EH1Q zm&SrFNlMoNt_TXS>1>PJckW;cIQ*oaY0#P zz{SKeF7pI~^?gE^>+po}v6!5C0{~Tv*gAyFHNgPD$L{jVnpl-yatoaEkc2r1=ciFZ zbOo=sh$m5k@iM?LB$_3Q9A>-#+MYbbE>4i5M4K9E7x;*Cd5WP#XZvUlD`@7Jra%gV zG24jDQ8z&h6lRBNb{*9ztJNv0r_6S4aP7t|&W;YK=ZC=qGYdD~!-etM2t5+=Z+Cg= zoh8P^STnMSp=NhO|v@vM*kf?*4f={$>*dPG6-gu< zB$0wBJZ|V@6mcD+62h-nR5+z{DiJTn^E#i`{BvxMNBRXs#i>9r=<>=*N@4cmEpB}7 z4VpW5C=L%`;`^+fCuH9KMf7#JKJ236@oq??AW}e4p^atn$z7I@Phj^NdvAS_?OWHl zF|*V&Se~>Kc4H z3GacfB4K+fGz;8v9@Z+Xzl@|zQ-VE8Tv-{Jp~wrk5N#rJ$lil z=&mKWqKodQFIJ~*cMkW(Z)xS(74Z| zV}OKc8KM3Z&_}?OxXCW{$gO(gY1OE#Z9r<@&lnjeL^Vpr7CEjZ%~Y2|KFazWSVde#IVqX!ZXtVH zSebdL;c0=MS*R^yO2p2vZMjx&ZtC8LiX7L*v{WH-ip0G&L74dYW<`=QDM(ZZrE#^k zX1O}1t_!Sl*)yBq{eq%vUj}oR-+P`sgk~RMKj&lZy!(eng3r>2{N0lAy3SMn$Fs+H zV<5nL!1kl&CYso%+rSZ0KCSQ(k|GX_^Bf!sd&>VJ{qBru3-V}A>jnea_Yl5cCIzz> zD`t0gvF(eTJ=mq)U*S`OCGTDB85$J)@BWRi^Kbpyw|L{u?o|T9efs6oVAHQ!=kweS zYuirOwr*yZm%e1%=d!!v!e_2Hp69&`=apZ7` zd^B6*&$+^k$%@Xa^StLeiiM{)4BK4(y|0)2+Lu}?u^gP1Eb5lpwtV5`kN7vf`5FGR z-`zP!V|m3AmVP4&cv{x+FL?PEaL8+=G(bxmgor65GDOD8;+6m20>(rynt9s6=UStB@WW5{25M8@Tf#&Bk z7vY*f*hdw4-zy>ZJ#tNbraAQ-qW6NYDQBXGGit)W(L^8-e9;$4gHp%;c_FZhw+1gw z$+hV&gQ4o zb&bO?p=67KsWiYbjUHjxreF){EcKFyZ(R2{0|is|^=ze%x=d3<;JT)}mLMSMqtgV-Lrsm~mrwm+5p1TU!?MGn&SyRuD0WmZ7(8)<#qm z<_Zdz%|L8F$8&KHkC_vsz0ntF#QpAzH&yX)k??WO@Wk==lQblQhGbM@LUfEMLMbOR zcD8O&RRvAcQqNbkP3^Ial)>a6_kwpM1!^3n1KKb~$wq2ew@%H^fqdS^O1__l&y6Yg zG+>vQ5+pZhh(-^Dxh*q%DwM@8yW7_(s~K%wvsfO{wr3uvN{KgSX~GCoM1UAwK)ZPw z;(%N+miigj#2YgC6gnxf%9ycRjvG_`+Jl1}Q~GPs&?gx{#Hbzq*%HHqiV0I1byVeq z?X8O0w8XY8XY&P3Q->O3!ic!G9)AnMjDqWIGiA!0B}W`nvkaX~{dWj+S}doORDRUK z6TkqKmP}=aqhT4}@0Bq)knDT>%mothTAagT@Qla3CWDVzHDhc08dbGLUDwR#M>Oq{ z);3;H=b+Fkgm>+NjuTHJ4G~s0F)3*uc-WNAYj(Ki&r;+ZN;ZcnvhUB*X2NCbwaEJS z?owa`^H7)Fx@x#|UcZJkS58+x9Yg#4$|ibnP(m(is$W32zX?>Rw)8yuGsS-TRC>z# zJWW7;t*89A*?aN%2*b%JKzsKRmP`07r;{{$e~9z*$S?yV0L{-*=)(L1Nk9;P=SBeG zxlGB28j5n4$@WW#Ojs=*W9z#hD}SFUNs$(IYrEp);Rl$qWwn^Y>JS1A6;Ey#$0Q_r zR&$t=uzrG9Y8daziH2iP!2|`V7-DX0-+`pe2;zMDxSs60SGFn^YnMK{v2DGg--NU+ zE)Rv>0T=5<$FHx^>%E)ZyD=3}>S2rwWP?(t1f7D+a6K3S#1Xv{{T5xpazW%FOjLyE zrv3yxBZ>*err0H|Rh(2{rWBJsCe!O6J6KBU)rw|y#`4V3td1b$4bJJ9O|)jpw;Z30 zFkbj@(~1`;_vSQL3?_q{6z$kw)M8h2<|mISPw(Q4qg`0+ zlMm7P1JDI2;$NQ{P9-~wgGZy&mih4`=JOMrQx6Bm`MER|vlm`x=V$&Z^1>UO-Mh!) z`@av5-vte+`_>F8HjTy6+A~_`ofb4IjiM*8`0@JaDl2SrfNK{xr>HK7bYC!a@z5Xl zdpw_dsjhM!AoZcwzj&+#RN~VPE3^&ElP8=#d>`AK(R}g)IQj(i1T`%_WrfSqn)s0D z$zX89-VI}aQ)&GJv)Wt$E;|W-?+~1&JDQn3hjgUun*sb`UsiKDA+>n z87cB(@aB@hH-*Roe#j1WEh;fovtL7TN+C-mJMSc%UkW%)bgVa+3eG1I_FxEgK7>3` zGai&;P+~fhjyLETvcz?@0cT5iCgEh?m%fZj0L|N$ypIvD`0FukN`wbiE9(3AsP!>e z32Uqv4Tkd)B}0qIOFM52HYsrB1gBF(4YZ1DOH|qrrA~qesQM^B zaUTXl8KnqO2EvG~;_4Q+TCuE!`N;vz{4q3VzF%F6mb6z*2+iIp+vB>G6;#`-nklX} zSUUlxpe1S=Y!S|uVn#8YvVHq?%--iXeSCtOALHC9ls>P0G*&edJo0shV*(+KfR98G zlEv9ohsW9aZa07MI;F0|VI*(SNM_UFwxm>PT zvI19lJkrsiIc#qz8~4k|ncrRe3GfX)79k%`gu_1n67ht$>CDG7+~-3cD3+)3{Lgu7 zr7zddVJ`60dB}bZkw%G8uts?HfdXDKkAA<-QMQ#u0_yR3k(V~<%qa?rX~}GN!q(oD z)e59o0V|N`5*N?$NRO8MZ~r@A<$v(&zsMVR_7a``tmV9Fu0rZvl`OnW_xs@We4agT z`wX|+C93M3?V5cbRC-S2|0|Z~R?#!p_-kK0mij+Q( zka&5Axo{uH_lI=**mJ(zVvGB|6add&{wH54`1YHYWerOemX*c23S&H;`tqxv@bBHa z$^Z2qz4-hfG#n8_?zbyf!4E$ze`!j2!V(u0f6@_TIfy7pK<61hrNRqUqDSqR04EoU z#NV;x&py4Ki+`&?m{GAu!34*WT2HXUe14;CU$%{Bc{j400r7O9y&@qLgKC=WIseVGoJ&5_dkB05AMFhsy(7Ibc)WnmYyN-q2X-j{Sf;R z;sl5dzQ#VffW^}2ikJmDdCs^rrp}@nM3M)1@|2ClV-c8r$@&#Z%ZeFON+wuZmefJb z5*7b3e13@pIIPvtVwn^bufO~jpZ)C5(Aa_>z4rq?{^a}A?HQF6LBVHz z^)$Ch`R#?n4Z@_l#v7mcEN{K_8cnm}2S0w75AJ@*S-awi++)QtD~_2`A?#67c556J zoKbNZy{ElL?+Vyq*L;!B$*)pr$$Rq8c%u8%ESZIM@#7sDR-}@fz4S{ae9ah>JXJ-k zA@}n3{qu080@k&xPWBi(X!K&xuFr<3*p2z#~W3jJmHK54KMpT759 z?(Kh!b1jvGlp+#OuP8KhfpLjAJf0N^tEF+o{h0SZ?`Qt`JV^Z<9|R%hn%8Up+`4?d z`LBGeIp>hW>sUL6Bt#FNYaVXr(TPJkb0|35#KlDJ=hNnJGNZ6D;fR2i-+=9Jf=mIg z4C&}2P2S>3!JnrA7&8cnic09hiFUAR$@BEa`O=|Re-ZoK$9VzxPa*f4MIXHuagnDlvuy+Zx$ z@h8j=?_#jHw#9oc`Lt1{+F>%Ap=xQCr_e6LQc72EN3R4gTC{>{3(VB_*DinsKBq06 zvMxUr)11j*YsC98gm3ZyRWvF7G#Xb%LD*mqUq&)^$vu#IY)~x%t=eKjSYr@GDvX)p zv_gW{*ZSEW4J#Be&MR@EFjhUqlrTlUhH(!GP6gu>)F-NQQX}F}=J*i*4v{&+oaMD>_S{4~PggpWskqe%Cyzd$ zEi7jHI;+Ks_R%9ac>r!s7mY(M18ND5-Ks%Xr=CU#DH~9Sn2Oz(U*pwZ`W58WFY(ED z|Agfy@1qa#;m9S2i{U&DT2mJk`AbqLQw}5EOmmA^t>Fd;f^k_AB z{FUXWjwO0A8~?70{IV&bsX2M?9X`Y%JG-3Sdx(4R0k|`e#^c=>1qKaal(X}8cm(W1dw$L#;nZ_%DEk!vq;^x$LK_x}`{1!c8Ip
~L-dqS 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�Fl;mkeMI>fDzAZu14{>a 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
}V@)ij# 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 z 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 z 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 z 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 `99i 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%0D63FYMY5!h=>a0K9F-c$ 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�UCvDfZWl@B?cJKUbKZY=+`U#xiV-cA1UUp?x$BYjp_Qu84X zxwU^6XElvc>|TDRY8;0lE=fIK8+cEzdlZZ@I4!7(H<_4lqN%~DqcqBIe6-@<`t_q; zNo*M86dm2ycH9)x!gS0BuEPHG3XKZ&eFLIPj_MB(fkopO$qsMqy-Q`rG_GdtRy1vWa_HhV;^MqglOKk~ z2PQXxwBL3-om(7HIHN)R|Qm&2%ukE2l+zCMHHXOeZeEC(?_RWkz4M` z>}R&2W`$v&8}c4+@JCVL6Ml`Ep3tyh#VOB1*ryn3-%#MPvPxoh&Pa|qV1;8Gu2(2y zlx2I|=Y2~oc0P#x(F@kWSTy8~EZCu7LctgzimPh0Gdi10M?(2R6mZ2n<&pfz31%g( z!|e=AYHfGUQjhwpHeStzX5KDSf{4bWI+wL29PHW7+$Oxftnlx%LVma=PxQQfvGrX= zq*oc2xInPG_OSEoC%&84L0eb+^u3f&N-R09tt7P0&0@N&ci%F-A1J6>UsOyd!JL1l zq+k!j1egJ{tOtGL6W_c1T22gjRbY3WY5QDvhx8$?b?x*k_A-uE9x}^NF=3B=3SiDO zSOZ7F?~plBUTQ8#8pd{goOW5*9DDz*I|9Qak@kL9Sz&@fz?=o@MbUU;gJg;ZW8CPU zVmrLyy&=vV~vHEt%&tr#k3ol4)X1)wv0!{Cf7%peH zfBomX`^`ULvUWI@Cy#jin|}w&0$m;>^{K}}8qfB)|1av>MR5N9x(J4ht2Vz4*XWofGh(yZ>NP+kA_Ed?hXPiC$5j?%`N6FTB&pkm+q;;IvqKAGvjUoQ6H@L8#zEo*> zB#)uh27KJ0En^=95}h?aaH_|chaK?mrjt4eM}{HIjUyU=`fHI&Yt=E5RXaRnlbE+3MLc7cq~*U7>NcD4s{mSD0byo zFB)dEn(1uKqIN7qn3XUS;mjx}%$ZjuliT~e{q9@5`sS-VJ9)(WPd-6;#_kttk%jqw_V9qC&NE zD$%GUYqbE@Wd`lOJk*7C>1+2<8ZI&bXjcG6LfI-*l~R}yPd*;=tzVsT_-m(3<|Wmr z;N4IcJscre}_*fdUrkx^c@5)S91T{%loz&_Axx8(bTo@|D`~k za(e#*W`~Ek+F|F%7_CuENMj>Jhm4_C^nYEQs_Ws3EzfM8h+S%6xMiC(&gJJU@zLG# z`cLJ!YTMKC9PH63NF_Cay%a05hiCzsv6Jw<#vqS)QG;c=ialc#h~23Aw+w zi({+o`z1Z6I%x!;qrA@*{O#}jd;VLYpeFV5x8F->bj^d=_ZgW9_x9f7?#^30p8b%e zowd)L*RQw}UN-mGO$|_aPuB|!0f3J3zYfa(mD-@H_wGXFzTRwbe+xXZpb3%*? zz?Gr`_}!nUitN^!xT0<^x0Rni72`GZz5a7BJNq~s#u%!}KE+S{QQmp&9rVFReDu)| z5a8>-@XMUtc!iNu7ImG~-#r%$hCL?ivcrTiQ6jZwMXfak!`t!>JL6qWR>#;Idql0| zX0!ql`GX72Ik~UyCY&$X=t8b|FEBxB?+rVKcAdx6-8C|_pF$A(D}&-=yT&$^q;wNa zkgUEeh`opsUGGMgl2ON$A;-*G3C$j3uCoVtIuEx;X5^zq+Q@dD7bU}J3g9qeXspE; zPr0ux+}y3%9glfFFMtycb}dz5I6SR6*eR&3<&S(}hky59d6oapzyIjc_#w{G=GY}e z;s5$iy@u*4by?VuXC&o+xTal9ti^-~4zzsQe#-hLoDT zz%Zfea97@d$?LN=q6NI9!&Xsm5FoHWGN3gl^+$j=2q>iDjoo*tq{4_{VV68veoF1G z&Xc|fcwMJKv_izNZ2TM*)=_hYDLgKGSy2K89O-}jAV83Lv=HSdF4Etbe1qJrhG*>I$WnethF$B?Qm@ z+yEdkCmN82x3bTBKLEP%WdkH&BN1tZnkFkSAI(j%g(qyKwcm?Z^Eufh{^D$S5nCNb z{1zj=62AYCDD-yJG|W&m*yWa49ST%PP?-Bs^9Cb+M19`!l06D4)-*Uy@t(MSYxTT! zv7Z9Hp2g4T9q-E@2d1i|rU|GsXG*(4+>`e}tSzmtyf*1PBVlb?I*QMHJr0bs3(C5F zV8v+1lnem834>?!M;Ipfqzrj@-l(W_;b^FdNfQ$D-4#s?ug;gnw51xNuunr6{O%f! zElXKf4HXr;K}@*Dd(*~aF_w_jz1oge?w1k7g_>-ayJ3&I9_0CMir!=~cP98%soAsL z&(zC=DO0Qtzi*CG`I`xQs~bs-V5^o@Fh~K2>>x#;$O6oxGXbvnYS}Jn_qUbp_=k7H=RH%Z-t1 z+`v2A>b*>z3Cnq~s6BzxXAlhXB=kQ&=Y|c{hU&hkJ)h--=(qi{aM`iih7*U{ag}oV zY{cMD(j_yg)tvlkt42QJ1Sa9npr;mR~U9X@Tu{?PU(}$qT zfaPnHhA2$ej8gHT{v1&e(K5ptjWn}0J2>6_`G_Z7JjElC-c=&mdXD!wC*(norlEw< z6cCeEt7eK>TcED+VUC4NW*=ia)yZgqA=>afxaeHkyw^1t4BrDImPh$-)kD&KR?w_k z3H?{p&S@5FFop^!#3BlnDic-qRJg9f4Hd2%!$DE7HyW`s8c|gRg~Sw7&PO(@9d@nM z3uQ62Os8wkR%^}_rloMA%2XU@g)*a?|hdZ+<%`BkAIg>%y&4u_mukH zg7v7T)+J`$^hTsh*GTIr5ms{B*Kj_!E+}!3wOu{!KFX%f1VxjEyDDHbQ37c>B%^HY zjC)$s9Rq;SB+2;6mZ!|7C{aQ2t(<1bN5HlH5%JieGD^WNpPY^O_3uCD&Z z-gEMN%A-#o^N;`0KjzQ=nLo`tUwD^i4?{$aK#S0(02_jf*ZB~~H~3JTBdI8g>xfP$ zjA3oPqDo@!!i}@7zkd?{;s3@|V2NgL6^L5*Xq^V1N<)jvGZ_$FN14dV8Jfj72HWdb^@eF;3^>J353$oHc;3Quoi=!~op02h z_?-B=JHjtI1{XayRPGQ?zAWw5FQebDVg9)LJ*Q^|$`;6Juy*Bkx|RLVGW!|ImJ!v# zE8KqfrwEl5@41TC4BV5ajNOOGWt9JL&T>?o);=15R5-n4c>w2I1E$A1 zXZ*#_yO1)iXrlqVWW$7WL9%cDd+k=-Kl=`&VwZb+@8Q()aQZ%tZsx%LaY8bf7&Zj( z98lp61T~rGsyNgXOe#lFTZ}fWXsClax*^6}WCM?!H+_oFLk&WOVN4k)@JO?7KA&Vq z-Rs-xN~he#MkNkq%91HdN(!#AkKoe-tOoYYdFNuc4cn;U^Ra%8A?vutNf8y&+(lls zdy+)u{7_9-S%*W#Qe~XREP*8kpSIu@ z`=JblGNn6H+MOXcabq^e%S$bF9I4(pWN zQ31N-i?2BTy}x*m|Mq|I2(QZQYhSvYm(u0ihTv>|hA<+RZ{$3Dl>7S&LW-!J)`$Q` z3}sPJ7G>6|;FhUDe<=mO^-0aY`OQad{W<0grnpk8FpB;tXU0M zy)HW&^d~oM0Hg>2*)$*Jw&*i=LkCJ9G+53$FcrGHLvdrz=e#|h zqRldR1zd(Wj?9qR*kt}*iD8$LQ8=JyWPp3FWm{kXvuS z-WYYu@MO#j;(&sZ38P@0w`NU4L-H~4^+e&tHV@YG*vHGVzuVrAC2Y=Gmw{~sEJU%3 z?_*zhnab4m%`zOPryTML-$j8bhj@RE5#E+FKSJZXaaTrv#q@LyN6{3Kq>z7%hEP<5AJSq&eEj1zFZu^IXSovqpVyC^72)#7kU4sIMs!G?+ zLmGE&*Hm7A^n171kb_7W5o0TumMAO3dx>dGBi0v^oKL)8R)ljAY>GvaH>znBRsL5u z$XJ0=h2ze%QJd^f^lQ{$G&E=%8zADCoPkJdC;rxfyZQChi!@(!o{6g{t`3h^8s_*2 z7pv^vaM{tyl(wYY+$gPFZJ+myOC-jdmQ3%CzK^HkZPe=!;NIanW0m^t%WH7Vm?QYZ z)*JeG!-{Szy8SqR?Oay4w*BpXt^Jeie9+!!z7FD!HQD?tN{Lp##A^J9aK#=SL3Ky@ zKV$@;+4o#wf0^&f)s_Eojpv{Fea-Gcmz}wa^8Y*q|BuUiWoXv(`K_^ThFGO>ifV~5 zHxViQxv!_dlI~i#T%EabR(Grut{TR_{q=Vlh-Y~Jcl7MDn4oC#^WUdQ;tsh;S+nih z%Y*aGBJ(@ixsspTCVOIN42Mp(7wOYb`H{AbO6x3%iG;IFO?poyoKD@-qFeq@dx!cJ z>kj_~#4Tyg9&ole43E^{79ciweJULz5REK*5O21Yw4n`>t;HeuK84Z5DVz3ewQMEV75mel>Krnk0yQXkLQTn(~BZRRAf6PJ<_17n+V6Pgp zUrm^l6=h-Cu~MtJMyXeh_0+OBYdD*)I9b&^caBqmBV#x&9Sd%Dh?g;Q1kk z_aE`?`d3+f?HR=@OX|rI>n!RlMqNw8N$b%X4L7`?q}>W=w%jv(tJ!!GxrOM-C7s15 z8D0}Kg|j5ZUjlrXe}!l;+T{%cZthKf>O-#l>|ty11_ybI``_DsbPVkqzwUwO&5YH0 z3N{ReM%vx5T&{Tk!}t04{>MB%IpNRz=|9cW<0G2J8^NZtD#sf+#=PiE>BqR*_EaoU zac;?aeT0z-Dwbljk8psx70#WZO!11i+}IH|&mY%r7u%*fQyc|Jq1a?CC^}_Ex-3Qo zYoF7Ek3B@*r%Tu6EgAYA%gbjnr^2_7)X>>}9(1w7=Do|j->;{Of474l{bU4bY12GO zfntI~RF2bg8Yb;e4}EXRd_1l~-&`KH&t_`D#ckL|H>5q48TJq$ul;n&crfYrpojidmH+Yi`0O_2 zfA;;n(EfwU|BQB#l6wWbYMwE+KSEetW)?05UZ!a=QjyfZ7ryiY6@||Wx4B|^Zntg!1iqXVNfsi;+x+V}UTC!r@r=TrN_1iQeo) zi5e(7wyp0s-=E$7?;0D@0|@)~HJ}QlqGTE=OH^26CEN~h99t{D4;?xwF%7F7`;LY@mLylSXQT zmi$Mbz`yk7KEM2x33vB{qF=nsq7V}dr%Ie!&(mSsV@5l557(CN#*HC(rMXaBFtPx4 z0;wZd=hF^a=a{b-jH=r_K6=7?Z~P*Q^*`Zo+F*AbwY98j(d2QYm(9(wdkhl zI&1NKhZoS+jo}piqjZXAef6$6vVz%o^tn0>p4o-QlhAyP(i$&6C9g=Ju?! zYK)W=Qf+WUiuyH4P4gL}3S5{r;3v{3puw?1i~|=8Q>RuduSn7$^UH-}tu+$_GYGhPmX?>)f2>>z+xOR(=#*{nz?2T_S z*}a3cV-~X|>*dOC^lIY0HLPN6LCJ_xCV)fK3pl#M!Kj#%wx5Yr)QwhgPK!SabVU$3 z3W;7{kqnFD7a9NDV>y3U!rKLg9RN=B1CDtT?o9Cq><*jal70_eb}!bDl;Vyh4W|JW zt~#V}Y*Q?Cc>Qb}k@$8UW-W$#PNU&AW~v(rAYCa*1`QpqKAZELWz^2IL*bC}NC^Fd zbXcGgEfDK=CsE@z5DDf|){J)In zzjn*-L?6i7(Dt?8-dxe&HyHSXqWr%I1l5M7IiYc!RydsXzXX zxG2(A{k79Q5zZH7N$>m6lbiU@7wvP33pLb>REtCkBlE89^u^I_=e9N9XNYj-G6|B(B zzZjoz7J}!#K`F!=OH}F@BTUpVMi>EOg$XbbVW%kA8C6WG!YlucPxGKwQK!@^Wi_)b z&eohvYmU|p&mBA$;k1C$LYNt-QEU*Lm*t3Cckl4pJ8y9E=#=BrC5vlIipi3?nWHrn zD#3$4QCyn_c|(FVrIn=i20t&u4a|(9QN|SRy7s+(_;Zup->hXDTJF>rnw9;;(?fx}?c#@gAB2$qB4IBVAY&*h-ydxdS0k;MHjZ*s3I;;~ zDzq3=7NrmAY}eqHjVZQE#@tMn(A6J$#5JeH^cVoAmp>74fZ@2L3pyqaB| zaQf_1rn8!}r$^YcXP$PIMEiL#*=O&&LoRR$zdPU{GAj3y=4}3HL?+1LPXaHA*^9Yk}i*Ps$C5Ygtd*s?>*W}B= zQHo<;AMxSIDc8n#c>CHh@|GT!Cuzq7ZV1k!Wry35u33~5 zW*A_?h}+!2;y7g*6yL-B8LB%fB!``)l8nkLjW45M_0RZ_?w+4+TABN2hx1PZp`>7! z3481Xx-8wRZ3->Fjl++MQ~%#}Ja>ocze=wZMdJePOzw7h#oKRvosT~GcKbW}(Qd0Z zsDB5?`@FVB6YaPgONy}4W14`^i#|#bp|-WG4oYM1ZJi|E^#<+qd4rdr9x??8hB#yH zFaf*~%n6GS^4-huyHThT4Z5OXeuea3fA!NTfA!O;Hw5@{$?g3j&{_X$n0sqtgyXAxR0+2Q`$BW>F#?9GGVd(i$?TvTd|3U;~gpu)QON_7~+21%z zzx4_HJHIg{8kStN{y)nq>>9m%#=>5#0Uaof;o2zdGkMO_)iazcz*Sru-Qu0mSE=2a z(o{TM-sgDzj9M2jWJ~#?P=~a2Cu{%t6K4<*mZKk26NDwUym-1QUamRooJfVPKSo3&sa0OVht@P4;V1(7q?1}8d6b7^K){FJ z2uD#-A(i(k$0}Nl(ES_8=IMWTU36s$`^)N{w?Jl@>|Knpc`a z2rD&*G&}^LVobrPCDL*s+mJ{kwJi#JV_E`5IiqHdH};63YK87#bw#y(c0c{jJz)KoX#wKuP0G7IQQhrTPKL&q7B$iu zaKxug*eB6z#)kQcDH)v#9PZ1f^7A*>KdPj=bHC@PKq`W3Pvh>d;rYkp0G1Pj#oZVH~OJz`@prNgP9!0nx4Pr1blbf7bRI!uXgzj~jI`IrxQ@d+8qOz4#9n{YBDm_8SWW&g zt~j8p{2x-rM@4-sDO0+?RONrKj`n%&KIePTZO2c%@?SciN{!Dc4#pHz)pbUr+o&pa z^8_yd?~mDKa9#gA7`h*sof45TLgB5jwI+GrT?YE)C*0S1;q?w(jm%biEjw3Rt}gcZ zDn#!^Vxr5y_IEb#L^^9o(DY-5mMaXOWO!(Ui|L-K!-dJf_f+=q{R~S*zFP=Rg^Fip z{WHU2w{zOnUfw1ux~NYHw#9_$=zilL1t?Kd;)*d&3e>HAL<6Ft zP?YSBD~ho|VR7n>DMS@*3fxL*mcrS}anx9zD;$e3HHNuSmI&6VZ)gb=U<$**{yul_ zy~2I_5M33_n;O@-ZD54adMDuQ#XLt5QHY)8Lb_cY`9{DO|tAh!Fl> zjw1{M1zZAL+&?lr!)Al@k4DwQ5cecbacY>kl;o~sh8pO;Xs~;5{U)!y^(N&Qs&O>z z^-AzzW9yd%vET8mu&B;a8jS2B#SX>j7KK~G>Nzw;_TJEd2l`4ZDg~;BVzkTn*4xOz ztE?9b>SrHOEFWW7(F9NQL^mmjpye)3_8E=$*}HxnConyFhMhgb1TSdSWZ<18V(Im) zm0)b`d-`@6eD@;f-&J7SdE2FJH=oSUOwFzm&WK*A@l1=nPsWD~wdDL>zpS(Q^BCLy zS$lrn+8?`1)!+^9z2Z6I$O0c7D9~*li6Jy$>;p|N>A3S#P=ITwj}JNd;CE2@fO@t< zXD5g*LJNy{a**h`*xCUP`*zKI7Uh5Te8*#7HtUpu_r!#E`_D_KttusVjPSa7&e;AC z2~iz=FVC5gZ0T!Dv!!dDXYyO>5S;gpY$IxYPO!Bd-3!qHst_N(I4RpdZ`?BsisfYW zn6uS0Zcbk33pak2ljUQcFYgahol*Ydz4nL7^M9S%&m2+U;?w{j;^oDr5DI6gRMFaR z$w&s(_yk&sBj3cCxtDuhe!p+t8`!6@9EH&7E9{`sJ@KvEPSfqz`}J>IUJjVEX2F_@ zg6r%f2y+%JSqIv4GZtxj-;YLf0S)pZr$7^U@u-xC7>@sP`*3KEMwCpLaKIk9+Blz4 zi{+Flk9pQnsu^HM9h)d5Yfnq7_&(ROvq5w-)V^(fko;4@x#pb2xNHpe{ZGCdl-|(@ zW0N-9!zB(g=kKLY7uW+Lbti@ZE>E z_|JZG#M>P3kSALWHGXeS?H@BJ6vj{(ZR3dFUp%08N~18A1K!#H5`~Pg+HkUd&f)6u z;9P#5&^HKxls2F=LS?q`ioefcOQXwpsHZKQgpA%gKWu7Aq`d#;TAonUhkel50$bOf zjHw%N$;v+}rej<34Vjc^(zzPHOIzREXE|>PM-6hB;14W5Xpg9bT##NlsxpDyYsj?& z3T@Eo6z3GTTCv~^77d&pV(U{cIM};^+q;F?-|R>0@ zT0<)_l(_^JC65cxNgvS5A*P+DG($)pK}Rv01|x`kg1wbn_HH(so1|+J*Y%ZVo2~KJ zN|Ja_I?v?HajtY5I=JKAg5-a`BH0~!JH4Fr>4sO?6lU~co6yFSk~`j#niY-(F=tD6 zjmpNmdCTMcrnbd?5NDG-kBlwjA9zWSYGaz6(lu5Y+pXQ z@%N^+a@PPLv^Uak(tWPGBApKjOfsSo5ijTuhg|=hYE4zDKhARUGXu*1$apB5%6z3& z*msojnqBJ~3%K4p^qv_~{twjKQDkT3{Fg@g58a*Y!#w(<)Pb&1yTCScRM&AeKxda< z1pVjEdr$n?EfcEh7KNG6)JvM?6lG3#p3bXl7z20j4PcR6iXeGE^(As4=ZT|!!a#?9 z{h1q?CrKeIP8bF5i8^S0nt~WBnZC9=~3YS^c+k3uA8)+-}NLO<|-gbsn zTXRVhzE{8mWf!>S4A<0fT?($5lD)Fv|Iglk#N3u-3wqeMV()#-Z?Dh1=_<3lRrRy| zy4h^9(QHWs35fzU&{WV!1B#F!jx^FhA|ZkVBxoQA&_sX+5+HygM3I0L#5q$tIgT@wZVb&z zsg}ZWVL4qk9MzU%gi{gb0!x9FDwTqY!RE$AUQor>HFaH6+lEG+AiT87j0#nQ(X7+* z?i`#qwwncRh89^ntk@f17oyx70HC0OiuL!B7fg5fFAbeFHrU4W)-b;?SfX$9Qk4)m zAtuO33w7(nV4$wCb%pgp3e)CYjkM+FT8CS5nL$xW`x$mrjq04TIzT1IT18|=RFR~( zs(U_(rzc%%jEwQlb#8s*Z;-wIJ)S*$Ky@}lmruQyW}vAOn#D}XCpR(X7I{`M8gHS6 zu$a%O=b5L?#3^=k-GnFI`))Q&+p8`=`(?loCc4VI>3Q=C;8JV5zm6h@6XALL`0D`O z6?6G_08Ek&MF>Va$O!T&rkJ9VqfG_P3T;YY1y(>^lr@*(MqA!Qtit@1)nWx?h*gYO zkP6ih2e9w?ukm|F`Jc8eRsLt|_b#pcPsvLhzV$2jGG zoEN*chXX2L0w|MW`Z*#c3&sq7*hv9eawrXR0zqGbFLjWNoOAP_Uk&ea)B2Gb(6~d@cnp&wF zOVwCv4RH@GHBL$yJ_Gg(F$Mw+dJ!nflA54|95bTyNgLCrQn^$gHeuz? zaLgHkOAoNi4l7Ddm<`g>U)FL{wDqFTFcjn{PQe`7<-)udjG3^*_CO1RB+hco2@iO3 zWyPuj#m*j;hTpcYD~u0%@8+{-58F%W?f&Bz)eGLeNuZ??{hpV0@2_)!0(?)t#b^2% zCoFoa>-_qz3g<~LR&9C*e2h}p%IXsPB}9&R`Q}%eq@4)H03l6)9W<1<2!f;97Ng$o zN~wDF-uugqKJ%$8*NS}UAj!ANDwPfAa6@jK%>89Y z3FtazzkC>)zC2d#7I7OsTm$J5$hM&T3L8Ca5GSBeRkSLxwX9cg0 zh2Zrc(Qv9Dlim!4dK5gu>8t$G=nQTpQi>)EV=HhEa=g6H=26OAJ5TK%&e|(=0@$ zFW%|Tc}gTS$-2;_gjAr~Wd?%bMw%-=C~O_$?pkQce9C~-f-fk&qKY{5KK8ev8z-bY zvR$;YemBfj+~2{PE@f`q6-&nmAz9~=9I~mpJwyWtOjAg8kf?2w{g|%TSbN&;l-UX+ z@9Ix`1#ynTdWB%H;@%B?ZAf#O8VaI;NSF99#CZwz#Pyc!k2XY6BvRZ?aT$PW8gF;& z+7_9?uA)9o1JTDP>3Wv-jew7XXIf}NLjDbe?CV5R@XwjH1dU}84QkT8)5nuZ#ofEI ze#lA7Gz5GW&y*fpMLM&w&;H%~_gGGTjAnZ-1xyGjsA2#26z{EZK-2w=vK}>H!@KRM zrhl96rDgY@OO*YsLjS)B%Kre#T4{;<8mniN<$dbrn7Ub@nlfY3`#kT&xy)%41*sxA zMK&SNcA&{XA9_VKsL zoT$TU<1Nnn6hJbsX;|RiTz0WmyeDGgYwGc#YOjp=W?I6F!#c)&5wO~zreJja4X%IZ z56JF(n}dTRD*K1n#UWD9FcJi<@$8Ltug8YyLwXLKx06DV{qz~(*)$wtkd>@gK13f6 z*BPQ2^k>dt4ZODlj78W|VOwAe_ct}dRxV6Oh9YyOg+>iV1+j*D)v!FPn4hjVnyol2 z8x9dp#V|846U#!Bg%MT;BoibzNSYdyVKN)G{ls-v!lqCNTPr-$&HA$f{^t`N<>jYaHiwm@nanT-X zLu&vK!L8x8H`*{eJ>k)V`#gL0n5rz>x--(faLyX@<=aRqwReY3m0k}!-^BM*?HTpz zGn(p|qv7lf$4m9`Tfa5IL&)#lY>X+k$wm{@6d(nbF%7lzItnX8#~^}aTbO)@oGt3r zisOR=q^PM^XT(%ij>-)DMoQVo2r15)Kt)`HjCO&&nlo!Nyy&^}qHsP>Ev=!F&}tmI zn5*|aT~X(+uHOuJF=|7Vs3#{wWd!3rM%Uh8dgCqZXu|yXfacjFm_Ks}L6$({oM-?f z19hqXoPZug-Ci@|qgH8D`UjpnwtbWGKQ#`J;Xlcf@BQb(_#~eHYl{BvHR*-;*Nw{m zB!Yls+%&=)*%4#=Auzv?N)B-8m3P55RP`bFrNHHsUsoPFGW+}*Q$GG8khL%UvK$|} zIW54;04H5=>ueK5#r~=}kwfv_UXrlDqKM zf$sA2mK(5{q9YdpsA()sZK)eeU0dh1h@~R^jA!=dlXz2`LfG`iyC%8xjX^o>rgL~w zhp?;X3R(sKaGh@L40-K`Hx4;PfGHzxu#cjgaMn=(hCq40nqOtFU6xB80+-ry#FQ!9 zYWP_SglC;Az)D};`JUI>!4{yGeO0VooBxukh6rTfbOizY@2 zLXK(UYt>1+GJkJMu~tTCd4uJQ68i#u31jrcrwYgrwi)pndjM3_9I-gJj`O*Z2><3k ze8zw8tsVZg-zrc_@09Nsl&FiQB|;{dca~}r@sfHz&9u0*U5ENf?{MF;@c85__Qhvmlr zENaV0M!dE49^=fVA)hyM9?$PlX_*#rC0OTd`;xMN$-Cv3)~&H}L)w7i*D!5B*C;qb zE-fMs%GSv2bp&jhwch5@|2}T^maT6?jtbh_F0@bgC(APnEfW$+s9=qxflOb~ z5|urvb$0k3?m5qUZA%#NM<`u>y8$4G=WyKwli zE%7g9Z8do>t+hK3Q6O@jC@ocW$2T0y5Wc(8;#x|5*`-rgx3;kETp7Xh-L|VSD9LT7 z72R=+D=ak+SQp`>tGGKlsh4}V|Ix4~%|oBAf>bpv$^CHEbXHqf^-6<5m@=YZg0rez zvSR6bkGBU5a~lML>#I7BMmoD`9EsW8QQeBq=Fkmmv(8*3`u->GgC^b?181xWtvO`R}lp{x(gv&${P- zlYIBPW0Uf~qvTIK`3F+~X!m>jPO^I2-%aoLfbzd3Xj5GM-vs4<|BMZv4c4AH0=ZJeJ2nE{HP117I zab04GVYoF4Fgr}p5XQWyJ+OHUUyMk;`1J43`|t@K+mfDcDfIh!nO4P5k%H;;2BYy7 zi^UnM#SyAyub#wPPxD?G(w>@*T1W#q`_o+=ewH;&b$@RUxAv-V{%CAk2SbpoMFD42 z)gVU5cWyAb^B(g0w=g_{$p;`~|Bhd;HjYtBQC$YoU4G%S!kVnUf5xdeVR5F45pRNN zTpA`r-3b*RcXTk$Tc>Fa_$X$Mwa+b#M44dNQrJ~t57-r9TZHZ0Fr64CBNwVJL%<8H zsi2xW<^Sny#c`z^XWJZ$;gE_WQ*mNoVW2XC8pv})mS+@22Gxp3j~?;MU%bzQ@-eHe zno5@%&;cgu3ip_n&Kb zPA^(Rc-HhUcJB5#90}hQ3Qs+mXwn{)IVA77$X8{x}LhEEmr6)wK6F@459m zeLD6sc(^|*0UwoUeT3=^#PJ=5ipU3K$=kNAEw~aG5v&U3?1aNl{t7vG$m-}27LWb& z#t9k$8EsQc?jYHex?a)L4OCBQsuj&*24;n5iP5G_eJ9h%S}wsAsvDNu5E z?kb*24(m4tg(4czIU6gx4+NUo8QNdwyB>y zV5xtFmNhgrmk%;%QadfN8MXMT=v_YXBciph^KbfZ?@BcxCe^lPL zGNksop!Dy1`S-6SO8*vDZ&v=_Forj?V(d9$VUoq;a7&GlksBAT zw)2uYWy$lvP#d-XWkW|A?@4YbP_ZrEJip_YQS8%t%QpiC59dLnC10HVoWe|bW9Qo# zF?@0QOGgOYYf4Y&`Ri!O`W32>yBzWP{1v#K zJpSxgu-V2^LhHxPt{F8GMg zSte_22!?uSeCb(ISDFASzNOyg^LHEuXH#VmV?yIL>`ZLqFLpV%C$&52{7YUlt zu8SH38G+%aUl{&_&(8)|Zbic*j(Nl}C``z?$u+(wU&r{ApwD>9V~#1v*k-~t_Q=|} z60VijCp%cOUuH2FK#L;LBitdIJ^|>BY!^SdQyYp>_rV85yr_z0KH6$jz8p zeZtel1D1BaM$3gWauc;a6d~d&uqkc8C`lXeRYNM)O(74=g(U+Gs;p=aE=CX|UJ3>- z*G06ugLLb3J8F?O4`0~&L5UxyBQgZt5bx@j9GI^)Uf zIpw#$hP-u`tXg0`{}i4*p?UU{X0`D4TRV)&fQFJKwRr0YnaL0l~u~+zJ!3z+*#nHJI#?gD6WTwKssD{t{ zs7B#;^ppi1vyiM5tfRYg(soY(F}E5 zZL6kYLQ6x?rZNJiV2wx0#ya-E`Eu zhtAqj)wah8p2N&_c62)uU4k_3N7-0@crUJ$p{KfW9)cCJB>f5NA(Rku&}VJ$v~yp3 zr3VJ5X2gg+u5*jKG+6HQ1!v4?{5_YjA_)JwGuVf&;A_3-;hBWw!OhqRXJoO$QW9rv zi-KziBh<5WkkfEV!+k7gXsi70EBIP;+i7h;$x47b@8Z0@6ZMNCtCJG$zm^lYD)a2w|)nVwysJIMB=Tm$4VtaG{2Z1$j z_i_iP2D~e1{$o~?-`Sx24~qJ@Ti2BRtzkg;>nr>R-d+2iD)xOjS62Rq>j7T2^8eRO z@t?vlo`ecjCp?YkbZVeC^zIN`W~Ih5RacaCh14cFGS3r2_rDK`j>6@zC%sXa;5_)m z({QOkSG{qb0^)=SwqNF2TQ-R>HbM84>0W;oT*am~^=Yz{cF}?Fmnn1Txsa{gl_esK zMpLGfJ?g4vwYI*}HVG~?@Gh7FnkCZAQLUYqztUnyivcO1jYPFVDUsG|Xw&KZ>jdj- zN&IP1u4c@R9-*?$>d6!A>=10zJgfh33 zV!d+84VFMm`=((pn1T6$PC)l(0Dv15W*uAlWW|3>$_y* zU7kJsgvFD4*lLEG^A)BkN$K6l^*AqoSE-;jJ@Ya!V}f@zO`r#?Z*Me4zRV~+|7rI8 zXW@AsgX_;GwFFv0ad@=dM4kpuB6@`9!+5wW3H_*@LRs(2^Nvj9oL@FvZq283!DZhZ zKG$8IaW~$QRA9X*28A&w4p*~eY6u`P=A+d@2_kQflQ zpS|yG%BQ~a-_s*~<^Pbez>t^z+V`|<>68^!mdSHzyCi)++|RgaGQK^ku+=As&Mp}L zVK{Gx1;ze(s6Ynl9e>qZHo7PQ zN?lpXx?x#6-}Bl#-Plfv>#gfzUPE-+a9rFj6BOF?01bT!+{L4@fnyweZ|J__lvhtV z!2r8#bDJ$HDvmkZ$mKat=`q_(nKJE_?B1|g<}5hojK>^a(34@Py?jG(In>>?^*r-0 zdXhLa;SJ!hrI_yimSG&HKy`N1{;p7`fYf6O47a(? zkIeT_RgUzKPk2Dp%6z27+M7&-E>iAa70N{3^eT)2f@go)lje+0VJpvvcR{mBXtN*Il9hT%3{9?#RgzPO8s< zXb`YJdX0BR-$XFfy5!;fKJ(_Z<>9`}(W|VbO3-2&B|vz2X#*|~!#Fy}BQvL%a$=W| zOWb4`W@m!g9wD`&XDjR?9A1u0u{i5T2a&~$;v4A=e>g&evOHxn;+yNg!*LYBDNY-l z-G0WDEq1c&*xRpTzIOxr?Kd%*!pFaa2VY>He1TmpfD9MzrS^oC5*4PQz6PvCY!D-O zfu3!kt{ekqG9({kY70$J;`SM`lqn9#A|0Jntr zX~#aykhae^ew5P?|KXh=0_ck6x&k~+dKAF4^Ce^yjM!oe5Ejf?vc!o@r(|3sV;flD zY^_Ulu*^-|+9rsj$2P)(<|;px;cCip~!QoUEl+E}IrUSYnRwS7*(m>n1BP zd3qmRJw|Yr`X z{d<|cZ3Q6bEK|3my;xB3e3Svr$h=a+MMq24oEO-IT=4F>1?u#ymQH!0h&%=B8k`(kN5Xrhs#QUZ~y9S2}j;jV40G zgOrcZHtJkF&wC@}aT#dz7H>ToB@Q$|>!FgApgFs1tU9RwOnwr^$fjJlb0DX5~@lmXO{i#8+`LS-{u=X_!eJ#?=7Zz z!RMcRf-xDOSg}4;+@@H2o8e00kTwm2>CHu`Hz>^e;}_|cnC2<1TR|+MC0bWdhtk8@ z<>^Z`WZ8(K$Wdd#uD~u)DS-;n+V7!s6cQY$2274*1(HpicW1pqwI<)%qu6_$#uk)E zPto}U&@;L#;>*CFoB6MoTZ_YGZ64t;W+vgg#D!_s_MCLh6Qh188czo6FzqtP$UG06 z&$IoeKs<>(kFMJ4y492ZnJF-%F_=7gt4}8c#goz+t+c#!pz%Uf$MAgEM=9NtenJfK zpL*Z-jAGksn+yRm)*}K8J-bQyKlFUYHDh?goTAl-?B!#Y&6LV6E;;TOo5!?@{ggfG z9#H2(qfX)Ol*ct!!mDd-xflaD8Yvq#7z|rgEwz>yFITWsF>}Wy+Hh649M)2n%_$!r z{R!K}b>6%7V;0pJ56*st?eLG6Debbn+2tWk4Pc}|dxii&Ya`X}OvOb3s4T0hVNo_L zX;{&)Oq5a1Yv0j9o7QBMlGru%@Y3hW9+Oj$v06*ZD#^D^{oBYnUie=Bz6Fk%k+Wc* z9lpai8Oey5o)M$wgl8=?<{Wa$Lkroqdc?eK#|~qzvkeFhHP5(O)RlklPfz&oKc4ch{dSJp3PgOwF70H2GJqJNQA^B2 z;U1Wm%A#DcJI-21U|L1G;~mDi;dmj8@|vBokQpb7wpwA;Qe+ZsAHA4MfJF@lXO;!4 z1Rq`uzxT~|D6)*Q(q!+Z=ZVK&p?{)eCUuG=KGzzy0~j(h;mwohgVTa4Iahi$gV z{COPLrDf%#nmi#Ws*|S7VVe^}bvlz1A0;3^FKxgpVmX6OE`>Z} zi!CN(2uoJXsc-^)gN!F+uie1BzJ)B7*v}5pRf#r^Nsp&YZ0(R;gCmwwlx473hsYEk zIwVU5ft25W@L` z{Pppu3qr2+Ach2guW}K zq(7T+JiAw;*M#4Xl9926VGGADo}tWeENmdxqv;90=W+JqI*FcAVb0P(y6&1u)7?j&zgO6o#`iR#=HG{=YXn5_r6a?oYF%wuMiV7czIbt)L@JYrzTn= z>er+?Omcp`zi#t=)i#9o_tQ?1d>^91&#NcB7xtmSYQH0pteSAnEC$Ni8K*-9)T#}2nzIEgA7dlci`o&9Ps)}6`DwA|B4s>z7==u7RM_$r>x6KNIg zqS6`>I0(tHJbe`MvbJHQAKlGgAodwW1m^-+pm%R4H(-IGAcMdJ>$_QkGQdWo$q|}U2fmHMYCA(Z1#-9gG1`t z?eWH1j5j8I5pL)*5ICIpJ5Z-7ju~o2pii6uXoO(!>hC39`hkB|tE~~+YJSSod%r>j z%F_d|K1aGVs5YLbNF!Z&>RkM>X2#^#-eh{`8^~yn#la)$gU{Hyw#T*ienizwdG_H? zspm()nO}dVx85#-%bkmxM(Oz=a-p&Gi%WA9wv*v#Fc1_$i~-3pCP&3!JzwnTU2VNy z@i@^dEI!vmLVhgzDsw`tTvFf`@ybAJ5`% z2{c2HhNKGr-uI42e*Y6Xq4p8F%Ku@deAlobL<|UgRbQE(b)RjO|FO*0*rZp_zA?O& zoiVZRgU&duU@O1QD4Q~`4mS>WlzFX-$k$foMcZYF)ahMQb*68b6e!k*lfN2>I5ly0 zPTpSUv2SU#8g6s1T~SHp(gN5^r3JV;T!d}3%Z8P@*pDumn-T)`kDy(HjhAwUlCCD*a4lPU z-hJ$Ylb3CY{j^}~aNaWS-*Y=z*k-~mJB%53N{vZLEytYj5uZ?N!!`EEG0d2A)=Lkt zsb0=$*NZ}prNX6DN}~ca$tayC6ATz6m3dvXb)pQ^K_Ma4Y=o6}JTc(C$gk$%{^^5X z@%``rw!@p3NH<~xA6M2jF1+ES;0`KE&UnB__5o80-r;qA+x&<|8$Q?1dCc)w5RN}W z>E%oru+Nl&jNty+bxBm_R9=tu>LE1-0P%a%kwvQux%`#7JvJjBW~@Kj%M_{nDyje;OR1PiD83oL4ijnme+Q~`=vO; z0R!H6%|%DtDjKGRaq06+kkKk4W5kRoGMJa)*o|X(aJFDo!$~q07mdol{@dT;wfzZo zGe%IzWidlpEtB1OVtU4;P2jR;jEq&Gz}`-VZS3 zSZWSdPdHdTZXFO_)#wfF=0=@vb=IOOOD-;YV{VcN0p}e!=ZTGzXU^+ap0UN0J#v3s zF1!JNVT_qfF*mOxuWiA}G4klh+pR$$VVry;FgLCvu|>u|8Hw@O7}HTiM#{R|6PuLL z?U#Gj`0(D1EI1rJ<@nl|X6qW&$z$^S&yWv(0rx(Ia*neJEF9D8RZyWXA+u5|knQBk zm54C3fu=@mgRz2+x6o06$kfRvn~>jih^$J#r-I1=D|$a3w*O|I`Cv0h(vnzD_@zLJ zp~U$h?@_Q1WYnBtIRip?t>~s7h%HFl z7LMbXI3P76F@EQ}5>7bem?JEff{bfiXNP@OtXQxhdfW#U!TG2@Vy^J3Pr~DSVsWV| z<`@cW8@?4>W~);w9#J!EdubT?(Q-k-)aUXE0rtC-;jV?1A~a+as6(uWA#H3=} z%Rq7xv3YJC>D*A_ANeD@9ah#h- z?)HIJK8Lr@Rw;4`o$-)V^s9!ev>}|u86rCvGsfB)t4m--T>qC{+v&Zb!SgsqOp;5! zU$y`RmJwBH$_ij+!x{Jxj=wurt_or+)DX%VoxEu`8>I0JT z3n49|doGLCJ{-6|D+N&NLY~v-YKHo_er9hLja~-2{R{ILawMW4k~7)9&gAAhtQawS z_BqXL+2dUTofJzo&_?0zc+RU6#189&6aweA%{sOv~gL<0bgS6Yg) z%}3dH)eAI{tSf|!pUW^S-PMp%snG~IDDXKEtPjU}HSx^$hp;>4X@(OI95 z4XeD*4<|I6CaF_2yy4C=rNORFn6JENzFJRZf&IllL5hk*J zzIN-B4Nc>vzhERI&vP29H01(x;pc^R54_AC{>FlL3USUMfURgwp0N1juV{{rAe*u} zn`4h2!SV=4rw1C|$+udN%$Jw-#yHGXLMxu9{9lU-;O1WX&$f{u`pW;TSI-9J|4@2> zG~GZaH9=qbzhKM$3Zrwvj+xhoiVo3G^IenIDu3!P{H z)XwWsf^5fZO!K4aqvxngD{w(In_;NEI42)L$jyjGtEe=5QNd4J#AOQVnqxH79IhU4 zyn4*7t+)C5_21@j`G9AOFWBT&{SumcX>f)BijfQ>IgPbcO-)@o+Gt$!3)NoX;@!b9NZ< zuDrv$*}GIt$*1}m&wR-Bmk+|kht}T&HI~D~n|(yqx+t#Bi45@NfOfpmM~VEq_VUJy z6#O+ojs9{VrV2O#x~T$ObdD9Xf&B3S{{1iJ{QFf>%&jkTQf_}Qo?FF+kOWi57QCKAlCXEtMWCPT~6$m1?TGwC5 z1*KMJpIB29Y{JwN@>*FqE8%nrW!)AQ3sl!h5g(;As6M^&$6NatjrlLrP0@yoyhIOz zKeY`Pfw4tuI zDh;9yQmw#bXf}cI#64R!NYmSV=XNd#r(#WP@;Z=K)U>grzUU<-&>edi(md1{YM;+$ zn}Qo;?9))vaE1#dTjRo(hdNEK^iX!cmOi8cW2K^M5mfM0c4DN8lH(2$tDO?kmD3-G z^T#DEB_^OKd<`K;QwVMzo^wjqpj_()flocDhwBu=eCgVCcQr6Y;^)S)Vu50XpkB8J$#2w|=)jlCdQ9IXa~?#p`c}eQ$7{X0|mLaU@Y7 z+(KykbzU~>jba?bnv#l@FLg>q$$}LnE1Jaf==?CL(moU8PXu537Mo!^BV-B8k|p!= zWf5{;r={T-%PDv!JY$EP9bEc=DcX{JKKEuj6Mb+B9oLo-h6zD66z;}#bpeFD^leDo zerlDF%pv;khkX%7LI`F8>!Qqv%?;M?+F(-SnAH*&$a+FeMd=M0bnX3%A@%&QA|Ecj3z3cG&VgI}M;MKD9FAAI5_GOBdt_s@wyXf&C*!6z5k|R=JWJE*ZQ#CoR zMlo2UV7*$oox-cm;bm1B{k3vg=s$ni`8w}8k2$4aR9q*^_NePQW%Ug0ga+JH#`BDk zY<$h(uL=3&4#o5~v!f$U9zCEw`4lY=F;bIZTji$#Y`I|h2Lv2b&5P6dODoU>AUIY(5$V~6VK5`Ur4L;@0BJZjHf&7-FSmp zV^|zNcA*hbS}#z#WRfI%G6lg=-i1OTFcx7fE`iMi*g~0zVaw!9vw~5UVZ5?M>xObw zF<(~9E6dCZCm4YH3dI;}QZE4)jUEDs){QlM5bO#`|DN~b{fT$XF5`g2`r)2?aYYrU)vSohkO z_0OS{0BI=y&U5D}|5Igt^8BFk-^YWIB&&214Z!ha?)$DWyqPW7vcEv|Y;A@rTXM8| z!2alU=Jhe?;*v0A=5S#zw^9ruC&x%7^C-&Bt?B% zfE*)2Lv>*#sZ?)sHJ9W~Hh`t!@%$5>&hPR1_SgCLjo;_N*@v8#PuI?p=c(m9sbF-d z83LtIOIerHm8GtfvVysm%&1w?P`)7Uxaf50OH%u_m0nt#W7zVJB>+22*1W}`GlMdY2(zUGUw30>iCe+-S>PP0o(57 zu%$Jy9KhoE*@br&|hI{VUIE2koWjjHeu1s`9MG6^b(OC0vLoTg^ynm zS5sQ+jEW`8OPASC6A0#S->3_5?l7R;n!AQoa z*aCatTc{MqIAe05xe<-dcJ+l0O} z!I%*$@WJEqr7HX{f|7D;sd zmllT(HzF@}PJ`Rf&DbF0ZNw^+8Ma))gQv)$L6!?Rsj=3yLYmAI@)AxSV~{*Y3PEfG zm7;anQtn6#Xul^0;c{7wlKv33t_4#dTU(gD>zHB$hfk45PvP_cv_csnQutCrIi^*m z4uuM%^K>G3Ab2(_LJif@G0&q3){G#loVk+Kb0#N{*6THQi7ZQ+V_VnmuU9c7X6bwi z2o|&kRgCN~=5=yzqd>)s1}{kN5Xh-=Iga7gHnI?VZGG?3I+UP9bxOlXz^3_8rT6<{ zh@4JD<<9gW_3-Z!YC&}w{#-jvZ^lAf;_v=p(TX(Nt9@h<=h>;V8^2GSiNY9{Bq4;s zPi=?$t0jm_yYrUTl(s1)r^6GL;WZRX>hF~Gt0B!#%38QShn(xKzrh|dh5iBRiV8*o zp{x{#D3E(QW@lV5Vv%v9T2)UVEJd2DmE`~wYu|iJU)BSV8I2ZP6hLHR89U-7ux~ewq%ZOv!_KU80rN)rO z;YJYngll0gGy%sn0!?wl8F*n)2?EWYl0KvXkj4v&-S2?E&R71Q_dTg^Q2F2VuJx7w zDSi&)obKwT`}xAk{{UYNLvuA4#$7KP&f9tCJ>RDUgpp4jB%p5RUo1BA0@}=g$q>o0 zjA_giM%%Ep1t_|hq2|Gl<XXurI8A zF)alZtug$E;_x1{o+<6zX#dNmS==@`RvLBb9E{Oc5v>ZgF=%6P3T~3OzY>v30$n~JZpEOOT&JPCbjfDFs7Q+j92l@* z%HsqfjQg$#jR;wuk=Y!p1&luwydb&X#Q3UtsiXtF(1f=qf7sf)p&Rc2(A(xS- zsD^pG)M4by087pN+56=45pV8(m)Ex6<=*KpS=J|4YC({joj-C>K;JK0)uq;HYNhlc z{+HUYr126ZA!{SVyxM%!n`Lvo=#n(6WuBU>N%Zv{hoBx@im~E$Ez@ zs5vCMp`yH^2UhA}`$r7$f0a_e%a zt~B;$=GU9UAa;ZN_tk?-2jEf#WH{rDyX?2EpRs78e<;fT;m>CLPt6bb&h1mG`joO- zVO6PZgIde(c*SHQAQMzwbV>D=D1pRi*MyIb6Lyq{@YDM{{Pw#!!Xe=lRD?VeW-C}$ zP-K=-4o_zmYlWMPIXWkTL58qJ!9V}qcTl^+wz z#~jtpARr^-?$$eO<+~V@F|W>ey1dV-S-NO~>h+ixM4@_F&^HJGXB03pLT+R@N?UUaaVOAyf(Hwicz&@TkuMmq*U7R}>L>x0BI021CAq^MWG6h{xcAA4$gTxGBjIc+>9yN1ZCaaZyCn(c~L`?&8bg34__M}ItCRe33 z&R8#B{91}*8p_*Dwsjeq;LjXaV6fEdwm(tk`ErAZDg>$5_ImIXH=T04pCujUJRyr> z2~n}{Mj#kR6ij@M^qLh*7Oj=&aQuP(4lzk<)8j0J*6%|M*WV>d!*LihsfUs5dc#El z9c|x(V9r~r`jCb}$s9zcam<70A=UxG13k1Rj-m5Y&v730PT^m%!utG2;U0vY6d1qg z;hqwz>Ffl9iXaS#y^rQ6(OkgwDQC=x*ZqDvqu~p00HD4fHOd0#0bd8K5J`?ifvezg zCd9QL%s9ZC8fFn}eBqQh?JG8_S; zMFWlkLypjR8}^W#Ay~<#kSeq#DKqu_59>M9WYQ5N#rba6HNK@glh#QzfET#>I}Nnf3|qRw)e#6XN*ethVvEvL6IMDeWLttQw?Z)EsazX-yc%`htcce zuI~32RsIL~brJ0Tra^kXOYfRL6~&O7ZSwpYkW*D>SbG92l6MC{TuxOH1IC~f*nF4K zjdz&5{VlRL?ow;X;`0xwKYJg}o&q&OjiYBs2#1swc@gNhHJ&anEZ}@D2-IdxSs%Kb zaB4wIe=mgHP5XY;mJXfE=X{q2+pK7+GpJ{XJw{o!_|^K8qK)8WOYGt)5jTV|e5t|c zW!k=JZa2U4>UO;^In4vE?z+3v7p)A_pXUiUFK=EJ%Zhcz_L=rH@s|u(saY%znLny& ztU<~X??vF}M7%OrAmmPLv)HR*yizyE#SqF+@BI&33i}8*FkCYkI|>t{jEu`0+@Lg7 zMO|CwWzD>-Sv1OAl`~OJ#B!nyr&tyUrPNdcwOT3>YBV`LgciZ>}a6O zwRJc~qLDxhcHceSAx60h*SkA6a6gGcK6y8M?XT-NKW@%LxX6@BRf%-G5l4r)XapLS zeh49~XG3g!58wZYtTI6s5;aHMloawOlv zjP@~1sOy^5!DCiuhiIlqHA7Zsm}Z4&jnxKg+};e)BmzypJ_27Q-7_@eS8Puk?%)3z zgEhuEQkVjjF|u`?$=!F^dhc7v-gV~BPFZ~X3HszAEDykzXj4&DbF{Hot^CmR_>Z9U z)!5D`V_AE$tkCvR|^o%_COv}H=m8^-6w`^pU|>*-&YOWbSs>45TIGTzBn7b^c#m^UZnw&42s4UWr4G0*(~ z7%^UXyO~08ihbL9eO(3m>(B{^D~#ms9Mg5<+LyZW9KyVi+6&PD1R;}xM(dd8{;MI# zTd1|<)04j-ml5ym{}93O`N_|ytV;uNk=Onv#r}EV*m|X@EmdV%RWZc>63b#uq2s*n zw|)5i7xiopp3%EZ*<;7A(JojlbCw)(!V^x<#hU_5D9FitIQhPO?qXSTTKZ+4Iq%sT zqDTx!pmE7gb6u{dWjiShmROd-t)SM&0sFLe>rd|3dVkIuBdolKVVen z?6Sjet}9UxHf0dKwxWqqpjH%OcEz(ss` zRpTb!yl>dW%B2dZIP=PMgK&dww!LA@DGM4J{*OQTDgXNK{D>dkSux2EXxx?z@M*Rx3}>3jXhZTvOSKTib^3yrvw? zpt8aaBZLVfMqFc$g2Hi$p7*k9`O(+M+}z2j>Jrro1I$aq&e$7TYKkAdEJf&Gp}>*! zV-p)6ReUshmnA=O-yLVx@~zcNSTkWxqOW;(l?J?-o>M=uAM%sWKLp_KZ2y?a_K4}& zFd2_uN_+m919cGs5ZE2LU22)*@EV*M32s}RqdBu28<|V%oJxu zQ?|K}yh1E9FdZYiVsSqZBOv4Jp)wr`pQN1 zU?@O)C0)x=u^a^@IXO9F|HdjQy}LJrU=|TqRV+Jgq4UFv3Psx^a$^0Olo{*ki^O`u zIgN7^dt=(q(6eAJ(cNdMz%2+ax}HHHv=;<+Fbz|0JegzL$Pz(#;o9zEDTKLmZ3yoK zQxNxLjtf~Bg}u=TB94EYOKHb;O2!^J*Ki2~yjKMUhQhbp1#b%`2|g`8y_BA{rpR+fbPsyuyT(hmy*WALHD~RJt1jE9HnS#5OGaNs*n** zgV5@@;^KOa5hJ2ufbstV14&XsY+XDB-0zHx5gFT9vrD=CduVZ!p!knse&2opvK%$) ziuQ@A#9C)~5+VX@RQ{))`>FCj_2Sp$c_kVIXmYJT?%|zuT?QN$PgFNIsq#KuC;zM~ z|2LfsuSVK+@yK+~$L{$V=F=c1CogtE$JC92JxiYHot;7HkMp(_zt3wkp}77g*MIo? zT>tU!lD+i?E3G*B@MjzqP<}9n(}mBWET|DsLswaJRjT8nzNg;;R_(Lh!|!zOOYfPX zz2AQ~(haIL+MHpT(-oEn`X_keh4;=|N9o>6+c`{Kw$~I_r#39l9#b_d)YjPg6i}>< zR6*R?sgX~r=9k19uz#LhBo^-XXY=!^$=+oYI4MQYz1F8AqmfcjYKC46*V3azG+jlP zdgG#|_gWcF;Y5k=mDVEu)M(~ty&}`hooFI%Uuih!0rln_qU7Sz%%EO@EFtr`3;RDo z*%D=2Vb8)fa`sHlG*b!*Icfz|shWmGRWqv^=9Mx7POu!Q+p!$jAf}DoXpTdxc$yMeDC-FfZf;bFsmz8XEo#M5t7~ET7I4H?tPd2ojsbS zp;34KMd~V~0T^CW8irOA2DQzZE#QSQ(dl24ZRP1`!G(zgM1nxdK?vn2s_m5bXa1b5 zYpyDdZE#lq?j;p<_4@gf*4xE+fwc54wjRdS>sR|{ zUQ`3S4|Ne9LK=&9{)P-dqv>$FCna4z&Z{TObFyL!)iK)4&}t6V46!RjD+~=;z?4P- z<48CO>q~r!v!U~5sF!`NtbcA^JO`UOfER;yeHi1N3~-;uASR@saQj}ic9_2NO>X_p z-{RU2e~j$i;N-~>PpbsK@91TJw5i5e@#Tr~BvA_X)8c;G{kwVLl`MFb%r!`!2 zxF+YHag}i2H2-8oD)g~es6|5v)`|011f* z$_^+|ll;jw87_p+E8c^ODgl$Ib zvc(=dgEUZsWyXv{&Unc23w0~3m4#0uIwnUDN}5D&)?a_;(fXI;^xY2c$McL3WG{!z zIAq3{oEz)|aL5TOAN6$8yO)I*p>mXNRDcNuA!Iv*KAMg~-PISIn`l`&gYfLbpA9Pi zF52@$5K;sHOmKz;pZ)Bg@~yk?y-=S6I8W)3k1Ww|mrF%(M#*BpFzPX(4wHGXw)mw)e1K0tV%fBWyI`^wSI0{kbxD0x;o$@J{l^6_!WjZwxShOg)Q z?AF^XSn`AeW~`hcMUuYjYl|B+jnh5aX65Ks9pTa~rL?1`yTC

T9ux(j=ZXB>27Nf%c=r!KhdbeE{kLLF{sSmyJ|I29ua4C9BfJR-6qE%He z8tt=PY%wwgwKf=8PYID{J3GkjZL-_Dn8ILBYdEWr%2~_?M!gYd0Wo2lT_z|CjyYwC z#V}%uK@_Uhiuw$s78q|KnL+9bUDRj=trdbeC9A|MEh89+m~?Z7XT=Lo8fvV#P{f%9 zvs$35dEBCH$h2WAzO+7vXtcc+p9wbV;ht}q;2jpc2ec~Ml-N=*M!*J7lOXtvezUP( zp`OhIyBBSBzCACr2(=YTWhgZ@Gcul$F-DkT7-1;dWDU_=Ber{8;UC(Y3TU$A`VfPj zGRo(Q28qbov?G`LV8`+<2d=cfhb+W(mWrHXn}gaoh-jrPDJbvL@=|6z?Qd#S5b6o5 zA}FPU8os9VfyWw8N(Qg~zGx}DAARa$yCtdDc+%D>f-BGJRGm?biuy1np_Fxhn67a_ zU)U9Fd7Uae75c@{xUucg51zF?#u;iTeHNvHj1eP@52vJlU8iOuQCJ8u7D6c584Bd& z2!@J^iUxyW%!G`b6(yyXK23^A+Lo$V0?A(hhK41|5j7_$H5of(?2|FYGNa@W%aULs z64d%mSkx6D1?7OYgP^$ZuVIg+<}#ZES=#v?{Lz9?){R>rS~S75VdiZz{^@*ZTjsiT znb2UVy=Sq(kdr5Kg*Vv9ealU!>{xzW)0r;?9R6=`#%Uu8GR>)_p=5=&7&neb*C!xD z$sGnTyUezKpQgCso)U#oju{DR8|n;uD-%qT7%CKx;DKMwzSS`mW$21%R zrvh_t2ddT!Ir+o8Q z-(`PsoxPvkW|D8Y@zGS68&2ZQ1^}DqDhP}`@1^lh8yP9^SwalsDAKWCYPVQ=tyfpy zlyOsw!v7ln6B5G&qR^6b+(RQLr!6Q>l!;-``q~P7PD*D zxqjmYc@cz!rp+|>Wu0pq_Q^5AlN z&7T_~Y7k(pAk%HO-u)VTKl~o!_r8XXx7ojTle(@bpL|C7qA2?G z{qsUN`F_12@Ac51yt>Zc zQ=k4pvJu)CwDCAR{MYyDS3?Z@FR@K)(E!qW$@k>>spPzqm+bbG|ANa2oGLWp+3R_H zb*hb8D-IU-nPj_c71uc_A76fYlCsZTiNnb5QsAPbR%DWsi8Bgli%DqiVNBy9gz6QP z`+XQ}t}o1b1C)%y8?@Dz7>ujbow`}A7aP6yyS=m8P}e2zAN&zp`99yh`L{V-KH$OG zuM#8JtASO;TBWWnRoSpCElaIiPyg}?B^#X5bdPQJ*~8#cG)9*n=U{cpjAxv3pTp;B z^Hm_h9w|H# z|7sx3->x|6r~q4x09a8|WBKg!U+|+J{jCej%d>v!(P1j!s(X5gOQmW6J3m3T_b)7C zOvZ%aoZyP<+o?}u`n*um@F5TQ&^};F!MnV{@8>_JX&Ub7Jsxn_lf%7i2(Dbi(4g&p z0LaN&gNM~CNRxMU(2jyWq%m+&A8f1OPYv+hTMmcT9)G=xb{(^9_vVy>|LY%p#{c*a zzQKFfDl9W1mhcfveQMd(Fu=D_Bxh8-#b>AQ^1t~<{}}iHA>-fvyUMMd)!Gb{O~zjy zRLsa20R@&B1!cL%lZtVWnx9^}dSZy$xyYy@trNj`=SygYepD1wq z+Ljh48n>TBwrDmCyEE|UrluITGJiK`QKB30=c_kD`A74g!l&`~-<*Dr*KS`&u}nsz zS6us7z0a-!+W8tH1nl_;0S!-ixO~jKb{yn(cAf8D`x{v6%sdXu$2?s=y1GHY1+p@%D2HLxs^ zCc_Z?6@r4!d9zwpKG%gXW|tjCn0m$O@sjdvg)PS9*QdzseXup={u%mcj%{3c<=Bnb zw(hd;3kl+Phialy%J|S}LCxbVjD`h^@puoVN_*X@;nFsBnc4JLWOc=VX`o(qgd=p& z%X%yNy&b-jw&O)WI^SJrw~+N{PQ%PIlU+Zp^*;0kxSPw5zfuA9@bi)N3CgY1mp-6N zCwM+@tS*8?gy+j05xmA-IQ0J@wU(Wkw}#ceTeg6Cx@EWqjdl8u{mIT#&BF6r@HUaU{+g?Xatcgk(0k(p4IC zpZ4Ae$=t+equMjWF!EM~X?%dVdb~iR)3T^|O$~Zdwx$i;>fg#JD9EY3cUBZrbwyXP z{RL2XJMhPT`DDO>JN_uzQXu7?XGXW-!uwjXIi1$r<(~%ss ztXk`nLSW;9sy&^fu>0cg@VucrS6yr!MNV#}V)&x8-%;@y?nT3xC>#rI3@bh;Rm9I# zPTpGYMw5YVo8q?|$f@Nzv+dubEN)1+Fx&5XtUCp1qN$assLcfZE= z*I(!K@KcUwN7QEvVu;#Q$?tz_z!rU@faIC>w)+ZW39bKQ=*JF$}+{%KzUq@B&~jv$eXSte&Bo zxBJ#X@9d0{S{IebD-o>#lA-wsJ04RNh9<~wvk{t)QIoq19mAvk`Tn9}M_s$x#XB!i z+IVRQCvJMGD_vL8A#v=`_sjg=+zN+X(?}o?h2#)YmaMm_Pc=V}DrBggSDlNCXv6fm zE|t=y)5FQq??s?W&NDiY_B4O_3}#B7#&$a6uk>v4bLLTh6K1!4CQvA$m6`VkaJ)?6 zy)Sctv5GgzRd>=0OvNx&VFHXW$uuh*#73?^7h}G)VfpA2TOVFR`=;ml3}VV}eM5uGhA{FXH$ZU$3L_r);sy zbxsaWdHBUs9{>4MZvBH@s_!22JQM$InrxSxPqwPHQ2z z)}!?~AA;etuvg=S*M~9ubK<;U(5$#~FZ?!wj0%=_w)tlU2WjA<^ylKd(S1dW`=vpu1d0?-OfwX~M}bq~Jdh<_577WZgrXQj%{l5g zL$jvEZ2ohD@;@l_6(6y3JSN}0M!t88x;8Y&C+PePnluVhU%@X4-6*Up|ND^wr1!2< z{=b)3?CGyCEFkexQW_fF5EOaCv@e@eD!btN_%5gAQ)(R!^vMvuo&jpW?cRg1&Hgb-gNBt2EY9mE92k3-7Mc_sTQ~dra74hi&iqnzr8c z%5uahPdMft&j83VOvrtV$FD97dVf@0R09_?sGqtZ#=zWE*3}hL7oT?V{$q|1gng#G z!A&Y^o^Xsl*GgG$Nm!v#{w9^GH-MZ>zRmyR!~d*(B0FcDIwOtPHs=!O=%J>S0e$)KM~k1sXYTvo z+y8yemdD(=y@wIQWHk9o+VpD+y{%Um(?$q@Qywh-lB!WERmQT*H+H{Akxi-XidlWa zqs14_=(1Pb(2B_@*e&+CHo3`mv5zsCi)7W5%In<|gl06SxxIzF z`8sTGLH-Omy@#A0;Dp&x+1F4>sbiAcgyCq$3nv|#1xGYkFdJ~?YFb#c)fo_88KM|5` z9M4z-NonaS(qvrXu207*>y#DS;4qG0*ky-X+-AxaXPoksr=0mvMOi{7hWcFJ>R!3A zbQe~q@z^CQMjI>{AwtO}zrwVaF3_zD?SBlc5DE&eVLSsF1IsBxf}wQZ1Tju`l*1ep zz!n)h1jS&(3b$I*a{K!wWyYIirlXBxYH9=PE34b8Xef}jvGL=!#guDYW5R?v3ywKv z$o6#U=W(RnXtM{?nlp(2t69bhs=%_8tT~z<-q|vvnAv0ZI-J!$DiM0e(!TQ zJM&fh_e7vg0|4Fi_B=3r)^+ZKDlFYmC$wb$cv$N2o%UPnnK#)HYPLMFlc}F)&qOEQXO7Mrs%X z6ATk0OvNzHCye)RvvvD*7AhP*e8}0;2dtVob5&*vXTTZ49ASk}AyhyGlq4%mAX7_a zO*@kzL6l!+GZ>dAHwmc(9FOKB^z(F zDIxL#o`KhNeFe@VH6HF#tQwTImmc9h_aEV+5+wYm=kZ~eg`smv+o`eDisiup<hVjP!bWQjR}a`5 z-KK6<%$s#3!3*sm_4G%I%GS1&U)ckxS6XjG$uVNuXaHAi0wh(2E%4%)A*2P!$xMOO zen$56Nk^mhPvTbvigHpu=BJPUb8b%G;Rm<>E}x(Lg5%YrwKh8XN~s&AsV%FjW?4oF zOwNcMwz*BJ+z2$KlVKci%zX~7l$Se%O3wxq?Oz21<$gLZD{2hFE@K)jb1JUlnSGf# z-c;IV38HeuoFnGs7~bF(it>!3Bt-hAGNqMf57i%HGF(2k!*DArTt4sfsV;Y?o*fNR z2AceT*>>az+ie=yZduL2A)`0mThG{+AcIn4`iHLqW|aJyz7HkrGU40u9^WdaEUP6S z=tr$*`6dOwI~{`q-18~s&jSlIbaOC(y!hPwAAR#Zm)^!2YMU{l25rbhsA|i?WK8pDJpIz!^P2{lF=Pf$SuA+6dY{TFl~r=4ytDO9c8Yy!TQjSVc)EJTR=&-R(Ji*~ zeGs9t6^*Hw*Jm6opYX})`xmZ-LGJQ`<&&G;5h@mYy1>qss4amE(Htv**$!TzmWne< zmR>;QL`jOl$oJTmA0f@>EclN&DgP3konosT_Fu=mvyFK=CtDuTR84F3s$p{pbUmh1 z<-bG0){|lxd)(yfe3QE%r+lOzFk?nT0~#!%!-fu`!mgU@LXl68!j7b&MB+c$=)r5+ z%lI~kfRxs{y<-udU_MQ+Mc?_g=dKKWGCjvd0m!gqR4frnEDM}caX9p97fpuIji0fn z;d|!4N2PQdQc>2IZ1lVj*Vl!%?{QTqM*x(#@sEkk+?U+a9r*wK4W<6LY#+G&a z(%+KZ*^Kvw#X_mLDfF{1=ucO9zZKefLR-Tai}M%{UjKFSuF%bW9)tz`5XqZhy)V+a zdfuDee)sP-o@v?P8sFk~xy3u&=VNC4V~#lRJ)E?JTNKPWrL43g5?d4m`Bh>dpnimE z8gg>yT`n#cn09)Vt^{ev%CVO#oB@CP1op5a5 zO%|56O6%D6xQo_nyLjf-=gRsuHD!;t_#W4Iji)?h#ZQ@WhN2V{giMp&xoUhV-F+{F zGa#75#FgF9U?d~_3v0OBp9D9_UCOP0K$YJ{Xb^2YIu?q_7WvL~n(aMwB$!+K$nF#L z{*2j2AFzCEu;m%{a1J&^Q3x!i#|mo^0a8PNA!w|X#cyA-r;w|;bDCZ zP!}3c371RR?G!;Vw!|JkVfNAcO!u!dn$0;oJ>>YOe?s-qFJX4Vno?nnMA}5rTox|# z{#V7shQ0@H+J0=G^xS|M@6>4?4;u?%UnLKyolEu4}Hloz(JSj$5!PfpB*KgkB zNxopZ+~E#)xxp=RM!3_sX~*luDDpV^UC(cmEWF;j*Yj&soKZz!xzb%0-m-xu3D+;^ zz}k+~WM#^L5YOZE)`ms9^*b6hCqx}nD#jRYu;(bAvSGR{+`f5-@hEsCim&*heg9SA z);>l%uZ@DLWx1TQS}wdm+wH6FQ_&ztR9k~L0aS8i_YRY<|1Mi^{}yEh)klAUUCd#5 zhU0Z=j1O_02H%WhxT%d!FlR(SW30en8nAwrpEn`_E}oZo5=FjdU3}ax_dH1Vjpxb5 z8AiCYQwpmki_bpi_@{q`k(_F>#o?#-Ir;OS(%gRlRpo~&^xJQ)b_}~ba5_4}qcpHz zlJ1;8O5*6-p1kO*heY|W(R4eFPKW>9!kY5mc%udYzMUT}iyLE;(=UX^S-mNwq70)!KR7OX1W21I7YZflEB>w zK<9)sbLYblH*#6H%=)OX+~Wy?aEE=yj5uS?Df7YdLhkk^x%OfZWO~D3fz{~|+0I^a zH8E0CA1ZpF)c)BBE~NUXW9Zd=XU2+S76W&MlLx=#hd=zCK*hvX3!X-CxZYr{U;y!I zz#z;i`7`|`d1<)DHs6(RQH(~Mm1q21KO8jn__AA_8tfEgZ33UwISSd}dUmmb|Hbi5 z(>gr4I&)8J)UQxs?9!bSTxX9xcF84gYx;+Op^Sg)2H(D0QjBhMR^8zK;R#K%;{Wo8 zA8^V6|K{I5<^S|A*BE_B);J~U8ZX~#`lFL=el|NHGTK3AnKMRsHh>TMP&JO9JzJcT zXJa3kz+uJhan8Y6&1lbYuz>+gbv?s;pkPc+*^Ds7d)z-fxRl|>#h{(Fmk|vD8uS&M zRWYSR+J-(({Vx|kakoBqAOHN$Z*j6b1GcXNEijXF5?)@{FVEh_`lr zKv89E<$G)uJ5*Y7SU%y&;yw%O@O|oxc@gN^mrJyb5l}8+Rw7m6nb`_if+{p9Yph=u z&M#J}u>uXZ5WYu|?T|PB6j2L@2gs+-(7iiweH;1uO_)EyJX&I##xWEv!?;P9nKHNm zl^Tq0Q*a$Y$aUm-BRf#eCP-P)Vdj6B0Ei-_HYoktgZ(zA*UoQEd@=|;Uxh$72LMReNToM5pHI}jD@*tSfEt? z_zvT~Ny!whbVnd!lW065e!g6Gs5&VteXpxVAI7u&dIZ~|wwI21D+xDT8rKcrIbaROr48^jp5sx$Rz0K&?&h**sEW)4;5&TpVv9Z{X#N3}+)C8+oIr$)q}>OFU8&{jYh zjAKHyl`y_F>%!c>hKu1m`eS%kuV2F(NCpA@;3G+~$v#p?o4L@*4WcE@>0{15{0r*k zDcQB_tmY>y?|%f(zJO*4G(PsXCVxY1e>rPGlU=@kZ|KTqLFMz)NGX2F$;>t;+eXM} znk9{$(M|7h9t?@ZhUupGtnJ+!Dre~WMSa~gUM~~6DPhv<{co42ep4pjQ$XTq6IG{N zck@v*6pts3TlBJFz3tNKzEr)Dw1CLM|X zi<}?*;6478fAwGB7e9NSkAC$l&YnGEM9xSu3K6CvY-`4rsf7`vP1wWnbrU9je6} z0O)z#X5hXd&_afsoDum%+1)MJuBPOx{d>;^{R<2)1eH6A9kiaK z6d!5MC^QxI<3}9)dBw;_~ZenUQvA zYt@3!{q7Xe8Nz~UFcf}(e!ri$1#V8yH)43gF&1Ty33s_gNyS4hhckxSb`dRd8E&lq zT)#%eQl1>N+hm)uk51Zu&MBK0l!NO1i^0)K%ST^Oy!Ixkp_x19T`SGrbp)6)LQ$4& z=JA&crakBTtz2KP6_y3ZJkYBCf3}OtZk9(&s2J-bS!_zav&F#9Y#~W<0*Mv&OyxhlRH<)B&UX`PiqsUW(07LFa zy-tik&Vyi%l2QbL&IwBXtHOVI_NM^+`RAVi@Xu}kh|$Eby*2)8gMdrGvN^$ExU>B_ ze|Y~Nv(g$}DT~@-Fx;BF#oPHcax-F4pYd@188dsfCR2MEkn36FEV>spVvT1o1A7xi z6-rLbl9)U~l$(dSavs3yeFYbOn zVrv2smp-D?&b?r;Z_)S8CC{PGW4b#4njBxU{Z9P~b*%d=B($*H+=Sm4C4HmqQnR~MKh7OT^ zO!r4ra(8>N-k-pLhW4bX62jYFvNo_g6ERU|w`4xN>?x=Gl3(yChb(x+f*FMmw<`pz zLW^MAlEMfI-MP|a{9-$U5<0{ikxo!cZCjXnt~;f(E3?7*?oDvMTo#vBBbL$?|8;vC zO*|Y}Xa%6Ly`eXuzcpQt?%3-Tm&F9ri^H?sRZ1oU!0DKII9g zEIDMwf}E_yxDa+xz&qV!8eO4izpY`eLY#$;KUXqdCcZCsDYyRHl*Ma)e+MPKe^V=} z<7b@yYJof+VNFGIb_&O5(3GG-QQ9~moLVF#O>T45YWy7pm}|=a#853f=QR$-2*qTN zVmf7&%~>@kP&U5fwo|r%KQLSx2(1OJ!#WG$wVL4M1B_v`g_-VxG3fFPyEsHOU7P*U z?(grfnkD;nhe$I$|ND(UBcmYqV$p?PV+yJ@4H;+!b_tcGezxH3hdG)s(D zNK=D#9!NT*{O{!Cy$ty|M16&Khj9KyaNe3bZ>?Sg0hi_E`99;(>nJ&^)l(Wuot@eabLzZn(LraW5i#V9nJ^-lAtKQ%!@!jl z=<6`F?l-Nd^Vk27sZIa4O^SYgOcLH3!dGUkEnU%4EFqWyC@!K@&K#N*byZ{Q3TzG3 zpp`$@hrP$XOn4c)uFK;@O3v|&Vb*iRj1XfG^<$x4ZeazxT2P%lqdI;_Q`PAFA=Jm9 z&Jfp%rA>FEKFy(Z_1R#oDN5jkv<>MeSoN`|1aAa@d)^WkyvE*yUZnFJaBi31i_e2! zDUqS>LHAm;HPN<+O?yv;*1o4LM+LDJXoCjYmI{`0%Co1G_kQNet!t$5Ne{F^r39@# zJ?zp_=q4H8jSKYo zS8kt!awX*qmwA!$KkzE)XLv4h-GUI(Pb)&Uz0LL;?^4!NR`tg;s}iO5>mnmFIVKwe zIZb2T8dh;Ur5Gf0hQZBj#o4_F$dfZx%LY3;gKFjKZk7A)Om+=;9?yTFkP+|XCA;=l zWZD(s51r;0K{^MU-nD8uSl(y1xP>)S&g#R#a-NG~U*EpZ1y&mbA(H|PiuSa9lKLeM zH$t&a@yCm->VeW*BLzcYM$}qGBZ(L6cPJv0f>AbMlJ9uKtbQ9BYFn|WPB>bgVO6oJ zG>!Ek{(l8^!8dRIm^Zhs^T*{MbNG_{GB?3h%68%7OCQeNDPmU}6m%in`IoK!TzEy+ zgp4gR7Su_2>InTSn+zc$B{K|;)4g0jk6Ciek^;k9+yaEh9BdrJO>oh^=*zjz!z)7@ zE!d{&;R(0c;e-XJq((>Qw;&yf%NUpd80%B=NYd6QX2hyf7B0M@$B3K^p+c_^l|nWq zS9Yhg`xp9f*|xjqm4}@0u>1*mDZIlS{^sb%DDb#^$VWUJT!$|koHxB$TeCr~SkbWZ zEgAX902XJ&@l}Ls?}Nn|cYy25#2W)Bu8mU)wi$7QYm69STEkkW|EaX%lo>zgv*(IN zV@$?46Glc`gIGneg9g!EXz4`g4=VuM9(QBDIkg`NI*Y2_*vNi3ZQv*6n zx&;S(%AtJj->Ok{#B++ehs4h3Ltl8`W#3J2$lW-ow}$dhwuJgRZ_xe@T@BsuG%h7P zE;1~59*Fiow4YtS_AuJradUGXn2-=1z;#0q4XebZ74WZ+hMc1ibU#OL3eccWYs@i7 z6SMq;pmkvc@JS!kqdD3d!xQOTolCAIy^EhA(1~khhERBP*|a6b=Z9BPB9ch{zXCmG!m9XdUtYemgy*KhVn#g#E7R zc%|Om>yali3M??!V@~)Jl#HB)f|8t~?QQT0?~1pFp*sWVU$C%qMoJBhw}?)SQo`E~ zDaWw?89BRTT*F|fImL2Hmn=@lERH~!>$H76aUZn(6AV+|sxxYqr1Ks)5i8vqhHF}f zwukLprFTO*1c#IRZ-%*Aa>jyRf;z*k43}H5%Vx#(>KKW1b)};fO*rCRCn&Qtl$5mI z4K3bIy=Gpc-1-NU#a&R_;+izPx~ig8jXjv*jLdy{0RQPi@Ox!_;@z*>5F!|$Ls0;F zf8ssOQlkN{yv>Ud`!{Yg-rnWF9Q>Q5NkCXwW4{!!~o zH@z9q&UaPyN+RRru2fLXp*#ffVUuy@Nk+ZlowYFv0Dv)m8Tqv-UMPKOkN8y80V(Ej zzt+!+ZvQU=)BAj05Q2qFmK&^&KwQ{U2Ny|r`*WG}tBraDZtlWanwGbbjPI2{bp5>d zz6`j^*oXal-a9F~@08?4K4m<;gSBIpi>FjJX0Nw{G{>g$Urc}$X#{Wfs-_J=E`X>v z47HZ>=n+pp{wY;cQJ+1*Xo(SvSZ@GeEI9?Xtog~G{1w0W*{{&jVrLDzX2O;j#wyN? zP=%>vOjQ_(k5i?-m$hYebjZ=O2h2^u);r&4^n>4nVw?IGKjHMl0~U*CEV0bRFcU|m zR7Pk7)cVsmA$>$~hCtR*TQ9(|mXp(C9^C(er%w)OmKhU9Y)S5(hmMDxBNK|JL1vl zW6D)HpDm(Y?~dO*2xDO#t5Pf_Vg)> zPyUo(cgGv*#PHuv(Qg77mt~NTovCVFLlcZ{Bke}p zW=Pjz_jC@Q$#VkH^54^~qFxBwJ0C)NiEvI2EVYd%LLlhd2b`gg73(ZuYU6CHLfhJ~ z{@$C=hn4Shor<9$LnY8D8Dzn`+;J*KEg}XZ$@%Y76*-bJ@cOBNYyctR@5l{wIVGI2 zMmtU>DZ;pr_!_hwnrGeE zl6l!t2*(e$UQy0ZshS3D0$zwbw8?UcdW_Sf8Dcx&D+1H{Lf{?*Yb)z`yrV=9T?BrabtX! zqw>+3lKpuose~=N`k@iZkl;$=jQTRklV|{5qM?@$273|3`n+J(Vkuo(0KugNxS%q@ zMGq*lDbr%xU+u|=w4t&q7S$<>`fPJQ6;zeRI>mokHZ04ArMe`G3+8kTjQ4n* zzcc+^tTueG{E&w}BE<7R2+^MrU8f*Q9~@39U%Vbm!LQC|K^9gmcq)=aXj>K4(QVhII1t z2IU50PJD#Y;IP=27Y8G%pMLu1ym#~KXkGcH_31xlS{Sy95vmoa{}we4cmHfwc$S>|N_Xz?@n z%zgg{*ZzQ$wu>X&UzOo^>iOAS8EG5h+Uxp_ z_k*#zdriyCOY8ZcgHQV)iASCG>IveOzPJBS5BekJN^s%(r4xA~J+>2XX&|Iy2(c5~ zXapmX6%8jeR5%;BvCmTnF&Dcf&36@gu-?kxKOVk^8r=b^Z76w&hEK7*;%!Fp1^|`{ z7~^a&Zvi>ZZgxd5un>k=rt`3Lzuk_ta%D{@*g}1VIm^P|%aga)XQ?lu>hFrUYQl3V zOPkJ>@#`uoVO(vQZ(l{t9HsWATVp~l)oxj~tK(i9m9%B+IMFdLB_Sd}D#BM3k=LoF z{}N^KCavN=QOvt%-1&xDuz}!IA9*A^?|kx{lD~1DP`(_OTPhI<4=VrFNt9I`Zj(T& zs;g6k#x|@Lr!?A7FBVYSFp&g_v<9WE;OY=Tj5k=aLHX~E3~(M>=olkgOn2U4|Ml;) zGz*qzk08&W@_SJYYP{k&gnAr=OHdY_XI~avrQTmxNKcbZswUq@O@yjyK!VbtHxezn zS9fk&@$=V!1!F2C6DPF@sUw17S^;&Go!DkQ>b9nB9_mhCc%C+@%dnhpa?}>c<~be` zti1>XFVBXiIb&Hq1s&5gGrH#yTug~2=erb$OvthVYXxgps4h`&1klC3FC=!pLi=7e zoU?8R@Aqkfp?(jY(TZA6)rq4E!u43{W%~a7xFbY9YolAWGngf9aDw~{r8;{`H9yAE zAkB(QDl)as*v2ahMFguE$EPa}PG?NW*_R2qacq1hx$`kGhD?RAC?kYS-Tqd@NA75_ zT0uT$a_uJBo9{xgP4)CX^ZQfI7S8kkOkif5=f6!G9Y#>WiXcX4d}#1m{dsDYXHTE< z!TTR@_PAtJ>~WGGaAuFV&Mvu*u$uJ*gqNG&%`ik=_G#i2QsYYPJ-?~^*rt>Z>zkim z9X9QaAy4P@SKw)KPbXGXR5W?XVfBPhKmL$UPCsV3a0YuWAY@{2y^)`IG3cLIS1EP# zIQHizmKeWZj;SB~oaXRz5YXik>IKFa z)JDFQ5cNnbR(ymd$v_LAq9a6k^4v<1Bhy{fHZ-$SXd}cqx-oM9=a1idPc5jyWFto7 z9S}oRuCVoj;dSnRuSFcV4D|W8P`-7vrS_FP?w+9jzDcUXZZi!F-L6l;~LT%b)5+1uWmK^Y(Dn4v*E zZ=iMknYPJ!@72`v-}J7fzx&4GUSS{3As>~gJe$*0AES1REuE1|*ErJ9rT`E_H`+k- zsdAaod z%Fe0ECD%r;F{_SPwYgTguth^~-YF*pgQCr6kdw7`RYunD!w?PNc~TO*GD=W!vKJ8w zGbS?yBQs%?O+C&`A2wKRsG22<`iw<={9LoCs#vQujZ#&XRaLXB8$&3pD|zK4kZ;2INaE()OEq&6t~-~E2P5NvY_M) z9|ffcZ|Qp6r4)yJeE)sG8B>6hdQB<3q|nhG&og>M>*J&Q@AIP{{9at$66p(3P_eD4 zMt@C(WDkP#YFA)+NrRbJJ^LjMzvK&kx%h$!Ip5|TzPtThR;wlN*T3Q!v)*`!r-+B- z)Y^trf7#|hRZ?a_=3QT3zA=EorRliIo)6PsbmRw(Hmq3jj6*)rM;qs7Y z{(pXc#{b}VuDf(WdU;ckbf!{y{6G10+2IBp^BG>iQI{o2ACC zT)iSRO-+zZiMTWY+d1sCw7ob|2E`alksHM1s46BisFwT(pFV8sd!DgO&z0`!65P`+ z?x#C-1Pr@^oOoT_gv(WfBxFPXmS?xz+cQ&YHYd0YFHvskg5Iv zaZFo4p@BiO2)P$lC`KVz47UO@F(?^YSIE;t^bp9s8mGw7+B4Yd!>LR3vUj?RMCs{6 z;;Q7B-5o}^c2Uz{50B7;GqAR8zf;VmzNN0mL!@|oCbBq#%zzMu)wUmLp@Cw%yHaP!0!hPmL(pr(hp9I|n#rZ9@pIKO|lbp-;Q2^3)$bj98b2 z?Z$^tFUJwAM9=Q@-Ox%+u4qzHS45Oc4r{8a(?HJQ7kRYp5lve>LfG zx8~R`+j$>C+=wKNLGWN`-*g0VEIIhwhqpp>2q*R&Q{YHyC(yH<9{RnbVLTytB=iyC z5SbXqEtH#@fP^{rN@1LpZN|jo!6o?gD3%};3uT1A3rNC5u4i#x9x^zgTw$_>FOH7d@)8!isk8+FLzl@|2}2$mRHa_Wxk-T@*WiR1^`Aa(fG(I@hyqc zJyGn7SF)=5vckLPDgVQuDoLNgCt;?p&NzAcF&Kkg9zs(k@3|e|JgwB%5eT2Kr)>K> z4u!XqZ7j{~gyqwRtYl7odgKfSQgimT{K~&Bkcxc&S%FQ$LBV-@jZm3_W}r3T!Waj9 z(2hnD^VdyZvi>CCA78G7Xg$GDPjMb)feF&6aOps@R{LAHz0rrLN{iIbre`mL^8~5S zQ(Rh>rEX?4iy9&G0$86bu7!BEo`20CGG;uw&1iI!va~E$&wwWcJ7#x6lto(|93QoFeS<&Hw2d;{eKE-ZKx z=ryIq%OF#3=zjn;(+ckQ#p*~$XgAWvE zd^+;w)pW=G<(!rM5sQ@Hivi>a*P>6zJ=Hv)tUG53HZkgDpi2om*Wg})z+XPu%Ml$G=LU*Q!03mQr` zD^V@V$2{iqga3qY^A`W|t$)DBPv7Tfd@`u=x~y`)A4B9tp+-6Nh5%CvT<-3=BdL59 zh5#96ZHmHgC)o-~6`g~{l9~`!Tyds}zbak_9`TF}&5_%=3iaH7{D2&at+xx4q@+5hKwI(x+3*RQcX*?OsM`ezw(W7?Df zu;k(Lr__y7S;a8s-JNf9ZE~BkS#eZ8;oLl;uMsmReJSBEx85MR4cU6JjKn-|qfY2V(wl@j}+=%5gx3AIs zog3(#73QZ0fRCwnEd4C3r8mzZS&xPijInDRS za3n!9!Ejk6pzBFijTM^g#3@n_|!CFbGt8wAZQMuh0@p^#oIT%~3QJAN z6aT~vH_l;hFNYh}=P{0uvtyl8bBMIY5EGn1mW$@FDFMXAwd=sQVC)daAY$2czCsxM zc+Vw72&FltM}Iwb;W8MnTW5MD2%~)K`uVnQ?o>t)+Jj?pZfAIzc;`?s^8 z(4f^E$~kD==G=0gK{k$q4-;fWp*~^$Z3UOs|q?$aD7Xi$2->~rU35u0C) z!0_e5kklXrzlJr#9!N36VrPIJz&B#zn4hsVfAr3hISw9tE`qSnBSz zY>D8*y{1?*IWyI-u?}n!QAzLnn5YDks#^;LU3h@0FCAPd*Ry&s^~}MB~UH5H-{-g%D@8L4A60#TdWFG*GH;4;huU zdW;ChFS*7lGT!3uJKy2^Z+(x^lPA>g|2by4pul?ZtBbqigo?@><*;6G`o)KwG{VDt z#Dk|_FkhTe8AD0#Lt8pSH#E?ST_ZrF>LLMPP$Mpim&Xm6$=KeSu(Q9*(N4wj^#gwK zv%lim{l~n<+uWYsVUlgRqm-tl`=1}ezKXv(2CxD3Y22~mlbm;JmH5%-I!JJsf7pi5 zoNcyNb5E8Yr`@g?0l^{JEYX9mwGD|&q}z2oX(b05Fa_pVz8C?P@&p-re1d#L&O8?DQYPntPJ@PIB6zA0`RCP3fs*|>08LXlXjTo=o-zH1?-0&<`E%S2B zBtPI-_fCCZA{io321AAOkYVa+62*J`yD_szr+?JMjUdyR=)5U`nlQmf?nj}!+2UBm8id@#YI&B zr+nS?Mj!K*Jha=M*a>S9EJ}6sm~87(`#1|tR?GH{7vSSxF0CVmCMAV4N>QBB@M%YU z2w}|A9$wLLoKC_2h%t}!4a^uWv%#0m7und@?%kd%y+ zt6XM-4Fp4QD79D$opa2XU-Pj~0rhmj8BKWJ6k)^5Ym4am`VbkPih4)C7?!MISG?xQ zEQWa*M+sL#8l?oo3tXn6Vvq5uZA`>DUCidcVla3alU!joe?($N6y<@7DBh9>X-meX zUiNBy^dzNn4zEC#UgH1#v$uVm;Gi>d%J#$?Rk#GxS{qaqp8~G5Xr1;09Nx+NDG{P# zoaKy(mHah|!72G?lpHZ%`%L(chkx(BeBwU-c>9}VBg4iXSrrXP?~U~S3^o3Cd+){`vko` zMk-s6l2a+0x()H_Q7@2o;W4{H_Fxg}+d$?~^O%Z5EMpdxlwpO&YijkJtXh4I=U)(5 z`Y_}xM2|wFP7Kz{!B0I7!QO6h^K5%f6*LA1!DuH|Y%dq=G<8YObN%fOHAX9jK+=V~ zF1WhX``(GB8)a%tdN-y>u`n*E?b|*u%NU_m&_}cgaZt)&MA77QHtdqHNyP~{4=6c| z+HRNBecHRb5awC^QM>2YK#C<_z)R=pd$%pkN?2roV$5Xgb+DKS!+ncu3xcC|&z=;| z#VRD^7RAP&k!P1dOxm{6STqxslxB?T=&gOPy`_8Yle4FCo z+c1sBHbezL{Cg9G5~C%;5#?-5H4{GzC5@+Z-Z?Xu&Ba-nf@e?gezu__h+eoC!oOx1 zv%_fkJi-QACFIq?iszzg>#NoW0MJ_Qt7S09a>|kr;l*JU7o=XqrSfSiG|phAW{k99 znCfE94sM?{eJOI5t%+wLe(TbTp)HZI&H@D*m+3Q(i|L^XbWT|w0eciBSREri%Fe~? zh9||7F~n!+I!`w2UWj%hBp~90m?&KZ_vvkjuf(*6W0`}oplXQ=aV$}pkbQo6KGM^m zZm)Dl#w%$(^K20+5$s@_WaBDohUk2T&Btgp11U-Cwz~bN#^o6oi{E#_Q=mkoa{JEn zUq-ECuv6j6&Mwz>uVN1;Oh`#_Nt*`7Uc4jvw(zgt0BKxYPq7 zPL!3vZTWSmO;24!X{jl?VD4*3Q7arBj=6j1K0DJXMP(>23HM&Q%|BKD$X0fVS8lz+ z)zJ=EZ`PuIO=(Q;okrbA!((Y1chvVi&D<;(C4^5?R|v#}lXrSPl-3c<;lH8EmDz{Mrkc&6N4koLN5M;r=1> zLV(n#TdRnpYhCnd+jr8O=N*d}b6rCPr=ZkoMm2pzF)zsX?m1<=2+ne*tmz&Xy+#ok zl4YBWhSyQup_m!e9y)p|aYmJDMr4;>WO)7al!cN%cn3S*2c58p6K%Y}PU+oQK`8PW zj~{#j2>JY&+CaLF60v;bL!7Vn{fk@)XY8L>plX>zc?{Kzw!!zhXU%!Rt**)Bko<0e zt#YbrMnku(9@8e8Sq#g@GhK4M3up2EU*wNkiuZaA`Y3N2!X6tcH5hM5Vvz_5271lY zHtN&t`LqJ_NzVQ!4^cUw%3X>xcMga{j*&;d_~#l!fY6?#{_Z^H2E3A#T(TdKvG+u3 znRO|YRnS%LD^S`whxtP;51(UNx*YUY?UTLhEX#b&>Pjt0Bq8`9wiX#oPM8DO81gxukJ1C2KG%`^ zL4Z@ZmN4Kt(-fVV1i5yg1={6{H4TT_piC(| zr)O&A@cf*n0Pf^)3jXf;by^~OrV#xWc+8Z4v_Hp;;RZW=Z}?3H*^qlDcX^ACK9w{T zn`B()5|?F{i~-Hc5OSS!%rOsm#EjBK26zUF{&gTWPKmw7U6SDCnAX4oMhbjnoBUWj z7?loR=INOC=1z7QbUNE?v4P=39@Xu;#ufuI6w5x78YjhYG@Vh|EfQ0Z=kEi`?#}m6 z%{V&x5v84b`EA_3uXM=S(va$#*U+y$2l+MR7YW(k`*1Kvu;{Qrhet4fh#c&K zq;T*M^bpdV+M8@ML%;Dn_RqeI{>gRhCyyzAIm5iQhq*JO&POO=?Zt}6cuYcw_}K2M z@!D!o{1nR^AqOU?40K_-3sU` zEaJ2jZ4qR%-h)uxdBC^>ZQ#de&Z5#dUVqKFEqd9-2fDVdF4ndvT50Y!cZ@$KZKp)I z66#*cs!KD{%M=p*zG4j)XnNW9$PqGx0nX|#Cq#`%$$-q4nGlro(t7?B5UJnd+N8CK zM?9i}V)XrP$^MD;)LL_e>!X5SE66w(!^b8)^Y&5@Jx5Unrm?xt>-HAuYYxP zF;aJ)qSYoZP>lYVdG-oU`5zgisrtOGi^_lJzNiF$fabnG&w|H4&M-jYQ0r99_wJ{E zF9?!tF}(UJ+t0s7va`+Pt0b{ypq2W9maO4eQUID)}G$k^FIchwjcd2662PQEnV1RThec& z)v43d9~#!2_f!(^!4;fE8@eS3MV$aw#0lJDv7i7d@j8!leRg(ypl5<7?!r=8MZc`N z9zVMdEMlVOvameWMc>&L3+DUJy|`bhIeGDjyevRBNKA#b8P3vEPw}ZDNQR7_`#hV^zd)H6jBkHLb@UMNe(|S^l>7SIO{f&#)ArBk znLtCuK2NbRq9#OO=d(v4Jre&-51$@^_$4%HBKJhXMX!_^yD@|oKFyME8|Al zh&!1r8KnvdmefZs3T2H7BMhUeVE*7Xdxc@JcR*H5$Q-kP#R-Y$C}WgkD#kt@(1ba& z@|ZbL7_ic$6DGpCYi~=Bpl91F#P)E6Q%pxnDh;bV%-1T24a=dsGPOg8HEkDy246ki5fv|d@_iK(^;?=HSQ`LH zUG;J*q#ydRQkzP4fq4S&M;#v8&AsuqRTd*~G@fv`e8k4dfSd2$Ao(z%EG=aL4G+h9+kcQ0%2S#Zl~lVd=jDkoHBYhO) zRm%UwwB}6`nJ@{)w0C8S$rIH`dKnf7!qLqkG z_1N|NkN^7Wtd;*2m-Ic1-o+y43T3|zxZZ{SEd%eh-=}QRlD*j-w$jV&4z6>UKfLfZ zJ}G!Af>FA~M!G|w@tb2zQE~j-v^e5;zDK3~N}F{s@49X3R#Iw?5kqPQ&QKwY_ws|l z)0V!7mj$@Aw}LT3T0)j26qThYExA{m<|y-8`VvbUmcy8w|DOMZOOHqV?$)>YTJ}5q z_~1v}=lC2WaIw%R(%c};C`l1^7<%Pg;k`}QQz6Ah15XQr(rrM(kOBD`VeJzP+YCBN z!v;T>R2-8tzJT@}Gv}E5-gEdGDTe#(_bLlxSZ)LW-+A$?U9O}C#YOaLgVfS!?UV(l zbQ^oQbAn+&;-$39qXKkcymz1NTdy@EuQ(%P>sHmq*5$S8Sq8DE_{gUSaC@-9F~NgB zVNr@4>abMIo~R}LV1fG_bASG0%v^YZ%lu&T_d(#}@rS&}y$e&f4N1Am7T38(DvddV z<8UhGI^zM4`A8qFt_VoI@)c+q`h40DdyN}lBl2o5>cqBMmo4$pQ9H0mdA0Y(vJ<;% z(ZC5O%-EzcXtO8}y{6azyNtNP765Z{_L%T0BgT2kgX4@_mzq^KoBSgRT)p-`adhxA z^5Ow%y`ySK9jtgq81=i?(dkLLLz-^#=ADxN{fB?Q);NYe;*{;i8w@A~_QKZWS;4s& zrEEk>{+M4aDW9sMe_i;8$uHoe=Jy|Le1#j=b`gP%f2{@qLR$uN!O&N8W*on9$#0>P z>SInOACpQ|c|IX*w)kjsOQL(&Ip6EBL4((IEa2(ZrC=>OnV@?WnmVDBWC^y=S}@X9 z-?!iB2t)(6LXVEHvk9Ul%yXn_k;1L-T~&4{5q|fHa3%U4Nynmk8XxRB^m3?Gltr`_ zdk;5l>qCFb1fcG^6Ct+ybMXr)Zkf^$r9qWv>QI`39Vq21LiyVUePIZjSFm3jQvAt2 za{C_X>nBJqkh-iw>>a~z9yuY+okwVKf@WUDX$1Y;km~zavERN4SFfXqq5SqGP9`-5N#oYd+-ojWQNqwr7Kfnf zB$VXL$O)N1!)ggJCa7y^q6WmG%EmmQyMr2|jwTd(3O?A9P}cqJj%wFaXHopq-B+te z;Tlv2oF?+o`dfpOn$c?ubh`V!tym6z{;|J$@GNWs#EG}-b1Kw=ia8|*2;j2v zRy0cgvkBl^QXg8=J}QWpzp>uO9pm53Uw zJz+MxhuV~?JO<_+s->TXXs(Ad(Bt%&jH#(OCq!0b5HW~ARr$7P;)TrW1j}Lx-nOyw z71VziC;zoRYK4f8THM{U%V?L2qG@7WqRpj%e8d?&IOoc)$(rdr-_UzYrI#J5z~wGI zL5yWMNJz{Ec>!giC_%|{9_4@h&c5%bjqkF$+AUf5B?e=hCvIgeGTh<%*M66mzxOBX z?>*-Izy1GE9X%H46g3F1RsKtn2#nY||)a4BcFc8=jVK|>Lz54;P zyx_)Y$mVuJnk!}D1TW59(}n&&rsSBCF%>hEQk+ns6ldjM;$kSc_!FMG30p!I``d7A zl?x{=30f)pkB&IlKOhyufD9vsnK;9PGEF#qEM%jCGA}5n6VQ1*gP~^2qPb>w*4?#5 z1CH2?u+5RS!`%kjI9|WusYX22gCBaRt#x4;7N&K5aZfbsI{b3nmbF4zI)lRdcON;! z8%;q|s>))k#L=JXywJ|t-p>X|X9n7H>L5hg!lwe6;liRP-agKPb*VtyV)i_qDq7{_ z^COC)!fJ|Eb1)%QpmlW! z8S?*G!lFFGK{zYh`&zYtBBZWTPUqs5zjtv2R*h+Bn~&NeevJeV_6r@#b(R0oOM8|7 z&{ph+2v86rG%eC1;+$#xJxk)FfjAnjQXjUTAj@z{`TBWD>hIz``9+(kPfqylX+sHk ztMUGiL;N?NQG@`=cqys4r0r4gl4i-=E^BZ3$~N<(6ulZf-0Hp~fLjq8Q+ zKV-(=j{lM8+2PxlzC&RPesug}4xfs8(m|ji9W0K##rizZ&B&I(jEWQ&K0Kuz&UqbJ zXFQ(NNFb*ory{{{jV+wCw{aDTxt$65Qyu3%sIYwEy@#J?m*=^{2@@X0?xr1x$1NV8 zL6$Ksi^gcw^SEk#l*q$9l0dhh-m7-KU0Pw8dir%pfAPu!DCrAHZj3}F1Um!I@4v*djoq5_veG{F5q%lJVgBQ7e z&Rybc5s5&k~A%T^RLx@k+e4_JZ-TNluRh@hsqn z(_h!=0{-Ii?{hTW=eZlZY!7yy(i@*11^6@re~8c+RrWyY4FXcfECog_7G=b2dEX!e zbg)YN;cE~;D`Ylxp_Q+0!qsieD8W7+!@MMT%`C6WxE@ssvk5x$o@n7-haroVOnu_g zuGlxmM(rMjLq6OSFM#mA#WoHpy-aDcC{pacry1w&XvcMgzo&gL^u05NAleh`z*0R| zV6T;6EL0Vml-QdE)y)Dk%t`VL-M)%mdLGPGILw@W%WPpUU54!fIDxFfUMr}s%~74f zJcm-zD~jG!bVFd$9)oV;1h*rA z8@NaW$IO_wEKp;SrnKr@TrtbUP|b6V$6V9*_|J5n4ST5jjxHPdB+zDtnykD1d$(-@ z)7T-#!lC6YTAYdY_r88L;}e49dYeaozog<27g+&>f+hk*82z)e=}qL1zTR}rr7XtV z4=WkYt9#-N60~m5IuQZZZ(-b;<=4B|WL@FUnL(bX7=6D{{?o7gU-Z(C75jbnY$Rxp zu665L_#N5+^%|-ww5+Hqe4fJ!7s9pz8_u-m-C7G*Eo#S1_kY8Dc7Qd4ojrhJ>dPgV zWQVQGpJU_Ji;Pb`;b?Mz&W~&2K1x*Jce&3ETDPyeHa-i&=YI`wo^g}TXN-3hD6!R; zs+v0iHU*ANFst`Z9m_gC>jK^n?`zttfR)54#EoK2f@T{?wvEX~PPjTdaXFB+Y^tb2 zDE82n1dQ?di!17�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%0A?e?gw@a`&gNGkN2O*poR)V%?cpE5{ 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 bam8IEbEpl7Q#e!kekDSP{JgOCe~14!4<$L| literal 0 HcmV?d00001 From f781541f426de3eb3c3295cb437865e16423cdff Mon Sep 17 00:00:00 2001 From: jilfranco-unity Date: Fri, 10 Feb 2023 16:25:02 -0500 Subject: [PATCH 43/55] fixed typo in readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 35a36ebab..a2c4bed6d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -![Banner](resources/readme-banner.png) +![Banner](Resources/readme-banner.png) # Netcode for GameObjects Bitesize Samples |Unity Version|Netcode Version|Latest Release| From 9c351282cabaaebee19ee3fc3c3f21dae886b3c4 Mon Sep 17 00:00:00 2001 From: jilfranco-unity Date: Fri, 10 Feb 2023 16:28:52 -0500 Subject: [PATCH 44/55] added badges to all bitesize sample readmes --- Basic/2DSpaceShooter/README.md | 6 +++++- Basic/ClientDriven/README.md | 4 ++++ Basic/Invaders/README.md | 5 +++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/Basic/2DSpaceShooter/README.md b/Basic/2DSpaceShooter/README.md index 277278e63..dc1239b16 100644 --- a/Basic/2DSpaceShooter/README.md +++ b/Basic/2DSpaceShooter/README.md @@ -11,4 +11,8 @@ This sample shows you: - How to pool network objects such as bullets and asteroids to improve performance ## Future Work -- Add a way to assign a player name to each player. \ No newline at end of file +- Add a way to assign a player name to each player. + +[![Documentation](https://img.shields.io/badge/Unity-bitesize--docs-57b9d3.svg?logo=unity&color=2196F3)](https://docs-multiplayer.unity3d.com/netcode/current/learn/bitesize/bitesize-introduction) +[![Forums](https://img.shields.io/badge/Unity-multiplayer--forum-57b9d3.svg?logo=unity&color=2196F3)](https://forum.unity.com/forums/multiplayer.26/) +[![Discord](https://img.shields.io/discord/449263083769036810.svg?label=discord&logo=discord&color=5865F2)](https://discord.gg/FM8SE9E) \ No newline at end of file diff --git a/Basic/ClientDriven/README.md b/Basic/ClientDriven/README.md index 9f083356a..f588ce49a 100644 --- a/Basic/ClientDriven/README.md +++ b/Basic/ClientDriven/README.md @@ -7,3 +7,7 @@ This is a sample project oriented to Client Driven behaviour using Netcode for G Making movements feel responsive while staying consistent over multiple game executables is a challenge for many networked games. ClientDriven's aim is to create a quick sample to show responsive character movements that don't feel sluggish, even under bad network conditions. It also provides a client side object detection with server side pickup, showing client driven patterns and networked object reparenting. These physics objects are spawned server side at regular intervals and can be pushed around by client driven players. + +[![Documentation](https://img.shields.io/badge/Unity-bitesize--docs-57b9d3.svg?logo=unity&color=2196F3)](https://docs-multiplayer.unity3d.com/netcode/current/learn/bitesize/bitesize-introduction) +[![Forums](https://img.shields.io/badge/Unity-multiplayer--forum-57b9d3.svg?logo=unity&color=2196F3)](https://forum.unity.com/forums/multiplayer.26/) +[![Discord](https://img.shields.io/discord/449263083769036810.svg?label=discord&logo=discord&color=5865F2)](https://discord.gg/FM8SE9E) \ No newline at end of file diff --git a/Basic/Invaders/README.md b/Basic/Invaders/README.md index ecb0fd72f..045088e94 100644 --- a/Basic/Invaders/README.md +++ b/Basic/Invaders/README.md @@ -10,3 +10,8 @@ This sample shows you: - Unconventional movement networked - Client driven movement with Client Network Transform - Shared timer between clients in a client-sided predicted way + + +[![Documentation](https://img.shields.io/badge/Unity-bitesize--docs-57b9d3.svg?logo=unity&color=2196F3)](https://docs-multiplayer.unity3d.com/netcode/current/learn/bitesize/bitesize-introduction) +[![Forums](https://img.shields.io/badge/Unity-multiplayer--forum-57b9d3.svg?logo=unity&color=2196F3)](https://forum.unity.com/forums/multiplayer.26/) +[![Discord](https://img.shields.io/discord/449263083769036810.svg?label=discord&logo=discord&color=5865F2)](https://discord.gg/FM8SE9E) \ No newline at end of file From bcaa76feb6e8969b902370b136cd28e3db5b7d3a Mon Sep 17 00:00:00 2001 From: Fernando Cortez Date: Fri, 10 Feb 2023 17:18:32 -0500 Subject: [PATCH 45/55] addressing a few more PR comments --- ...eSpawnDynamicPrefabUsingNetworkVisibility.cs | 3 +++ .../ConnectionStates/ClientConnectingState.cs | 2 +- .../Shared/DynamicPrefabLoadingUtilities.cs | 17 +++++++++++++++-- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs b/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs index 122c42faa..70a764240 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs @@ -88,6 +88,9 @@ async Task Spawn(AddressableGUID assetGuid) m_PrefabHashToNetworkObjectId.Add(assetGuid.GetHashCode(), new HashSet() {obj}); } + // This gets called on spawn and makes sure clients currently syncing and receiving spawns have the + // appropriate visibility settings automatically. This can happen on late join, on spawn, on scene + // switch, etc. obj.CheckObjectVisibility = (clientId) => { //if the client has already loaded the prefab - we can make the object visible to them diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs index 40da793f7..15c87a3b3 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs @@ -52,7 +52,7 @@ public override void OnClientDisconnect(ulong _) switch (disconnectionPayload.reason) { case DisconnectReason.Undefined: - Debug.Log("Undefined"); + Debug.Log("Disconnect reason is undefined"); m_ConnectionManager.ChangeState(m_ConnectionManager.m_Offline); break; case DisconnectReason.ClientNeedsToPreload: diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs index b89a0c9f3..cc3a40089 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs @@ -51,6 +51,11 @@ public static void Init(NetworkManager networkManager) s_NetworkManager = networkManager; } + /// + /// This is not the most optimal algorithm for big quantities of Addressables, but easy enough to maintain for a + /// small number like in this sample. One could use a "client dirty" algorithm to mark clients needing loading + /// or not instead, but that would require more complex dirty management. + /// public static void RecordThatClientHasLoadedAllPrefabs(ulong clientId) { foreach (var dynamicPrefabGUID in s_DynamicPrefabGUIDs) @@ -81,6 +86,15 @@ public static byte[] GenerateRequestPayload() return System.Text.Encoding.UTF8.GetBytes(payload); } + /// + /// Testing showed that with the current implementation, Netcode for GameObjects will send the DisconnectReason + /// message as a non-fragmented message, meaning that the upper limit of this message in bytes is exactly + /// NON_FRAGMENTED_MESSAGE_MAX_SIZE bytes (1300 at the time of writing), defined inside of + /// . + /// For this reason, DisconnectReason should only be used to instruct the user "why" a connection failed, and + /// "where" to fetch the relevant connection data. We recommend using services like UGS to fetch larger batches + /// of data. + /// public static string GenerateDisconnectionPayload() { var rejectionPayload = new DisconnectionPayload() @@ -106,8 +120,7 @@ public static async Task LoadDynamicPrefab(AddressableGUID guid, int var prefab = await op.Task; #if ENABLE_ARTIFICIAL_DELAY - //this delay here is to make it obvious how different loading strategies differ - //artificial latency would also highlight the difference + // THIS IS FOR EDUCATIONAL PURPOSES AND SHOULDN'T BE INCLUDED IN YOUR PROJECT await Task.Delay(artificialDelayMilliseconds); #endif From f4bdca1c544602b901768dba582631e8fb66a304 Mon Sep 17 00:00:00 2001 From: jilfranco-unity Date: Fri, 10 Feb 2023 17:30:02 -0500 Subject: [PATCH 46/55] Edited in editor readme, as well as a quick format to the project readme --- Basic/DyanmicPrefabs/Assets/Readme.asset | 73 ++++++++++++++++++------ README.md | 1 + 2 files changed, 58 insertions(+), 16 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Readme.asset b/Basic/DyanmicPrefabs/Assets/Readme.asset index e9c7f539e..e31835de8 100644 --- a/Basic/DyanmicPrefabs/Assets/Readme.asset +++ b/Basic/DyanmicPrefabs/Assets/Readme.asset @@ -15,27 +15,68 @@ MonoBehaviour: icon: {fileID: 2800000, guid: 06a678a9706d69242bc9e034adc27168, type: 3} title: 'Dynamic Prefabs: A Bitesize Sample' sections: - - heading: Dynamic Prefabs + - heading: + text: + linkText: + url: + - heading: 'Exploring the Sample:' + text: + linkText: + url: + - heading: text: 'The Dynamic Prefabs sample showcases the available use-cases for the dynamic - prefab system, which allows us to add new spawnable prefabs in runtime. Each - scene in the project showcases a different, isolated feature of the API, allowing - for easy extraction into other projects. This sample also uses in-game UI (created - using UI Toolkit) to interface with the dynamic prefabs system with configurable - options like artificial latency and network spawn timeout for easy testing. - Read more about the sample from the ' - linkText: Dynamic Prefabs bitesize sample documentation. - url: https://docs-multiplayer.unity3d.com/netcode/current/learn/bitesize/bitesize-clientdriven/index.html + prefab system, which allows us to add new spawnable prefabs at runtime. ' + linkText: + url: + - heading: + text: Each scene in the project showcases a different, isolated feature of the + API, allowing for easy extraction into other projects. We suggest exploring + them in order to get a good understanding of the flow of dynamically loading + and spawning network prefabs. + linkText: + url: + - heading: + text: Scenes 00-04 showcase example use-cases for the Dynamic Prefabs system, + and scene 05 serves as an API playground to test how all of the use-cases in + can work tandem. + linkText: + url: + - heading: ' ' + text: + linkText: + url: - heading: - text: Each scene features a different feature of the dynamic prefabs system. + text: This sample also uses in-game UI (created using UI Toolkit) to interface + with the dynamic prefabs system with configurable options like artificial latency + and network spawn timeout for easy testing. + linkText: + url: + - heading: ' ' + text: + linkText: + url: + - heading: 'To Learn More:' + text: linkText: url: - heading: - text: 'To read more about Netcode and its built-in features, see the ' + text: For more information about this bitesize sample, check out the + linkText: Dynamic Prefabs bitesize sample documentation, + url: https://docs-multiplayer.unity3d.com/netcode/current/learn/bitesize/bitesize-dynamicprefabs/index.html + - heading: + text: 'as well as the GitHub repo Readme from the ' + linkText: Bitesize Samples public GitHub repository. + url: https://github.com/Unity-Technologies/com.unity.multiplayer.samples.bitesize + - heading: + text: Read more about Netcode and its built-in features from the linkText: Netcode documentation. url: https://docs-multiplayer.unity3d.com/ + - heading: ' ' + text: + linkText: + url: - heading: - text: 'For more information about this bitesize sample or our other bitesize - samples, see the GitHub repo Readme from the ' - linkText: Bitesize Samples GitHub public repository. - url: https://github.com/Unity-Technologies/com.unity.multiplayer.samples.bitesize - loadedLayout: 0 + text: Also, check out our + linkText: Multiplayer Discord! + url: https://discord.gg/FM8SE9E + loadedLayout: 1 diff --git a/README.md b/README.md index a2c4bed6d..b57c64b33 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,7 @@ We welcome your contributions to this sample code and objects. See our [contribu If you have tried these samples already, please follow the link to fill out your feedback: https://unitytech.typeform.com/bitesize - ETA: 1 min 30 secs.

+ [![Documentation](https://img.shields.io/badge/Unity-bitesize--docs-57b9d3.svg?logo=unity&color=2196F3)](https://docs-multiplayer.unity3d.com/netcode/current/learn/bitesize/bitesize-introduction) [![Forums](https://img.shields.io/badge/Unity-multiplayer--forum-57b9d3.svg?logo=unity&color=2196F3)](https://forum.unity.com/forums/multiplayer.26/) [![Discord](https://img.shields.io/discord/449263083769036810.svg?label=discord&logo=discord&color=5865F2)](https://discord.gg/FM8SE9E) From 6f5fdc65fc980d00e13fa19f47bd510feb0220b5 Mon Sep 17 00:00:00 2001 From: Fernando Cortez Date: Fri, 10 Feb 2023 17:40:02 -0500 Subject: [PATCH 47/55] a few more PR comments addressed --- ...erAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs | 4 ++++ .../Assets/Scripts/Shared/OptionalConnectionManager.cs | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs b/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs index 70a764240..d4819bf3f 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs @@ -150,6 +150,10 @@ void AcknowledgeSuccessfulPrefabLoadServerRpc(int prefabHash, ServerRpcParams rp //the server has all the objects visible, no need to do anything if (rpcParams.Receive.SenderClientId != m_NetworkManager.LocalClientId) { + // Note: there's a potential security risk here if this technique is tied with gameplay that uses + // a NetworkObject's Show() and Hide() methods. For example, a malicious player could invoke a similar + // ServerRpc with the guids of enemy players, and it would make those enemies visible to that player, + // giving them a potential advantage. ShowHiddenObjectsToClient(prefabHash, rpcParams.Receive.SenderClientId); } } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/OptionalConnectionManager.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/OptionalConnectionManager.cs index 706c5cfba..99d75103c 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/OptionalConnectionManager.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/OptionalConnectionManager.cs @@ -7,7 +7,8 @@ namespace Game /// /// A state machine to track a client's connection state. /// Note: this class is not absolutely necessary for dynamic prefab loading. It is simply added to for simpler - /// navigation of code through the different states of connection, particularly client reconnection. + /// navigation of code through the different states of connection, particularly client reconnection and late join. + /// support. For more details, see the use-case. /// public class OptionalConnectionManager : MonoBehaviour { From 7861d1a97c8ec7cc3c02445118a24abd3cfe22ce Mon Sep 17 00:00:00 2001 From: Fernando Cortez Date: Mon, 13 Feb 2023 09:24:37 -0500 Subject: [PATCH 48/55] more PR feedback addressed, AddressableGUIDCollection no longer necessary --- ...n Approval Required For Late Joining.unity | 272 +----------------- .../PreloadingDynamicPrefabs.cs | 25 +- ...onnectionApprovalRequiredForLateJoining.cs | 8 +- ...thoritativeLoadAllPrefabsAsynchronously.cs | 11 +- ...horitativeSynchronousDynamicPrefabSpawn.cs | 2 +- ...pawnDynamicPrefabUsingNetworkVisibility.cs | 2 +- ...oundShowcasingAllPostConnectionUseCases.cs | 2 +- .../Assets/Scripts/Shared/AddressableGUID.cs | 8 + .../Shared/AddressableGUIDCollection.cs | 49 ---- .../Shared/AddressableGUIDCollection.cs.meta | 3 - .../Scripts/Shared/ConnectionPayload.cs | 9 + .../ConnectionStates/ClientConnectingState.cs | 7 + .../ConnectionStates/ClientPreloadingState.cs | 7 +- .../Assets/Scripts/Shared/DisconnectReason.cs | 4 + .../Shared/DynamicPrefabLoadingUtilities.cs | 4 +- .../ProjectSettings/EditorBuildSettings.asset | 8 +- 16 files changed, 73 insertions(+), 348 deletions(-) delete mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUIDCollection.cs delete mode 100644 Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUIDCollection.cs.meta diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval Required For Late Joining.unity b/Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval Required For Late Joining.unity index f5a5f094d..09c9f69fb 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval Required For Late Joining.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval Required For Late Joining.unity @@ -172,141 +172,6 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &541210821 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 541210822} - - component: {fileID: 541210824} - - component: {fileID: 541210823} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &541210822 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 541210821} - 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_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 876541990} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &541210823 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 541210821} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: Preload All Prefabs Async - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4281479730 - m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 24 - m_fontSizeBase: 24 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 0 - m_fontSizeMax: 0 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 0 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &541210824 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 541210821} - m_CullTransparentMesh: 1 --- !u!1 &663159615 GameObject: m_ObjectHideFlags: 0 @@ -334,8 +199,7 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 876541990} + m_Children: [] m_Father: {fileID: 1157890489} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -708,140 +572,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 832999904} m_CullTransparentMesh: 1 ---- !u!1 &876541989 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 876541990} - - component: {fileID: 876541993} - - component: {fileID: 876541992} - - component: {fileID: 876541991} - m_Layer: 5 - m_Name: Btn - Preload All Prefabs Async - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &876541990 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 876541989} - 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_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 541210822} - m_Father: {fileID: 663159616} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 17.400024, y: -184.70001} - m_SizeDelta: {x: 521.65, y: 30} - m_Pivot: {x: 0, y: 1} ---- !u!114 &876541991 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 876541989} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 876541992} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 989424453} - m_TargetAssemblyTypeName: Game.AppController, Assembly-CSharp - m_MethodName: OnClickedPreload - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 ---- !u!114 &876541992 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 876541989} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &876541993 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 876541989} - m_CullTransparentMesh: 1 --- !u!1 &963194225 GameObject: m_ObjectHideFlags: 0 diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/00_Preloading Dynamic Prefabs/PreloadingDynamicPrefabs.cs b/Basic/DyanmicPrefabs/Assets/Scripts/00_Preloading Dynamic Prefabs/PreloadingDynamicPrefabs.cs index 6857b1752..fba1e761e 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/00_Preloading Dynamic Prefabs/PreloadingDynamicPrefabs.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/00_Preloading Dynamic Prefabs/PreloadingDynamicPrefabs.cs @@ -7,10 +7,17 @@ namespace Game.PreloadingDynamicPrefabs { /// - /// This is the simplest case of a dynamic prefab - we just add it to the list of prefabs before we start the server - /// at this point we can also easily change the PlayerPrefab. What's important is that it doesn't really matter - /// where the prefab comes from, it could be a simple prefab or it could be an Addressable - it's all the same. + /// This is the simplest case of a dynamic prefab - we instruct all game instances to load a network prefab (it can + /// be just one, it could also be a set of network prefabs) and inject them to NetworkManager's NetworkPrefabs list + /// before starting the server. What's important is that it doesn't really matter where the prefab comes from. It + /// could be a simple prefab or it could be an Addressable - it's all the same. /// + /// + /// Here, we're serializing the AssetReferenceGameObject to this class, but ideally you'd want to authenticate + /// players when your game starts up and have them fetch network prefabs from services such as UGS (see Remote + /// Config). It should also be noted that this is a technique that could serve to decrease the install size of your + /// application, since you'd be streaming in networked game assets dynamically. + /// public sealed class PreloadingDynamicPrefabs : MonoBehaviour { [SerializeField] AssetReferenceGameObject m_DynamicPrefabReference; @@ -32,12 +39,20 @@ async Task PreloadDynamicPlayerPrefab() var prefab = await op.Task; Addressables.Release(op); - m_NetworkManager.NetworkConfig.ForceSamePrefabs = true; //it's important to actually add the player prefab to the list of network prefabs - it doesn't happen //automatically m_NetworkManager.AddNetworkPrefab(prefab); - m_NetworkManager.NetworkConfig.PlayerPrefab = prefab; Debug.Log($"Loaded prefab has been assigned to NetworkManager's PlayerPrefab"); + + // at this point we can easily change the PlayerPrefab + m_NetworkManager.NetworkConfig.PlayerPrefab = prefab; + + // Forcing all game instances to load a set of network prefabs and having each game instance inject network + // prefabs to NetworkManager's NetworkPrefabs list pre-connection time guarantees that all players will have + // matching NetworkConfigs. This is why NetworkManager.ForceSamePrefabs is set to true. We let Netcode for + // GameObjects validate the matching NetworkConfigs between clients and the server. If this is set to false + // on the server, clients may join with a mismatching NetworkPrefabs list from the server. + m_NetworkManager.NetworkConfig.ForceSamePrefabs = true; } } } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval Required For Late Joining/ConnectionApprovalRequiredForLateJoining.cs b/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval Required For Late Joining/ConnectionApprovalRequiredForLateJoining.cs index 263f5aa48..58dd9f052 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval Required For Late Joining/ConnectionApprovalRequiredForLateJoining.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/01_Connection Approval Required For Late Joining/ConnectionApprovalRequiredForLateJoining.cs @@ -6,9 +6,9 @@ namespace Game.ConnectionApprovalRequiredForLateJoining { /// /// A class that walks through what a server would need to validate from a client when dynamically loading network - /// prefabs. This is another simple use case scenario, as this is just the implementation of the connection approval + /// prefabs. This is another simple use-case scenario, as this is just the implementation of the connection approval /// callback, which is an optional feature from Netcode for GameObjects. To enable it, make sure the "Connection - /// Approval" toggle is enabled on the NetworkManager in your scene. Other use cases don't allow for connection + /// Approval" toggle is enabled on the NetworkManager in your scene. Other use-cases don't allow for connection /// after the server has loaded a prefab dynamically, whereas this one enables that functionality. To see it all in /// harmony, see , where all post-connection techniques are showcased in one scene. /// @@ -30,8 +30,8 @@ void Start() // to force a simple connection approval on all joining clients, the server will load a dynamic prefab as // soon as the server is started - // for more complex use cases where the server must wait for all connected clients to load the same network - // prefab, see the other use cases inside this sample + // for more complex use-cases where the server must wait for all connected clients to load the same network + // prefab, see the other use-cases inside this sample m_NetworkManager.OnServerStarted += LoadAPrefab; } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Load All Prefabs Asynchronously/ServerAuthoritativeLoadAllPrefabsAsynchronously.cs b/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Load All Prefabs Asynchronously/ServerAuthoritativeLoadAllPrefabsAsynchronously.cs index b6cc548d8..9d87a9605 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Load All Prefabs Asynchronously/ServerAuthoritativeLoadAllPrefabsAsynchronously.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Load All Prefabs Asynchronously/ServerAuthoritativeLoadAllPrefabsAsynchronously.cs @@ -8,9 +8,16 @@ namespace Game.ServerAuthoritativeLoadAllPrefabsAsynchronously { /// - /// A simple use case where the server notifies all clients to preload a collection of network prefabs. The server - /// will not invoke a spawn in this use case, and will incrementally load each dynamic prefab, one prefab at a time. + /// A simple use-case where the server notifies all clients to preload a collection of network prefabs. The server + /// will not invoke a spawn in this use-case, and will incrementally load each dynamic prefab, one prefab at a time. /// + /// + /// A gameplay scenario where this technique would be useful: clients and host are connected, the host arrives at a + /// point in the game where they know some prefabs will be needed soon, and so the server instructs all clients to + /// preemptively load those prefabs. Some time later in the same session, the server needs to perform a spawn, and + /// can do so without making sure all clients have loaded said dynamic prefab, since it already did so preemptively. + /// This allows for simple spawn management. + /// public sealed class ServerAuthoritativeLoadAllPrefabsAsynchronously : NetworkBehaviour { [SerializeField] diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Dynamic Prefab Spawn/ServerAuthoritativeSynchronousDynamicPrefabSpawn.cs b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Dynamic Prefab Spawn/ServerAuthoritativeSynchronousDynamicPrefabSpawn.cs index a3cd03a8d..456b6e596 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Dynamic Prefab Spawn/ServerAuthoritativeSynchronousDynamicPrefabSpawn.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Dynamic Prefab Spawn/ServerAuthoritativeSynchronousDynamicPrefabSpawn.cs @@ -9,7 +9,7 @@ namespace Game.ServerAuthoritativeSynchronousDynamicPrefabSpawn { /// - /// A dynamic prefab loading use case where the server instructs all clients to load a single network prefab, and + /// A dynamic prefab loading use-case where the server instructs all clients to load a single network prefab, and /// will only invoke a spawn once all clients have successfully completed their respective loads of said prefab. The /// server will initially send a ClientRpc to all clients, begin loading the prefab on the server, will await /// acknowledgement of a load via ServerRpcs from each client, and will only spawn the prefab over the network once diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs b/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs index d4819bf3f..b451d446c 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs @@ -9,7 +9,7 @@ namespace Game.ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility { /// - /// A dynamic prefab loading use case where the server instructs all clients to load a single network prefab via a + /// A dynamic prefab loading use-case where the server instructs all clients to load a single network prefab via a /// ClientRpc, will spawn said prefab as soon as it is loaded on the server, and will mark it as network-visible /// only to clients that have already loaded that same prefab. As soon as a client loads the prefab locally, it /// sends an acknowledgement ServerRpc, and the server will mark that spawned NetworkObject as visible to that diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs index 3d2a1ae58..e7ebd652e 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs @@ -9,7 +9,7 @@ namespace Game.APIPlaygroundShowcasingAllPostConnectionUseCases { /// - /// This class serves as the playground of the dynamic prefab loading use cases. It integrates API from this sample + /// This class serves as the playground of the dynamic prefab loading use-cases. It integrates API from this sample /// to use at post-connection time such as: connection approval for syncing late-joining clients, dynamically /// loading a collection of network prefabs on the host and all connected clients, synchronously spawning a /// dynamically loaded network prefab across connected clients, and spawning a dynamically loaded network prefab as diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUID.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUID.cs index 8f503d93e..a148850b0 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUID.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUID.cs @@ -5,6 +5,10 @@ namespace Game { + /// + /// A class that captures the value of an Addressable's AssetGUID into a string that is serializable/deserializable + /// by Netcode for GameObjects. This is heavily involved in ClientRpcs/ServerRpcs containing Addressable AssetGUIDs. + /// public struct AddressableGUID : INetworkSerializable { // could use a byte or a short if client and server has the same list in the same order (use the index in the list instead of the actualy 128 bits for a full GUID) @@ -26,6 +30,10 @@ public override string ToString() } } + /// + /// A class that implements IEqualityComparer, for AddressableGUID comparisons that don't allocate memory since it + /// since compares integer values instead of strings. + /// public class AddressableGUIDEqualityComparer : IEqualityComparer { public int GetHashCode(AddressableGUID addressableGUID) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUIDCollection.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUIDCollection.cs deleted file mode 100644 index e494ea135..000000000 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUIDCollection.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System; -using Unity.Netcode; - -namespace Game -{ - public struct AddressableGUIDCollection : INetworkSerializable - { - public AddressableGUID[] GUIDs; - - public void NetworkSerialize(BufferSerializer serializer) where T : IReaderWriter - { - // Length - int length = 0; - if (!serializer.IsReader) - { - length = GUIDs.Length; - } - - serializer.SerializeValue(ref length); - - // Array - if (serializer.IsReader) - { - GUIDs = new AddressableGUID[length]; - } - - for (int n = 0; n < length; ++n) - { - serializer.SerializeValue(ref GUIDs[n]); - } - } - - public override int GetHashCode() - { - int value = 0; - for (var i = 0;i< this.GUIDs.Length; i++) - { - value = HashCode.Combine(this.GUIDs[i],value); - } - - return value; - } - - public unsafe int GetSizeInBytes() - { - return sizeof(AddressableGUID) * GUIDs.Length; - } - } -} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUIDCollection.cs.meta b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUIDCollection.cs.meta deleted file mode 100644 index edcd5971f..000000000 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUIDCollection.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: eeba2780a521460d972955d9d0e4ccf1 -timeCreated: 1669644881 \ No newline at end of file diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionPayload.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionPayload.cs index 267de22f2..82cc6d632 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionPayload.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionPayload.cs @@ -4,12 +4,21 @@ namespace Game { + /// + /// For the purposes of this sample, a hash representing the list of loaded network prefabs will be sent at a + /// connection request from a client to the server. + /// [Serializable] public class ConnectionPayload { public int hashOfDynamicPrefabGUIDs; } + /// + /// For the purposes of this sample, this class will be serialized inside of Netcode for GameObject's + /// DisconnectReason string, and sent to clients which failed to connect. It contains the reason enum, and the list + /// of Addressable GUIDs to load before reconnecting. + /// [Serializable] public class DisconnectionPayload { diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs index 15c87a3b3..23a69de16 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectingState.cs @@ -24,6 +24,13 @@ public override void Exit() { } void StartClient() { + // For this sample, connection management is used in all use-cases where dynamic prefabs are loaded after + // the server establishes a connection. We choose to keep ForceSamePrefabs as false, so that a joining + // client is able to send a connection request payload to the server. In the use-cases where connection + // approval is implemented, the server can begin to validate a user's connection payload, and either approve + // or deny connection to the joining client. In the use-cases where connection approval is not implemented, + // a client will either join if the server has not loaded any dynamic prefabs, or will be denied if the + // server has loaded any dynamic prefabs since the NetworkConfig of the client and the server mismatch. m_ConnectionManager.m_NetworkManager.NetworkConfig.ForceSamePrefabs = false; var transport = m_ConnectionManager.m_NetworkManager.GetComponent(); transport.SetConnectionData(m_ConnectionManager.m_ConnectAddress, m_ConnectionManager.m_Port); diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientPreloadingState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientPreloadingState.cs index 8680869de..fabce9db0 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientPreloadingState.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientPreloadingState.cs @@ -29,12 +29,9 @@ public override void Enter() async void HandleDisconnectReason() { - var addressableGuidCollection = new AddressableGUIDCollection() - { - GUIDs = disconnectionPayload.guids.Select(item => new AddressableGUID() { Value = item }).ToArray() - }; + var guids = disconnectionPayload.guids.Select(item => new AddressableGUID() { Value = item }).ToArray(); - await DynamicPrefabLoadingUtilities.LoadDynamicPrefabs(addressableGuidCollection); + await DynamicPrefabLoadingUtilities.LoadDynamicPrefabs(guids); Debug.Log("Restarting client"); m_ConnectionManager.ChangeState(m_ConnectionManager.m_ClientConnecting); } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DisconnectReason.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DisconnectReason.cs index 902a16846..b510e3867 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DisconnectReason.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DisconnectReason.cs @@ -2,6 +2,10 @@ namespace Game { + /// + /// Enum describing the reason a client was disconnected from the server. For the purposes of this sample, it will + /// be used mostly at connection request time, when the client needs to preload dynamic prefabs. + /// public enum DisconnectReason { Undefined, diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs index cc3a40089..f9b9ec862 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/DynamicPrefabLoadingUtilities.cs @@ -135,12 +135,12 @@ public static async Task LoadDynamicPrefab(AddressableGUID guid, int return prefab; } - public static async Task> LoadDynamicPrefabs(AddressableGUIDCollection addressableGUIDCollection, + public static async Task> LoadDynamicPrefabs(AddressableGUID[] guids, int artificialDelaySeconds = 0) { var tasks = new List>(); - foreach (var guid in addressableGUIDCollection.GUIDs) + foreach (var guid in guids) { tasks.Add( LoadDynamicPrefab(guid, artificialDelaySeconds, recomputeHash:false)); } diff --git a/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset b/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset index cfbdb80d3..201559669 100644 --- a/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset +++ b/Basic/DyanmicPrefabs/ProjectSettings/EditorBuildSettings.asset @@ -6,7 +6,7 @@ EditorBuildSettings: serializedVersion: 2 m_Scenes: - enabled: 1 - path: Assets/Scenes/00_Preloading.unity + path: Assets/Scenes/00_Preloading Dynamic Prefabs.unity guid: 9fc0d4010bbf28b4594072e72b8655ab - enabled: 1 path: Assets/Scenes/01_Connection Approval Required For Late Joining.unity @@ -18,11 +18,11 @@ EditorBuildSettings: path: Assets/Scenes/03_Server Authoritative Try Spawn Synchronously.unity guid: 4be06c926fab45343a99eec4b150b830 - enabled: 1 - path: Assets/Scenes/04_Server Authoritative Spawn As Network-Invisible For Loading - Clients.unity + path: Assets/Scenes/04_Server Authoritative Spawn Dynamic Prefab Using Network + Visibility.unity guid: a081f6a35639f4949bd9d20f656cb357 - enabled: 1 - path: Assets/Scenes/05_API Playground (All Post-Connection Use Cases).unity + path: Assets/Scenes/05_API Playground Showcasing All Post-Connection Use-Cases.unity guid: 7abfc934ee13b5a4cb68dfd571ecb4c6 m_configObjects: com.unity.addressableassets: {fileID: 11400000, guid: b1ddf61b298f54d599a3d954101e1b69, type: 2} From f0f6c5748ac9c87992eb4d422809562cb6bbcfc8 Mon Sep 17 00:00:00 2001 From: Fernando Cortez Date: Mon, 13 Feb 2023 10:55:20 -0500 Subject: [PATCH 49/55] AppController didn't need to be NetworkBehaviour, comments --- .../00_Preloading Dynamic Prefabs.unity | 17 ------ ...n Approval Required For Late Joining.unity | 1 + ...e Preload All Prefabs Asynchronously.unity | 1 + ...uthoritative Try Spawn Synchronously.unity | 1 + ...amic Prefab Using Network Visibility.unity | 1 + ...casing All Post-Connection Use-Cases.unity | 1 + .../Assets/Scripts/Shared/AppController.cs | 55 +++++++++++++++---- 7 files changed, 48 insertions(+), 29 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading Dynamic Prefabs.unity b/Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading Dynamic Prefabs.unity index 3313edfdd..dd4588f5e 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading Dynamic Prefabs.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/00_Preloading Dynamic Prefabs.unity @@ -302,7 +302,6 @@ GameObject: m_Component: - component: {fileID: 989424451} - component: {fileID: 989424450} - - component: {fileID: 989424452} m_Layer: 0 m_Name: AppController m_TagString: Untagged @@ -343,22 +342,6 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &989424452 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 989424449} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} - m_Name: - m_EditorClassIdentifier: - GlobalObjectIdHash: 1200642492 - AlwaysReplicateAsRoot: 0 - DontDestroyWithOwner: 0 - AutoObjectParentSync: 1 --- !u!1 &2054638263 GameObject: m_ObjectHideFlags: 0 diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval Required For Late Joining.unity b/Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval Required For Late Joining.unity index 09c9f69fb..14cb63599 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval Required For Late Joining.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/01_Connection Approval Required For Late Joining.unity @@ -709,6 +709,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: a5dd989004df436d9e1f8777007d25a5, type: 3} m_Name: m_EditorClassIdentifier: + m_NetworkManager: {fileID: 2054638265} m_ConnectionUI: {fileID: 346372779} m_SpawnUI: {fileID: 663159615} m_ConnectionManager: {fileID: 320186046} diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Authoritative Preload All Prefabs Asynchronously.unity b/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Authoritative Preload All Prefabs Asynchronously.unity index 1454bff79..572127536 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Authoritative Preload All Prefabs Asynchronously.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/02_Server Authoritative Preload All Prefabs Asynchronously.unity @@ -1044,6 +1044,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: a5dd989004df436d9e1f8777007d25a5, type: 3} m_Name: m_EditorClassIdentifier: + m_NetworkManager: {fileID: 2054638265} m_ConnectionUI: {fileID: 346372779} m_SpawnUI: {fileID: 663159615} m_ConnectionManager: {fileID: 819111534} diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/03_Server Authoritative Try Spawn Synchronously.unity b/Basic/DyanmicPrefabs/Assets/Scenes/03_Server Authoritative Try Spawn Synchronously.unity index 6feaf53e6..5140771e1 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/03_Server Authoritative Try Spawn Synchronously.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/03_Server Authoritative Try Spawn Synchronously.unity @@ -845,6 +845,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: a5dd989004df436d9e1f8777007d25a5, type: 3} m_Name: m_EditorClassIdentifier: + m_NetworkManager: {fileID: 2054638265} m_ConnectionUI: {fileID: 346372779} m_SpawnUI: {fileID: 663159615} m_ConnectionManager: {fileID: 320186046} diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility.unity b/Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility.unity index bfd39168f..30ddcec94 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility.unity @@ -710,6 +710,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: a5dd989004df436d9e1f8777007d25a5, type: 3} m_Name: m_EditorClassIdentifier: + m_NetworkManager: {fileID: 2054638265} m_ConnectionUI: {fileID: 346372779} m_SpawnUI: {fileID: 663159615} m_ConnectionManager: {fileID: 320186046} diff --git a/Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground Showcasing All Post-Connection Use-Cases.unity b/Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground Showcasing All Post-Connection Use-Cases.unity index 1e262994e..e2c4e8629 100644 --- a/Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground Showcasing All Post-Connection Use-Cases.unity +++ b/Basic/DyanmicPrefabs/Assets/Scenes/05_API Playground Showcasing All Post-Connection Use-Cases.unity @@ -712,6 +712,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: a5dd989004df436d9e1f8777007d25a5, type: 3} m_Name: m_EditorClassIdentifier: + m_NetworkManager: {fileID: 2054638265} m_ConnectionUI: {fileID: 346372779} m_SpawnUI: {fileID: 663159615} m_ConnectionManager: {fileID: 320186046} diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs index 547d1b5bc..de6cd02ef 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs @@ -4,13 +4,21 @@ namespace Game { - public sealed class AppController : NetworkBehaviour + /// + /// A class to bind UI events to invocations from , where client and host + /// connection requests are initiated. This class also listens for status updates from Netcode for GameObjects to + /// then display the appropriate UI elements. + /// + public sealed class AppController : MonoBehaviour { // placeholder until this is fetched from UI string m_ConnectAddress = "127.0.0.1"; // placeholder until this is fetched from UI ushort m_Port = 7777; + + [SerializeField] + NetworkManager m_NetworkManager; [SerializeField] GameObject m_ConnectionUI; @@ -19,30 +27,51 @@ public sealed class AppController : NetworkBehaviour [SerializeField] OptionalConnectionManager m_ConnectionManager; - public void StartClient() + void Awake() { - Debug.Log(nameof(StartClient)); - m_ConnectionManager.StartClientIp(m_ConnectAddress, m_Port); - m_ConnectionUI.SetActive(false); + DontDestroyOnLoad(this); } - public void StartHost() + void Start() { - Debug.Log(nameof(StartHost)); - m_ConnectionManager.StartHostIp(m_ConnectAddress, m_Port); - m_ConnectionUI.SetActive(false); + m_SpawnUI.SetActive(true); + m_ConnectionUI.SetActive(true); + + m_NetworkManager.OnClientConnectedCallback += OnClientConnected; + m_NetworkManager.OnClientDisconnectCallback += OnClientDisconnect; } - public override void OnNetworkSpawn() + void OnDestroy() { - m_SpawnUI.SetActive(IsServer); + m_NetworkManager.OnClientConnectedCallback -= OnClientConnected; + m_NetworkManager.OnClientDisconnectCallback -= OnClientDisconnect; + } + + void OnClientConnected(ulong obj) + { + m_SpawnUI.SetActive(m_NetworkManager.IsServer); + m_ConnectionUI.SetActive(false); } - public override void OnNetworkDespawn() + void OnClientDisconnect(ulong obj) { m_ConnectionUI.SetActive(true); m_SpawnUI.SetActive(true); } + + public void StartClient() + { + Debug.Log(nameof(StartClient)); + m_ConnectionManager.StartClientIp(m_ConnectAddress, m_Port); + m_ConnectionUI.SetActive(false); + } + + public void StartHost() + { + Debug.Log(nameof(StartHost)); + m_ConnectionManager.StartHostIp(m_ConnectAddress, m_Port); + m_ConnectionUI.SetActive(false); + } // placeholder until this is triggered by UI [ContextMenu(nameof(OnClickedShutdown))] @@ -50,6 +79,8 @@ public void OnClickedShutdown() { Debug.Log(nameof(OnClickedShutdown)); m_ConnectionManager.RequestShutdown(); + m_SpawnUI.SetActive(true); + m_ConnectionUI.SetActive(true); } } } From dff67c38275ee89b27c199ed92e17ce03c5aea15 Mon Sep 17 00:00:00 2001 From: Fernando Cortez Date: Mon, 13 Feb 2023 11:18:24 -0500 Subject: [PATCH 50/55] fix on last commit for in-scene networkbehaviours on shutdown --- ...thoritativeLoadAllPrefabsAsynchronously.cs | 5 +++++ ...horitativeSynchronousDynamicPrefabSpawn.cs | 5 +++++ ...pawnDynamicPrefabUsingNetworkVisibility.cs | 5 +++++ ...oundShowcasingAllPostConnectionUseCases.cs | 21 +++++++++++++++++++ .../Assets/Scripts/Shared/AppController.cs | 6 +++--- .../ConnectionStates/ClientConnectedState.cs | 1 + .../Shared/ConnectionStates/HostingState.cs | 1 + 7 files changed, 41 insertions(+), 3 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Load All Prefabs Asynchronously/ServerAuthoritativeLoadAllPrefabsAsynchronously.cs b/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Load All Prefabs Asynchronously/ServerAuthoritativeLoadAllPrefabsAsynchronously.cs index 9d87a9605..72396e9c2 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Load All Prefabs Asynchronously/ServerAuthoritativeLoadAllPrefabsAsynchronously.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/02_Server Authoritative Load All Prefabs Asynchronously/ServerAuthoritativeLoadAllPrefabsAsynchronously.cs @@ -42,6 +42,11 @@ public override void OnDestroy() // invoked by UI public void OnClickedPreload() { + if (!m_NetworkManager.IsServer) + { + return; + } + PreloadPrefabs(); } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Dynamic Prefab Spawn/ServerAuthoritativeSynchronousDynamicPrefabSpawn.cs b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Dynamic Prefab Spawn/ServerAuthoritativeSynchronousDynamicPrefabSpawn.cs index 456b6e596..050eef89b 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Dynamic Prefab Spawn/ServerAuthoritativeSynchronousDynamicPrefabSpawn.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Dynamic Prefab Spawn/ServerAuthoritativeSynchronousDynamicPrefabSpawn.cs @@ -45,6 +45,11 @@ public override void OnDestroy() // invoked by UI public void OnClickedTrySpawnSynchronously() { + if (!m_NetworkManager.IsServer) + { + return; + } + TrySpawnSynchronously(); } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs b/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs index b451d446c..b012173d4 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs @@ -42,6 +42,11 @@ public override void OnDestroy() // invoked by UI public void OnClickedTrySpawnInvisible() { + if (!m_NetworkManager.IsServer) + { + return; + } + TrySpawnInvisible(); } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs index e7ebd652e..c1e8e2324 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs @@ -62,6 +62,12 @@ public override void OnDestroy() base.OnDestroy(); } + public override void OnNetworkDespawn() + { + base.OnNetworkDespawn(); + Debug.Log("Despawned???"); + } + void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) { Debug.Log("Client is trying to connect " + request.ClientNetworkId); @@ -145,18 +151,33 @@ void ImmediateDeny() // invoked by UI public void OnClickedPreload() { + if (!m_NetworkManager.IsServer) + { + return; + } + PreloadPrefabs(); } // invoked by UI public void OnClickedTrySpawnSynchronously() { + if (!m_NetworkManager.IsServer) + { + return; + } + TrySpawnSynchronously(); } // invoked by UI public void OnClickedTrySpawnInvisible() { + if (!m_NetworkManager.IsServer) + { + return; + } + TrySpawnInvisible(); } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs index de6cd02ef..7a0d4d35e 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AppController.cs @@ -47,15 +47,15 @@ void OnDestroy() m_NetworkManager.OnClientDisconnectCallback -= OnClientDisconnect; } - void OnClientConnected(ulong obj) + void OnClientConnected(ulong clientId) { m_SpawnUI.SetActive(m_NetworkManager.IsServer); m_ConnectionUI.SetActive(false); } - void OnClientDisconnect(ulong obj) + void OnClientDisconnect(ulong clientId) { - m_ConnectionUI.SetActive(true); + m_ConnectionUI.SetActive(clientId == m_NetworkManager.LocalClientId); m_SpawnUI.SetActive(true); } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectedState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectedState.cs index 7959fa9f6..c1ee6c6e4 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectedState.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/ClientConnectedState.cs @@ -19,6 +19,7 @@ public override void Exit() { } public override void OnUserRequestedShutdown() { + m_ConnectionManager.m_NetworkManager.Shutdown(); m_ConnectionManager.ChangeState(m_ConnectionManager.m_Offline); } diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/HostingState.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/HostingState.cs index df0422785..10c6ba4b1 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/HostingState.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/ConnectionStates/HostingState.cs @@ -19,6 +19,7 @@ public override void Exit() { } public override void OnUserRequestedShutdown() { + m_ConnectionManager.m_NetworkManager.Shutdown(); m_ConnectionManager.ChangeState(m_ConnectionManager.m_Offline); } From ee3838885128a3200adb0c3aacb2de478b452e9e Mon Sep 17 00:00:00 2001 From: Fernando Cortez Date: Mon, 13 Feb 2023 11:20:30 -0500 Subject: [PATCH 51/55] removing debug comment --- .../APIPlaygroundShowcasingAllPostConnectionUseCases.cs | 6 ------ 1 file changed, 6 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs index c1e8e2324..c7c13c459 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs @@ -62,12 +62,6 @@ public override void OnDestroy() base.OnDestroy(); } - public override void OnNetworkDespawn() - { - base.OnNetworkDespawn(); - Debug.Log("Despawned???"); - } - void ConnectionApprovalCallback(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) { Debug.Log("Client is trying to connect " + request.ClientNetworkId); From 345870901ef651ec157c90c4fced0638377629c6 Mon Sep 17 00:00:00 2001 From: Fernando Cortez Date: Mon, 13 Feb 2023 12:08:13 -0500 Subject: [PATCH 52/55] removing remarks that will go inside of readme --- ...IPlaygroundShowcasingAllPostConnectionUseCases.cs | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs index c7c13c459..1021f4ebe 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs @@ -15,18 +15,6 @@ namespace Game.APIPlaygroundShowcasingAllPostConnectionUseCases /// dynamically loaded network prefab across connected clients, and spawning a dynamically loaded network prefab as /// network-invisible for all clients until they load the prefab locally (in which case it becomes visible to the /// client). - /// - /// Assumption: Addressables are loadable, ie when the client tries to load it - it will not fail. - /// Improvement ideas: - /// - it's possible to have more advanced logic that would for instance kick players that are consistently failing - /// to load an addressable - /// - Addressable guid list could be compressed before being sent - /// - Instead of Addressable guids the peers could exchange a `short` index that would refer to Addressables in some - /// kind of a list stored in a ScriptableObject. That would reduce the amount of data that's being exchanged quite - /// drastically. - /// Last note: this sample does not cover the case of addressable usage when the client is loading custom visual - /// prefabs and swapping out the rendering object for essentially non-dynamic prefabs - /// /// public sealed class APIPlaygroundShowcasingAllPostConnectionUseCases : NetworkBehaviour { From 4fc7ce23fb085bb0d66c840c8797e21e3317dc33 Mon Sep 17 00:00:00 2001 From: jilfranco-unity Date: Mon, 13 Feb 2023 12:23:00 -0500 Subject: [PATCH 53/55] deleting this random meta file that got added by mistake --- .../DyanmicPrefabs/Assets/UI/MainMenuUI.unitypackage.meta | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 Basic/DyanmicPrefabs/Assets/UI/MainMenuUI.unitypackage.meta diff --git a/Basic/DyanmicPrefabs/Assets/UI/MainMenuUI.unitypackage.meta b/Basic/DyanmicPrefabs/Assets/UI/MainMenuUI.unitypackage.meta deleted file mode 100644 index ac97efb8c..000000000 --- a/Basic/DyanmicPrefabs/Assets/UI/MainMenuUI.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: f2166996a38f89141b97b58ca4e48e6c -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: From 36de5fe9430f94729d0cf895bd3d369dd5e3be3b Mon Sep 17 00:00:00 2001 From: Fernando Cortez Date: Mon, 13 Feb 2023 15:02:48 -0500 Subject: [PATCH 54/55] more remarks added to the use cases --- ...ServerAuthoritativeSynchronousDynamicPrefabSpawn.cs | 7 +++++++ ...ritativeSpawnDynamicPrefabUsingNetworkVisibility.cs | 10 ++++++++++ ...APIPlaygroundShowcasingAllPostConnectionUseCases.cs | 4 ++++ 3 files changed, 21 insertions(+) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Dynamic Prefab Spawn/ServerAuthoritativeSynchronousDynamicPrefabSpawn.cs b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Dynamic Prefab Spawn/ServerAuthoritativeSynchronousDynamicPrefabSpawn.cs index 050eef89b..dc7d97d06 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Dynamic Prefab Spawn/ServerAuthoritativeSynchronousDynamicPrefabSpawn.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/03_Server Authoritative Synchronous Dynamic Prefab Spawn/ServerAuthoritativeSynchronousDynamicPrefabSpawn.cs @@ -15,6 +15,13 @@ namespace Game.ServerAuthoritativeSynchronousDynamicPrefabSpawn /// acknowledgement of a load via ServerRpcs from each client, and will only spawn the prefab over the network once /// it has received an acknowledgement from every client, within m_SynchronousSpawnTimeoutTimer seconds. /// + /// + /// This use-case is recommended for scenarios where you'd want to guarantee the same world version across all + /// connected clients. Since the server will wait until all clients have loaded the same dynamic prefab, the spawn + /// of said dynamic prefab will be synchronous. Thus, we recommend using this technique for spawning game-changing + /// gameplay elements, assuming you'd want all clients to be able to interact with said gameplay elements from the + /// same point forward. + /// public sealed class ServerAuthoritativeSynchronousDynamicPrefabSpawn : NetworkBehaviour { [SerializeField] diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs b/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs index b012173d4..125190805 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/04_Server Authoritative Spawn Dynamic Prefab Using Network Visibility/ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility.cs @@ -15,6 +15,16 @@ namespace Game.ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility /// sends an acknowledgement ServerRpc, and the server will mark that spawned NetworkObject as visible to that /// client. /// + /// + /// An important implementation detail to note about this technique: the server will not wait until all clients have + /// loaded a dynamic prefab before spawning the corresponding NetworkObject. Thus, this means that a NetworkObject + /// will become visible for a connected client as soon as it has loaded it as well -- a client is not blocked by the + /// loading operation of another client (which may be loading the asset slower or may have failed to load it at + /// all). A consequence of this asynchronous loading technique is that clients may experience differing world + /// versions momentarily. Therefore, we don't recommend using this technique for spawning game-changing gameplay + /// elements (like a boss fight for example) assuming you'd want all clients to interact with the spawned + /// NetworkObject as soon as it is spawned on the server. + /// public sealed class ServerAuthoritativeSpawnDynamicPrefabUsingNetworkVisibility : NetworkBehaviour { [SerializeField] diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs index 1021f4ebe..79291c239 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/05_API Playground Showcasing All Post-Connection Time Use-Cases/APIPlaygroundShowcasingAllPostConnectionUseCases.cs @@ -16,6 +16,10 @@ namespace Game.APIPlaygroundShowcasingAllPostConnectionUseCases /// network-invisible for all clients until they load the prefab locally (in which case it becomes visible to the /// client). /// + /// + /// For more details on the API usage, see the in-project readme (which includes links to further resources, + /// including the project's technical document). + /// public sealed class APIPlaygroundShowcasingAllPostConnectionUseCases : NetworkBehaviour { [SerializeField] From 81fa4c702e613eca04e1fd99c0557a91f6086851 Mon Sep 17 00:00:00 2001 From: Fernando Cortez Date: Mon, 13 Feb 2023 15:05:56 -0500 Subject: [PATCH 55/55] grammar fix --- Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUID.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUID.cs b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUID.cs index a148850b0..f2c916a72 100644 --- a/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUID.cs +++ b/Basic/DyanmicPrefabs/Assets/Scripts/Shared/AddressableGUID.cs @@ -32,7 +32,7 @@ public override string ToString() /// /// A class that implements IEqualityComparer, for AddressableGUID comparisons that don't allocate memory since it - /// since compares integer values instead of strings. + /// compares integer values instead of strings. /// public class AddressableGUIDEqualityComparer : IEqualityComparer {

&MXzWj`XO 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

0@2#kIf#10>_DwM1l!Or&{{if$-{l!~P(8J(sy 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