diff --git a/Editor/ModIO.EditorCode/CacheOpener.cs b/Editor/ModIO.EditorCode/CacheOpener.cs new file mode 100644 index 0000000..0b3b261 --- /dev/null +++ b/Editor/ModIO.EditorCode/CacheOpener.cs @@ -0,0 +1,30 @@ +using System; +using System.IO; +using UnityEngine; + +#if UNITY_EDITOR +using UnityEditor; + +public static class CacheOpener +{ + [MenuItem("Tools/mod.io/Open Cache")] + public static void OpenCache() + { + try + { + string path = Path.GetFullPath($"{Application.persistentDataPath}/mod.io"); +#if UNITY_EDITOR_WIN || UNITY_EDITOR_LINUX + // Supposedly Linux uses the same executable name as windows, though not 100% confident + // so wrapping all this in a try catch. + System.Diagnostics.Process.Start("explorer.exe", path); +#elif UNITY_EDITOR_OSX + System.Diagnostics.Process.Start("open", $"-R \"{path}\""); +#endif + } + catch (Exception exception) + { + Debug.LogError($"Exception opening local cache: {exception.Message}\n{exception.StackTrace}"); + } + } +} +#endif diff --git a/Editor/ModIO.EditorCode/CacheOpener.cs.meta b/Editor/ModIO.EditorCode/CacheOpener.cs.meta new file mode 100644 index 0000000..b059b67 --- /dev/null +++ b/Editor/ModIO.EditorCode/CacheOpener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f6aef5a773e41824bbdbda3eedf11807 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/ModIO.EditorCode/EditorMenu.cs b/Editor/ModIO.EditorCode/EditorMenu.cs index fe98ff5..3d1b6ad 100644 --- a/Editor/ModIO.EditorCode/EditorMenu.cs +++ b/Editor/ModIO.EditorCode/EditorMenu.cs @@ -1,13 +1,12 @@ #if UNITY_EDITOR -using UnityEngine; -using UnityEditor; using ModIO.Implementation; using ModIO.Implementation.Platform; +using UnityEditor; +using UnityEngine; namespace ModIO.EditorCode { - /// summary public static class EditorMenu { @@ -16,10 +15,11 @@ static EditorMenu() new MenuItem("Tools/mod.io/Edit Settings", false, 0); } + [MenuItem("Tools/mod.io/Edit Settings", false, 0)] public static void EditSettingsAsset() { - var settingsAsset = GetConfigAsset(); + SettingsAsset settingsAsset = GetConfigAsset(); EditorGUIUtility.PingObject(settingsAsset); Selection.activeObject = settingsAsset; @@ -28,23 +28,19 @@ public static void EditSettingsAsset() internal static SettingsAsset GetConfigAsset() { - var settingsAsset = Resources.Load(SettingsAsset.FilePath); + SettingsAsset settingsAsset = Resources.Load(SettingsAsset.FilePath); // if it doesnt exist we create one - if(settingsAsset == null) + if (settingsAsset == null) { // create asset settingsAsset = ScriptableObject.CreateInstance(); // ensure the directories exist before trying to create the asset - if(!AssetDatabase.IsValidFolder("Assets/Resources")) - { + if (!AssetDatabase.IsValidFolder("Assets/Resources")) AssetDatabase.CreateFolder("Assets", "Resources"); - } - if(!AssetDatabase.IsValidFolder("Assets/Resources/mod.io")) - { + if (!AssetDatabase.IsValidFolder("Assets/Resources/mod.io")) AssetDatabase.CreateFolder("Assets/Resources", "mod.io"); - } AssetDatabase.CreateAsset(settingsAsset, $@"Assets/Resources/{SettingsAsset.FilePath}.asset"); diff --git a/Editor/ModIO.EditorCode/ModioSettingProvider.cs b/Editor/ModIO.EditorCode/ModioSettingProvider.cs new file mode 100644 index 0000000..6b2d5f9 --- /dev/null +++ b/Editor/ModIO.EditorCode/ModioSettingProvider.cs @@ -0,0 +1,42 @@ +#if UNITY_EDITOR +using System.Collections.Generic; +using ModIO.Implementation; +using UnityEditor; +using UnityEditor.UIElements; +using UnityEngine; +using UnityEngine.UIElements; + +namespace ModIO.EditorCode +{ + public class ModioSettingProvider : SettingsProvider + { + SettingsAsset _config; + SerializedObject _serializedConfig; + + ModioSettingProvider() : + base("mod.io/Settings", SettingsScope.Project, new HashSet(new[] { "modio", "gameId", "gameKey", "apiKey", "Server URL" })) + { + } + + public override void OnActivate(string searchContext, VisualElement rootElement) + { + _config = EditorMenu.GetConfigAsset(); + _serializedConfig = new SerializedObject(_config); + + rootElement.Add(new Label("mod.io Settings") + { + style = + { + marginLeft = 4, + fontSize = 19, + unityFontStyleAndWeight = FontStyle.Bold, + }, + }); + rootElement.Add(new InspectorElement(_serializedConfig)); + } + + [SettingsProvider] + public static SettingsProvider OpenModioSettingsProvider() => new ModioSettingProvider(); + } +} +#endif diff --git a/Editor/ModIO.EditorCode/ModioSettingProvider.cs.meta b/Editor/ModIO.EditorCode/ModioSettingProvider.cs.meta new file mode 100644 index 0000000..45c2974 --- /dev/null +++ b/Editor/ModIO.EditorCode/ModioSettingProvider.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8a697167d8082cd43931d8db442ac2bb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/ModIO.EditorCode/SettingsAssetEditor.cs b/Editor/ModIO.EditorCode/SettingsAssetEditor.cs index 7bc5791..b2ba88a 100644 --- a/Editor/ModIO.EditorCode/SettingsAssetEditor.cs +++ b/Editor/ModIO.EditorCode/SettingsAssetEditor.cs @@ -4,49 +4,68 @@ using UnityEditor; using UnityEngine; -[CustomEditor(typeof(SettingsAsset))] +[CustomEditor(typeof( SettingsAsset ))] public class SettingsAssetEditor : Editor { - SerializedProperty serverURL; - SerializedProperty gameId; - SerializedProperty gameKey; - SerializedProperty languageCode; - int previousGameId = 0; - - void OnEnable() + SerializedProperty gameId; + SerializedProperty gameKey; + SerializedProperty languageCode; + int previousGameId; + SerializedProperty serverURL; + SerializedProperty useCommandLineArgumentOverrides; + SerializedProperty _showMonetizationUIProperty; + SerializedProperty _showEnabledModToggleProperty; + + void OnEnable() { //get references to SerializedProperties - var serverSettingsProperty = serializedObject.FindProperty("serverSettings"); + SerializedProperty serverSettingsProperty = serializedObject.FindProperty("serverSettings"); serverURL = serverSettingsProperty.FindPropertyRelative("serverURL"); gameId = serverSettingsProperty.FindPropertyRelative("gameId"); gameKey = serverSettingsProperty.FindPropertyRelative("gameKey"); languageCode = serverSettingsProperty.FindPropertyRelative("languageCode"); + useCommandLineArgumentOverrides = serverSettingsProperty.FindPropertyRelative("useCommandLineArgumentOverrides"); + + var uiSettingsProperty = serializedObject.FindProperty("uiSettings"); + + _showMonetizationUIProperty = uiSettingsProperty.FindPropertyRelative("ShowMonetizationUI"); + _showEnabledModToggleProperty = uiSettingsProperty.FindPropertyRelative("ShowEnabledModToggle"); } public override void OnInspectorGUI() - { + { //Grab any changes to the original object data serializedObject.UpdateIfRequiredOrScript(); SettingsAsset myTarget = (SettingsAsset)target; - base.OnInspectorGUI(); + DrawPropertiesExcluding(serializedObject, "m_Script"); - EditorGUILayout.Space(); + EditorGUILayout.Space(); - GUIStyle labelStyle = new GUIStyle(); - labelStyle.alignment = TextAnchor.MiddleCenter; - labelStyle.fontStyle = FontStyle.Bold; - labelStyle.normal.textColor = Color.white; + GUIStyle labelStyle = new GUIStyle + { + alignment = TextAnchor.MiddleCenter, + fontStyle = FontStyle.Bold, + normal = + { + textColor = Color.white, + }, + }; - EditorGUILayout.LabelField("Server Settings", labelStyle); + EditorGUILayout.LabelField("Server Settings", labelStyle); EditorGUILayout.Space(); - EditorGUILayout.PropertyField(gameId,new GUIContent("Game ID")); - gameKey.stringValue = EditorGUILayout.PasswordField("API Key", gameKey.stringValue); + EditorGUILayout.DelayedIntField(gameId, new GUIContent("Game ID")); + using (EditorGUI.ChangeCheckScope passwordChange = new EditorGUI.ChangeCheckScope()) + { + string tempPassword = EditorGUILayout.PasswordField("API Key", gameKey.stringValue); + if (passwordChange.changed) + gameKey.stringValue = tempPassword; + } - if(myTarget.serverSettings.gameId == 0 || string.IsNullOrWhiteSpace(myTarget.serverSettings.gameKey)) + if (myTarget.serverSettings.gameId == 0 || string.IsNullOrWhiteSpace(myTarget.serverSettings.gameKey)) { EditorGUILayout.Space(); @@ -76,11 +95,14 @@ public override void OnInspectorGUI() EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); - } else { + } + else + { EditorGUILayout.Space(); - EditorGUILayout.PropertyField(serverURL, new GUIContent("Server URL")); - EditorGUILayout.PropertyField(languageCode, new GUIContent("Language code")); + EditorGUILayout.DelayedTextField(serverURL, new GUIContent("Server URL")); + EditorGUILayout.DelayedTextField(languageCode, new GUIContent("Language code")); + EditorGUILayout.PropertyField(useCommandLineArgumentOverrides, new GUIContent("Use Command Line Argument Override")); EditorGUILayout.Space(); @@ -96,16 +118,23 @@ public override void OnInspectorGUI() } // If the gameId has been changed, update the url - if (gameId.intValue != previousGameId) + if (gameId.intValue != previousGameId) { if (IsURLProduction(serverURL.stringValue)) serverURL.stringValue = GetURLProduction(gameId.intValue); - previousGameId = gameId.intValue; - } + previousGameId = gameId.intValue; + } + + EditorGUILayout.Space(); + EditorGUILayout.LabelField("UI Settings", labelStyle); + + EditorGUILayout.PropertyField(_showMonetizationUIProperty); + EditorGUILayout.PropertyField(_showEnabledModToggleProperty); //Save the new values serializedObject.ApplyModifiedProperties(); + AssetDatabase.SaveAssetIfDirty(serializedObject?.targetObject); return; @@ -123,6 +152,7 @@ void SetURLTest() } internal static string GetURLProduction(int gameId) => $"https://g-{gameId}.modapi.io/v1"; + static string GetURLTest(int gameId) => "https://api.test.mod.io/v1"; static bool IsURLProduction(string url) => Regex.IsMatch(url, @"https:\/\/g-\d*.modapi.io\/v1"); diff --git a/Experimental.meta b/Experimental.meta new file mode 100644 index 0000000..7ad13c2 --- /dev/null +++ b/Experimental.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f8d3bc05a3a2cf14bac6b730941c412b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Experimental/modio-ui.unitypackage b/Experimental/modio-ui.unitypackage new file mode 100644 index 0000000..016a2f6 Binary files /dev/null and b/Experimental/modio-ui.unitypackage differ diff --git a/Experimental/modio-ui.unitypackage.meta b/Experimental/modio-ui.unitypackage.meta new file mode 100644 index 0000000..fd4af56 --- /dev/null +++ b/Experimental/modio-ui.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 035d155cfa7885544a15ee38ad359565 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Platform/Steam/Facepunch.meta b/Platform/Steam/Facepunch.meta new file mode 100644 index 0000000..7ccc3b7 --- /dev/null +++ b/Platform/Steam/Facepunch.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 586739700705453bbc54d537c51bdceb +timeCreated: 1721713416 \ No newline at end of file diff --git a/Platform/Steam/Facepunch/ModioPlatformExampleFacepunch.cs b/Platform/Steam/Facepunch/ModioPlatformExampleFacepunch.cs new file mode 100644 index 0000000..e573bca --- /dev/null +++ b/Platform/Steam/Facepunch/ModioPlatformExampleFacepunch.cs @@ -0,0 +1,54 @@ +#if UNITY_FACEPUNCH +using Steamworks; +#endif +using UnityEngine; + +namespace ModIO.Implementation.Platform +{ + public class ModioPlatformExampleFacepunch : MonoBehaviour + { + [SerializeField] int appId; + + void Awake() + { + bool supportedPlatform = !Application.isConsolePlatform; + +#if !UNITY_FACEPUNCH + supportedPlatform = false; +#endif + + if (!supportedPlatform) + { + Destroy(this); + return; + } + +#if UNITY_FACEPUNCH + try + { + SteamClient.Init((uint)appId, true); + } + catch (System.Exception e) + { + Debug.Log(e); + return; + } +#endif + + // --- This is the important line to include in your own implementation --- + ModioPlatformFacepunch.SetAsPlatform(); + } + +#if UNITY_FACEPUNCH + void OnDisable() + { + SteamClient.Shutdown(); + } + + void Update() + { + SteamClient.RunCallbacks(); + } +#endif + } +} diff --git a/Platform/Steam/Facepunch/ModioPlatformExampleFacepunch.cs.meta b/Platform/Steam/Facepunch/ModioPlatformExampleFacepunch.cs.meta new file mode 100644 index 0000000..3568bc7 --- /dev/null +++ b/Platform/Steam/Facepunch/ModioPlatformExampleFacepunch.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: bd773d0afa144083a32a50f7fcfce3bc +timeCreated: 1721708917 \ No newline at end of file diff --git a/Platform/Steam/Facepunch/ModioPlatformFacepunch.cs b/Platform/Steam/Facepunch/ModioPlatformFacepunch.cs new file mode 100644 index 0000000..d359fdd --- /dev/null +++ b/Platform/Steam/Facepunch/ModioPlatformFacepunch.cs @@ -0,0 +1,72 @@ +using System; +using System.Threading.Tasks; +using UnityEngine; + +#if UNITY_FACEPUNCH +using Steamworks; +#endif + +namespace ModIO.Implementation.Platform +{ + public class ModioPlatformFacepunch : ModioPlatform, IModioSsoPlatform + { + public static void SetAsPlatform() + { + ActivePlatform = new ModioPlatformFacepunch(); + } + + public async void PerformSso(TermsHash? displayedTerms, Action onComplete, string optionalThirdPartyEmailAddressUsedForAuthentication = null) + { +#if UNITY_FACEPUNCH + + byte[] encryptedAppTicket = await SteamUser.RequestEncryptedAppTicketAsync(); + string base64Ticket = Util.Utility.EncodeEncryptedSteamAppTicket(encryptedAppTicket, (uint)encryptedAppTicket.Length); + + ModIOUnity.AuthenticateUserViaSteam(base64Ticket, + optionalThirdPartyEmailAddressUsedForAuthentication, + displayedTerms, + result => + { + onComplete(result.Succeeded()); + }); +#endif + } + + public override async Task OpenPlatformPurchaseFlow() + { +#if UNITY_FACEPUNCH + SteamFriends.OpenStoreOverlay(SteamClient.AppId); + + float timeoutAt = Time.unscaledTime + 5f; + while (!SteamUtils.IsOverlayEnabled && Time.unscaledTime < timeoutAt) + { + await Task.Yield(); + } + + if (!SteamUtils.IsOverlayEnabled) + { + Logger.Log(LogLevel.Error, "Steam overlay never opened"); + return ResultBuilder.Unknown; + } + + while (SteamUtils.IsOverlayEnabled) + { + await Task.Yield(); + } + + return ResultBuilder.Success; +#else + return ResultBuilder.Unknown; +#endif + } + + public override void OpenWebPage(string url) + { +#if UNITY_FACEPUNCH + SteamFriends.OpenWebOverlay(url); +#else + base.OpenWebPage(url); +#endif + } + } +} diff --git a/Platform/Steam/Facepunch/ModioPlatformFacepunch.cs.meta b/Platform/Steam/Facepunch/ModioPlatformFacepunch.cs.meta new file mode 100644 index 0000000..84e2526 --- /dev/null +++ b/Platform/Steam/Facepunch/ModioPlatformFacepunch.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 7f6005548d8c4d3eabd30a125107fde3 +timeCreated: 1721708223 \ No newline at end of file diff --git a/Platform/Steam/Facepunch/Resources.meta b/Platform/Steam/Facepunch/Resources.meta new file mode 100644 index 0000000..8067606 --- /dev/null +++ b/Platform/Steam/Facepunch/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6a55c9f139a4d3a4e808940fee50440e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Platform/Steam/Facepunch/Resources/ModioPlatformExampleFacepunch.prefab b/Platform/Steam/Facepunch/Resources/ModioPlatformExampleFacepunch.prefab new file mode 100644 index 0000000..07a30a5 --- /dev/null +++ b/Platform/Steam/Facepunch/Resources/ModioPlatformExampleFacepunch.prefab @@ -0,0 +1,46 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &890429863644987089 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 24952581316947064} + - component: {fileID: 6862582328560317445} + m_Layer: 0 + m_Name: ModioPlatformExampleFacepunch + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &24952581316947064 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 890429863644987089} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6862582328560317445 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 890429863644987089} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bd773d0afa144083a32a50f7fcfce3bc, type: 3} + m_Name: + m_EditorClassIdentifier: + appId: 1550360 diff --git a/Platform/Steam/Facepunch/Resources/ModioPlatformExampleFacepunch.prefab.meta b/Platform/Steam/Facepunch/Resources/ModioPlatformExampleFacepunch.prefab.meta new file mode 100644 index 0000000..f1aaeff --- /dev/null +++ b/Platform/Steam/Facepunch/Resources/ModioPlatformExampleFacepunch.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b8db8dd0830e763498d09d261fa977b3 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Platform/Steam/Steam Marketplace.md b/Platform/Steam/Steam Marketplace.md index ee3c10e..71a150b 100644 --- a/Platform/Steam/Steam Marketplace.md +++ b/Platform/Steam/Steam Marketplace.md @@ -2,7 +2,7 @@ id: unity-steam-marketplace-example title: Unity Steam Marketplace Example sidebar_label: Unity Steam Marketplace Example -slug: /unity-plugin/unity-steam-marketplace-example +slug: /unity/unity-steam-marketplace-example/ sidebar_position: 7 --- diff --git a/Platform/SystemIO/ModIO.Implementation.Platform/SystemIODataService.cs b/Platform/SystemIO/ModIO.Implementation.Platform/SystemIODataService.cs index 55a289c..26c0206 100644 --- a/Platform/SystemIO/ModIO.Implementation.Platform/SystemIODataService.cs +++ b/Platform/SystemIO/ModIO.Implementation.Platform/SystemIODataService.cs @@ -256,7 +256,7 @@ public bool TryCreateParentDirectory(string path) //TODO: Write native code to properly check for disk space for ILLCPP builds public async Task IsThereEnoughDiskSpaceFor(long bytes) { -#if !ENABLE_IL2CPP +#if ENABLE_IL2CPP #if UNITY_ANDROID AndroidJNI.AttachCurrentThread(); var statFs = new AndroidJavaObject("android.os.StatFs", PersistentDataRootDirectory); diff --git a/README.md b/README.md index 2ee5c6e..0a08e20 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,19 @@ -mod.io -# mod.io Unity Plugin v2024.3.1 +--- +id: unity-introduction +title: Unity Introduction +sidebar_label: Unity Introduction +slug: /unity/unity-introduction/ +sidebar_position: 0 +--- + +mod.io +# mod.io Unity Plugin v2024.7.1 [![License](https://img.shields.io/badge/license-MIT-brightgreen.svg)](https://github.com/modio/modio-unity/blob/master/LICENSE) [![Discord](https://img.shields.io/discord/389039439487434752.svg?label=Discord&logo=discord&color=7289DA&labelColor=2C2F33)](https://discord.mod.io) -[![Master docs](https://img.shields.io/badge/docs-master-green.svg)](https://docs.mod.io/unity) -[![Unity](https://img.shields.io/badge/Unity-2020.3+-lightgrey.svg)](https://assetstore.unity.com/packages/tools/integration/mod-browser-manager-by-mod-io-138866) +[![Master docs](https://img.shields.io/badge/docs-master-green.svg)](https://docs.mod.io/unity/) +[![Unity 3D](https://img.shields.io/badge/Unity-2020.3+-lightgrey.svg)](https://unity3d.com) -Welcome to the mod.io Unity Engine plugin repository! +Welcome to the mod.io Unity Engine plugin [repository](https://github.com/modio/modio-unity)! mod.io enables game developers of all sizes to integrate user-generated content directly into their games quickly and easily. This includes hosting, user profiles and subscriptions, moderation tools, file delivery, and *more*: @@ -22,19 +30,18 @@ A custom built [ready-made UI](#browser-ui) for mod discovery is included, along ## Platform Support To access console platforms and documentation, see [Supporting Console Platforms](https://docs.mod.io/platforms/). -| Platform | Support | -|-------------------|:-------:| -| Windows | ✓ | -| macOS | ✓ | -| Linux | ✓ | -| Xbox One | ✓ | -| Xbox Series X | ✓ | -| PlayStation®4 | ✓ | -| PlayStation®5 | ✓ | -| Nintendo Switch | ✓ | -| iOS | ✓ | -| Android | ✓ | - +| Platform | Support | +|-----------------|:-------:| +| Windows | ✓ | +| macOS | ✓ | +| Linux | ✓ | +| Xbox One | ✓ | +| Xbox Series X | ✓ | +| PlayStation 4 | ✓ | +| PlayStation 5 | ✓ | +| Nintendo Switch | ✓ | +| iOS | ✓ | +| Android | ✓ | ## Game Studios and Publishers If you need assistance with first-party approval, or require a private, white-label UGC solution. [Contact us](mailto:developers@mod.io)! @@ -1248,93 +1255,225 @@ If you want a fuller understanding of the plugin and its features, we recommend Browser UI screenshot

+### Terms of Use Localization and RTL Languages + +When a user authenticates, the Browser UI will localize mod.io's terms of use based on the language code set in your config file (`Tools > mod.io > Edit Settings`, or `Settings.server.languageCode`). + +To avoid the plugin conflicting with an existing solution, in the case of right-to-left languages you will need to apply your current implementation for mixed RTL and LTR text to the terms text-elements in the browser. + # Marketplace -The mod.io SDK supports full monetization features, allowing you to sell a per-game virtual currency to your players that -they can use to purchase mods, with a share of the revenue split between creators and your studio. Every platform -requires specific setup for monetization features to work, with regards to the virtual currency configuration and API -calls. The following documentation walks you through the setup process and gives example usages. The mod.io monetization -features are enabled as part of the onboarding process on your game profile. Once that is setup, there is nothing -further you need to do for initialization in the SDK. +The mod.io SDK supports full monetization features, allowing you to sell a per-game virtual currency to your players that they can use to purchase mods, with a share of the revenue split between creators and your studio. Every platform requires specific setup for monetization features to work, with regards to the virtual currency configuration and API calls. + +The following documentation walks you through the setup process and gives example usages. The mod.io monetization features are enabled as part of the onboarding process on your game profile. Once that is setup, there is nothing further you need to do for initialization in the SDK. ### Enable Marketplace in the Plugin The first thing you will need to do is enable the marketplace in the mod.io portal for your game under Admin->Monetization->Settings->Enable Marketplace. ### Get User Wallet Balance -Returns the current user's token balance +Returns the current user's token balance. + +> [!NOTE] +> This function creates a wallet for the user the first time it is called so this must be called before any sync entitlements calls. ```csharp async void GetUserWalletBalanceExample() { - var response = await ModIOUnityAsync.GetUserWalletBalance(); - if (response.result.Succeeded()) - { - Debug.Log($"User has a balance of {response.value.balance } tokens."); - } - else - { - Debug.Log("failed to get balance"); - } + var response = await ModIOUnityAsync.GetUserWalletBalance(); + if (response.result.Succeeded()) + Debug.Log($"User has a balance of {response.value.balance} tokens."); + else + Debug.Log("failed to get balance"); } ``` ### Purchase Item -Purchases a mod using Tokens +Purchases a mod using tokens. ```csharp async void PurchaseItemExample() { - string idempotent = $"aUniqueKey";//Unique key used to prevent duplicate purchases - ModId modId = new ModId(1234);//Mod to purchase - int displayAmount = 12;//Price displayed to the player (Must match mod price) - var response = await ModIOUnityAsync.PurchaseItem(modId, displayAmount, idempotent); + ModId modId = new ModId(1234); // Mod to purchase + int displayedAmount = 12; // Price displayed to the player (must match mod price) + string idempotent = $"aUniqueKey"; // Unique key used to prevent duplicate purchases + + var response = await ModIOUnityAsync.PurchaseItem(modId, displayedAmount, idempotent); if (response.result.Succeeded()) - { Debug.Log("Completed Purchase"); - } else - { Debug.Log("failed to complete purchase"); - } } ``` ### Get User Purchases -Returns the current user's purchased Mods +Returns the current user's purchased mods. ```csharp async void GetUserPurchases() { - ModIOUnity.GetPurchasedMods(out Result result); + ModProfile[] purchased = ModIOUnity.GetPurchasedMods(out Result result); + if (result.Succeeded()) + foreach (ModProfile mod in purchased) + Debug.Log($"User owns mod with id: {mod.id}"); + else + Debug.Log("Failed to get purchases"); +} +``` + +### Syncing Purchases with Steam +> [!NOTE] +> Setup token pack SKUs from your game's mod.io website dashboard by navigating to `Admin -> Monetization -> Manage SKUs`. + +> [!NOTE] +> > The GetUserWalletBalanceExample function creates a wallet for the user the first time it is called so this must be called before any sync entitlements calls. + +Once you have setup SKUs for your users to purchase tokens through Steam, you can sync these purchases with the mod.io server using the `SyncEntitlments()` method. + +After a user purchases a token pack on Steam, calling `SyncEntitlements()` will consume the purchased item, and add those tokens to the user's wallet. Below is a very simple example of how to use the method: + +> [!WARNING] +> It is highly recommended that you call `SyncEntitlements()` after any successful external purchase. + +```csharp +async void SyncEntitlements() +{ + Result result = await ModIOUnityAsync.SyncEntitlements(); + if (response.result.Succeeded()) + Debug.Log("Entitlements are synced"); + else + Debug.Log("Failed to sync entitlements"); +} +``` + +> [!NOTE] +> `SyncEntitlements()` is automatically run during `ModIOUnity.FetchUpdates()`. + +> [!NOTE] +> `SyncEntitlements()` can also be used for consuming purchases on console platforms. + +# Service to Service API +To facilitate HTTP requests to mod.io's Service To Service (S2S) API's, your backend server must first authenticate and generate +credentials that your backend service will use. Credentials required by S2S API's are separate from mod.io's public API +endpoints and cannot be used interchangeably. + +### Requesting a User Delegation Token +Some service-to-service endpoints require user context to be able to make requests on behalf of a user, such as creating a transaction. +To facilitate this, mod.io hosts a public endpoint which can be called by an authenticated user with their bearer token which returns +what we call a User Delegation Token. This token should then be sent to your secure backend server from your game client, where you +can then use it for specific endpoints in conjunction with a valid service token. + +> [!NOTE] +> User must me authenticated to request a User Delegation Token. + +```csharp +async void Example() +{ + ResultAnd response = await ModIOUnityImplementation.RequestUserDelegationToken(); + + if (response.result.Succeeded()) + { + Debug.Log("successful."); + //TODO: Send response.value.token to server + } + else + { + Debug.Log("failed."); + } + } +``` +# Temp Mod Sets + +Temp Mod sets allow users to download mods that they are not subscribed to. This can be helpful in multiplayer situations, when a player might join a game that requires specific mods to be downloaded. +The intended flow in this situation would be to Create a temp mod set when a player joins the game and Delete the temp mod set when the game is over. +The following documentation walks you through the setup process and gives example usages. + +Creating a temp mod set starts to download mods in the set in a temporary location unassociated with their subscribed mods. + +> [!NOTE] +> Mods that the user is subscribed to will be not be re-downloaded and will remain in the installed mods location for that user. + +```csharp +ModId[] modIds; +void Example() +{ + Result result = await ModIOUnityAsync.CreateTempModSet(modIds); if (result.Succeeded()) { - foreach (var modProfile in response.value.modProfiles) - { - Debug.Log($"User owns mod with id: {modProfile.id}"); - } + Debug.Log("Successful"); } else { - Debug.Log("Failed to get purchases"); + Debug.Log("Failed"); } } ``` -### Syncing Purchases with Steam -If you setup SKUs for your users to purchase tokens through steam, you can sync these purchases with the mod.io server with the `SyncEntitlments` method. If a user purchases a token pack on steam, you can add the SKU used for that token pack on the Web by going to Admin > Monetization > Manage SKUs. Then when you use SyncEntitlments it will consume the purchased item and add those tokens to the user's wallet. Below is a very simple example of how to use the method. +Destroying a temp mod set removes the temporary installed mods in that set and allows for uninstallation of temporary mods. + +```csharp +void Example() +{ + Result result = await ModIOUnityAsync.ModIOUnity.DeleteTempModSet(); + if (result.Succeeded()) + { + Debug.Log("Successful"); + } + else + { + Debug.Log("Failed"); + } +} +``` + +Adds mods to an existing Temp mod set and downloads/installs them if needed. > [!NOTE] -> SyncEntitlements will automatically be run when using ModIOUnity.FetchUpdates as well +> Mods that the user is subscribed to will be not be re-downloaded and will remain in the installed mods location for that user. ```csharp -async void SyncEntitlements() +ModId[] modIds; +void Example() +{ + Result result = await ModIOUnityAsync.AddModToTempModSet(modIds); + if (result.Succeeded()) { - Result result = await ModIOUnityAsync.SyncEntitlements(); - if (response.result.Succeeded()) - { - Debug.Log("Entitlements are synced"); - } - else - { - Debug.Log("failed to sync"); - } - } + Debug.Log("Successful"); + } + else + { + Debug.Log("Failed"); + } +} ``` + +Removes mods from an existing Temporary Mod Set. This removes them from the list in the set but does not uninstall them, that is done when the set is destroyed. +```csharp +ModId[] modIds; +void Example() +{ + Result result = await ModIOUnityAsync.RemoveModsFromTempModSet(modIds); + if (result.Succeeded()) + { + Debug.Log("Successful"); + } + else + { + Debug.Log("Failed"); + } +} +``` + +Gets an array of temp mods that are installed on the current device. + > [!NOTE] -> This method will also work with console platforms +> These will not be subscribed by the current user. If you wish to get all the current user's installed mods use ModIOUnity.GetSubscribedMods() and check the SubscribedMod.status equals SubscribedModStatus.Installed. +```csharp +void Example() +{ + InstalledMod[] mods = await ModIOUnityAsync.GetTempSystemInstalledMods(out Result result); + if (result.Succeeded()) + { + Debug.Log("found " + mods.Length.ToString() + " temp mods installed"); + } + else + { + Debug.Log("failed to get temp installed mods"); + } +} +``` \ No newline at end of file diff --git a/Runtime/Classes/ProgressHandle.cs b/Runtime/Classes/ProgressHandle.cs index 021ed1a..efde247 100644 --- a/Runtime/Classes/ProgressHandle.cs +++ b/Runtime/Classes/ProgressHandle.cs @@ -1,5 +1,4 @@ - -namespace ModIO +namespace ModIO { /// @@ -16,7 +15,7 @@ public partial class ProgressHandle /// The ModId of the mod that this operation pertains to. /// public ModId modId { get; internal set; } - + /// /// The type of operation being performed, eg. Download, Upload, Install /// @@ -26,7 +25,7 @@ public partial class ProgressHandle /// The progress of the operation being performed, float range from 0.0f - 1.0f /// - public float Progress { get; internal set; } + public float Progress { get; internal set; } /// /// The average number of bytes being processed per second by the operation @@ -47,5 +46,9 @@ public partial class ProgressHandle /// public bool Failed { get; internal set; } + public int UiHashCode() + { + return modId.id.GetHashCode() + OperationType.GetHashCode() + Progress.GetHashCode() + BytesPerSecond.GetHashCode() + Completed.GetHashCode() + Failed.GetHashCode(); + } } } diff --git a/Runtime/Classes/Report.cs b/Runtime/Classes/Report.cs index e57dffd..d5cffb8 100644 --- a/Runtime/Classes/Report.cs +++ b/Runtime/Classes/Report.cs @@ -8,6 +8,11 @@ namespace ModIO /// public class Report { + public Report() + { + resourceType = ReportResourceType.Mods; + } + /// /// convenience constructor for making a report. All of the parameters are mandatory to make /// a successful report. @@ -17,12 +22,10 @@ public class Report /// CANNOT BE NULL explanation of the issue being reported /// CANNOT BE NULL user reporting the issue /// CANNOT BE NULL user email address - public Report(ModId modId, ReportType type, string summary, string user, - string contactEmail) - { + public Report(ModId modId, ReportType type, string summary, string user, string contactEmail) : base() + { id = modId; - this.type = type; - resourceType = ReportResourceType.Mods; + this.type = type; this.summary = summary; this.user = user; this.contactEmail = contactEmail; @@ -37,8 +40,7 @@ public Report(ModId modId, ReportType type, string summary, string user, public bool CanSend() { - if(id == null || summary == null || type == null || resourceType == null || user == null - || contactEmail == null) + if(id == null || summary == null || type == null || resourceType == null || contactEmail == null) { return false; } diff --git a/Runtime/Classes/SearchFilter.cs b/Runtime/Classes/SearchFilter.cs index 9c5c567..853a45e 100644 --- a/Runtime/Classes/SearchFilter.cs +++ b/Runtime/Classes/SearchFilter.cs @@ -65,6 +65,7 @@ public RevenueType RevenueType } public void ShowMatureContent(bool value) => showMatureContent = value; + public bool GetShowMatureContent() => showMatureContent; /// /// Adds a phrase into the filter to be used when filtering mods in a request. @@ -73,39 +74,13 @@ public RevenueType RevenueType /// (Optional) type of filter to be used with the text, defaults to Full text search public void AddSearchPhrase(string phrase, FilterType filterType = FilterType.FullTextSearch) { - string url = string.Empty; - switch (filterType) - { - case FilterType.FullTextSearch: - url += $"&{Filtering.FullTextSearch}{phrase}"; - break; - case FilterType.NotEqualTo: - url += $"&{Filtering.NotEqualTo}{phrase}"; - break; - case FilterType.Like: - url += $"&{Filtering.Like}{phrase}"; - break; - case FilterType.NotLike: - url += $"&{Filtering.NotLike}{phrase}"; - break; - case FilterType.In: - url += $"&{Filtering.In}{phrase}"; - break; - case FilterType.NotIn: - url += $"&{Filtering.NotIn}{phrase}"; - break; - case FilterType.Max: - url += $"&{Filtering.Max}{phrase}"; - break; - case FilterType.Min: - url += $"&{Filtering.Min}{phrase}"; - break; - case FilterType.BitwiseAnd: - url += $"&{Filtering.BitwiseAnd}{phrase}"; - break; - default: - break; - } + //Don't add a search phrase if it's empty as the server will ignore it anyway + if(string.IsNullOrEmpty(phrase)) + return; + + var filterText = GetFilterPrefix(filterType); + + var url = !string.IsNullOrEmpty(filterText) ? $"{filterText}{phrase}" : string.Empty; if (searchPhrases.ContainsKey(filterType)) { @@ -117,6 +92,44 @@ public void AddSearchPhrase(string phrase, FilterType filterType = FilterType.Fu } } + public void ClearSearchPhrases() + { + searchPhrases.Clear(); + } + + public void ClearSearchPhrases(FilterType filterType) + { + searchPhrases.Remove(filterType); + } + + public string[] GetSearchPhrase(FilterType filterType) + { + searchPhrases.TryGetValue(filterType, out var value); + if(string.IsNullOrEmpty(value)) + return Array.Empty(); + + var filterText = GetFilterPrefix(filterType); + return value.Split(new []{filterText}, StringSplitOptions.RemoveEmptyEntries); + } + + static string GetFilterPrefix(FilterType filterType) + { + string filterText = filterType switch + { + FilterType.FullTextSearch => Filtering.FullTextSearch, + FilterType.NotEqualTo => Filtering.NotEqualTo, + FilterType.Like => Filtering.Like, + FilterType.NotLike => Filtering.NotLike, + FilterType.In => Filtering.In, + FilterType.NotIn => Filtering.NotIn, + FilterType.Max => Filtering.Max, + FilterType.Min => Filtering.Min, + FilterType.BitwiseAnd => Filtering.BitwiseAnd, + _ => null, + }; + return filterText != null ? $"&{filterText}" : string.Empty; + } + /// /// Adds a tag to be used in filtering mods for a request. /// @@ -128,6 +141,21 @@ public void AddTag(string tag) tags.Add(tag); } + /// + /// Adds multiple tags used in filtering mods for a request. + /// + /// the tags to be added to the filter + /// + /// + public void AddTags(IEnumerable tags) => this.tags.AddRange(tags); + + public void ClearTags() + { + tags.Clear(); + } + + public IEnumerable GetTags => tags; + /// /// Determines what category mods should be sorted and returned by. eg if the category /// SortModsBy.Downloads was used, then the results would be returned by the number of @@ -183,6 +211,11 @@ public void AddUser(long userId) users.Add(userId); } + public IReadOnlyList GetUserIds() + { + return users; + } + /// /// You can use this method to check if a search filter is setup correctly before using it /// in a GetMods request. @@ -202,5 +235,18 @@ public bool IsSearchFilterValid(out Result result) return true; } + + + /// + /// Use this method to fetch the page index + /// + /// Returns the current value of the page index + public int GetPageIndex() => pageIndex; + + /// + /// Use this method to fetch the page size + /// + /// Returns the current value of the page size + public int GetPageSize() => pageSize; } } diff --git a/Runtime/Enums/AuthenticationServiceProvider.cs b/Runtime/Enums/AuthenticationServiceProvider.cs index aa0d695..d9a4e0e 100644 --- a/Runtime/Enums/AuthenticationServiceProvider.cs +++ b/Runtime/Enums/AuthenticationServiceProvider.cs @@ -13,6 +13,7 @@ public enum AuthenticationServiceProvider Google, PlayStation, OpenId, + AppleId, None, } @@ -51,6 +52,9 @@ public static string GetProviderName(this AuthenticationServiceProvider provider case AuthenticationServiceProvider.Google: providerName = "googleauth"; break; + case AuthenticationServiceProvider.AppleId: + providerName = "appleauth"; + break; case AuthenticationServiceProvider.PlayStation: providerName = "psnauth"; break; @@ -98,6 +102,9 @@ public static string GetTokenFieldName(this AuthenticationServiceProvider provid case AuthenticationServiceProvider.Google: tokenFieldName = "id_token"; break; + case AuthenticationServiceProvider.AppleId: + tokenFieldName = "id_token"; + break; case AuthenticationServiceProvider.PlayStation: tokenFieldName = "auth_code"; break; diff --git a/Runtime/Enums/ModPriority.cs b/Runtime/Enums/ModPriority.cs new file mode 100644 index 0000000..dcecbef --- /dev/null +++ b/Runtime/Enums/ModPriority.cs @@ -0,0 +1,10 @@ +namespace Runtime.Enums +{ + public enum ModPriority + { + Low = -100, + Normal = 0, + High = 100, + Urgent = 200, + } +} diff --git a/Runtime/Enums/ModPriority.cs.meta b/Runtime/Enums/ModPriority.cs.meta new file mode 100644 index 0000000..7644bd5 --- /dev/null +++ b/Runtime/Enums/ModPriority.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8b5f330a8405847cb81e84f6f5ffe34c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Enums/SortModsBy.cs b/Runtime/Enums/SortModsBy.cs index e75a629..48d2a40 100644 --- a/Runtime/Enums/SortModsBy.cs +++ b/Runtime/Enums/SortModsBy.cs @@ -16,6 +16,6 @@ public enum SortModsBy Popular, Downloads, Subscribers, - DateSubmitted + DateSubmitted, } } diff --git a/Runtime/Enums/SubscribedModStatus.cs b/Runtime/Enums/SubscribedModStatus.cs index dcf51d7..7430644 100644 --- a/Runtime/Enums/SubscribedModStatus.cs +++ b/Runtime/Enums/SubscribedModStatus.cs @@ -1,4 +1,6 @@ -namespace ModIO +using System; + +namespace ModIO { /// /// The current state of a subscribed mod. Useful for checking whether or not a mod has been @@ -19,4 +21,33 @@ public enum SubscribedModStatus ProblemOccurred, None, } + + public static class SubscribedModStatusExtensions + { + public static bool IsSubscribed(this SubscribedModStatus value) + { + switch(value) + { + case SubscribedModStatus.Installed: + case SubscribedModStatus.WaitingToDownload: + case SubscribedModStatus.WaitingToInstall: + case SubscribedModStatus.WaitingToUpdate: + case SubscribedModStatus.Downloading: + case SubscribedModStatus.Installing: + case SubscribedModStatus.Updating: + case SubscribedModStatus.None: + return true; + + case SubscribedModStatus.WaitingToUninstall: + case SubscribedModStatus.Uninstalling: + case SubscribedModStatus.ProblemOccurred: + return false; + + default: + break; + } + + throw new NotImplementedException($"Unable to translate {value} of SubscribedMod"); + } + } } diff --git a/Runtime/ModIO.Implementation/Classes/ExtractOperation.cs b/Runtime/ModIO.Implementation/Classes/ExtractOperation.cs index 44ca8b9..008bac8 100644 --- a/Runtime/ModIO.Implementation/Classes/ExtractOperation.cs +++ b/Runtime/ModIO.Implementation/Classes/ExtractOperation.cs @@ -37,14 +37,16 @@ public async Task Extract() async Task ExtractAll() { Logger.Log(LogLevel.Verbose, $"EXTRACTING [{modId}_{fileId}]"); - + + DataStorage.DeleteExtractionDirectory(modId); + // First we need to check that we have enough disk space to complete this operation Result result = await IsThereEnoughSpaceForExtracting(); if(!result.Succeeded()) { return result; } - + using(Stream fileStream = DataStorage.OpenArchiveReadStream(modId, fileId, out result)) { if(result.Succeeded()) @@ -78,7 +80,7 @@ async Task ExtractAll() } using(Stream streamWriter = - DataStorage.OpenArchiveEntryOutputStream(entry.Name, + DataStorage.OpenArchiveEntryOutputStream(modId, entry.Name, out result)) { if(result.Succeeded()) @@ -159,7 +161,8 @@ async Task ExtractAll() //-------------------------------------------------------------------------------------- // FINISH and/or CLEANUP - + DataStorage.TryDeleteModfileArchive(modId, fileId, out _); + if(cancel) { return CancelAndCleanup(result); @@ -175,6 +178,8 @@ Result CancelAndCleanup(Result result) Logger.Log(LogLevel.Verbose, $"FAILED EXTRACTION [{result.code}] MODFILE [{modId}_{fileId}]"); + DataStorage.DeleteExtractionDirectory(modId); + // Delete any files we may have already extracted DataStorage.TryDeleteInstalledMod(modId, fileId, out result); @@ -187,7 +192,7 @@ Result CancelAndCleanup(Result result) return result; } - async Task IsThereEnoughSpaceForExtracting() + internal async Task IsThereEnoughSpaceForExtracting() { // Get the extracted size first using(Stream fileStream = DataStorage.OpenArchiveReadStream(modId, fileId, out Result result)) diff --git a/Runtime/ModIO.Implementation/Classes/ModCollectionEntry.cs b/Runtime/ModIO.Implementation/Classes/ModCollectionEntry.cs index dcb38c4..5b21f7f 100644 --- a/Runtime/ModIO.Implementation/Classes/ModCollectionEntry.cs +++ b/Runtime/ModIO.Implementation/Classes/ModCollectionEntry.cs @@ -1,4 +1,5 @@ using ModIO.Implementation.API.Objects; +using Runtime.Enums; namespace ModIO.Implementation { @@ -8,6 +9,6 @@ internal class ModCollectionEntry public ModfileObject currentModfile; public ModObject modObject; public bool uninstallIfNotSubscribedToCurrentSession; - public int priority = 100; + public ModPriority priority = ModPriority.Normal; } } diff --git a/Runtime/ModIO.Implementation/Classes/ModCollectionManager.cs b/Runtime/ModIO.Implementation/Classes/ModCollectionManager.cs index 1121dbc..65cc48a 100644 --- a/Runtime/ModIO.Implementation/Classes/ModCollectionManager.cs +++ b/Runtime/ModIO.Implementation/Classes/ModCollectionManager.cs @@ -4,6 +4,11 @@ using ModIO.Implementation.API; using ModIO.Implementation.API.Objects; using ModIO.Implementation.API.Requests; +using Runtime.Enums; + +#if UNITY_IOS || UNITY_ANDROID +using Plugins.mod.io.Platform.Mobile; +#endif #if UNITY_GAMECORE using Unity.GameCore; @@ -21,6 +26,8 @@ internal static class ModCollectionManager { public static ModCollectionRegistry Registry; + static readonly List InstalledTempMods = new List(); + public static async Task LoadRegistryAsync() { ResultAnd response = await DataStorage.LoadSystemRegistryAsync(); @@ -102,6 +109,16 @@ public static void ClearUserData() SaveRegistry(); } + public static long? GetModFileId(ModId modId) + { + if (Registry.mods.TryGetValue(modId, out var mod)) + { + return mod.currentModfile.id; + } + + return null; + } + public static void AddUserToRegistry(UserObject user) { // Early out @@ -180,6 +197,8 @@ public static async Task FetchUpdates() // If failed, cancel the entire update operation if(gameTagsResponse.result.Succeeded()) { + await DataStorage.SaveTags(gameTagsResponse.value.data); + // Put these in the Response Cache var tags = ResponseTranslator.ConvertGameTagOptionsObjectToTagCategories(gameTagsResponse.value.data); ResponseCache.AddTagsToCache(tags); @@ -245,9 +264,7 @@ public static async Task FetchUpdates() //--------------------------------------------------------------------------------// // UPDATE ENTITLEMENTS // //--------------------------------------------------------------------------------// - - await ModIOUnityAsync.SyncEntitlements(); - + var resultAnd = await ModIOUnityAsync.SyncEntitlements(); //--------------------------------------------------------------------------------// // GET PURCHASES // @@ -264,8 +281,8 @@ public static async Task FetchUpdates() if (r.result.Succeeded()) { - ResponseCache.AddModsToCache(API.Requests.GetUserPurchases.UnpaginatedURL(filter), 0, r.value); - AddModsToUserPurchases(r.value); + ResponseCache.AddModsToCache(API.Requests.GetUserPurchases.UnpaginatedURL(filter), pageSize * pageIndex, r.value); + AddModsToUserPurchases(r.value, pageIndex == 0); long totalResults = r.value.totalSearchResultsFound; int resultsFetched = (pageIndex + 1) * pageSize; if (resultsFetched > totalResults) @@ -396,7 +413,7 @@ public static async Task> TryRequestAllResults( public static bool HasModCollectionEntry(ModId modId) => Registry.mods.ContainsKey(modId); - public static void AddModCollectionEntry(ModId modId) + private static void AddModCollectionEntry(ModId modId) { // Check an entry exists for this modObject, if not create one if(!Registry.mods.ContainsKey(modId)) @@ -407,15 +424,14 @@ public static void AddModCollectionEntry(ModId modId) } } - public static void UpdateModCollectionEntry(ModId modId, ModObject modObject, int priority = 0) + public static void UpdateModCollectionEntry(ModId modId, ModObject modObject, ModPriority priority = ModPriority.Normal) { AddModCollectionEntry(modId); Registry.mods[modId].modObject = modObject; Registry.mods[modId].priority = priority; // Check this in case of UserData being deleted - if(DataStorage.TryGetInstallationDirectory(modId, modObject.modfile.id, - out string notbeingusedhere)) + if(DataStorage.TryGetInstallationDirectory(modId, modObject.modfile.id, out _)) { Registry.mods[modId].currentModfile = modObject.modfile; } @@ -423,8 +439,22 @@ public static void UpdateModCollectionEntry(ModId modId, ModObject modObject, in SaveRegistry(); } - private static void AddModsToUserPurchases(ModPage modPage) + private static void AddModsToUserPurchases(ModPage modPage, bool clearPreviousPurchases) { + long user = GetUserKey(); + + // Early out + if(!IsRegistryLoaded() || !DoesUserExist(user)) + { + return; + } + + if(clearPreviousPurchases) + { + // Clear existing purchases, as otherwise we never remove them (even across multiple sessions) + Registry.existingUsers[user].purchasedMods.Clear(); + } + foreach (ModProfile modProfile in modPage.modProfiles) { AddModToUserPurchases(modProfile.id); @@ -558,8 +588,7 @@ public static void UpdateModCollectionEntryFromModObject(ModObject modObject, bo Registry.mods[modId].modObject = modObject; // Check this in case of UserData being deleted - if(DataStorage.TryGetInstallationDirectory(modId, modObject.modfile.id, - out string notbeingusedhere)) + if(DataStorage.TryGetInstallationDirectory(modId, modObject.modfile.id, out _)) { Registry.mods[modId].currentModfile = modObject.modfile; } @@ -584,6 +613,7 @@ public static bool EnableModForCurrentUser(ModId modId) if (Registry.existingUsers[currentUser].disabledMods.Contains(modId)) { Registry.existingUsers[currentUser].disabledMods.Remove(modId); + SaveRegistry(); } Logger.Log(LogLevel.Verbose, $"Enabled Mod {((long)modId).ToString()}"); @@ -604,6 +634,7 @@ public static bool DisableModForCurrentUser(ModId modId) if (!Registry.existingUsers[currentUser].disabledMods.Contains(modId)) { Registry.existingUsers[currentUser].disabledMods.Add(modId); + SaveRegistry(); } Logger.Log(LogLevel.Verbose, $"Disabled Mod {((long)modId).ToString()}"); @@ -656,7 +687,7 @@ public static InstalledMod[] GetInstalledMods(out Result result, bool excludeSub return null; } - List mods = new List(); + InstalledTempMods.Clear(); long currentUser = GetUserKey(); @@ -683,20 +714,39 @@ public static InstalledMod[] GetInstalledMods(out Result result, bool excludeSub } // check if current modfile is correct - if(DataStorage.TryGetInstallationDirectory( - enumerator.Current.Key.id, enumerator.Current.Value.currentModfile.id, - out string directory)) + if(DataStorage.TryGetInstallationDirectory(enumerator.Current.Key.id, enumerator.Current.Value.currentModfile.id, out string directory)) { InstalledMod mod = ConvertModCollectionEntryToInstalledMod(enumerator.Current.Value, directory); mod.enabled = Registry.existingUsers.ContainsKey(currentUser) && !Registry.existingUsers[currentUser].disabledMods.Contains(mod.modProfile.id); - mods.Add(mod); + InstalledTempMods.Add(mod); } } } result = ResultBuilder.Success; - return mods.ToArray(); + return InstalledTempMods.ToArray(); + } + + public static InstalledMod[] GetTempInstalledMods() + { + var mods = TempModSetManager.GetMods(true); + InstalledTempMods.Clear(); + foreach (var id in mods) + { + var modId = new ModId(id); + var fileId = GetModFileId(modId); + if (fileId == null) + continue; + var directoryExists = DataStorage.TryGetInstallationDirectory(modId, fileId.Value, out string directory); + if (!directoryExists || !Registry.mods.ContainsKey(modId)) + continue; + + InstalledMod mod = ConvertModCollectionEntryToInstalledMod(Registry.mods[modId], directory); + mod.enabled = true; + InstalledTempMods.Add(mod); + } + return InstalledTempMods.ToArray(); } /// @@ -747,7 +797,19 @@ public static SubscribedMod[] GetSubscribedModsForUser(out Result result) return subscribedMods.ToArray(); } - static SubscribedMod ConvertModCollectionEntryToSubscribedMod(ModCollectionEntry entry) + public static bool TryGetModProfile(ModId modId, out ModProfile modProfile) + { + if (!IsRegistryLoaded() || !Registry.mods.TryGetValue(modId, out ModCollectionEntry entry)) + { + modProfile = default; + return false; + } + + modProfile = ResponseTranslator.ConvertModObjectToModProfile(entry.modObject); + return true; + } + + public static SubscribedMod ConvertModCollectionEntryToSubscribedMod(ModCollectionEntry entry) { SubscribedMod mod = new SubscribedMod { diff --git a/Runtime/ModIO.Implementation/Classes/ModIOCommandLineArgs.cs b/Runtime/ModIO.Implementation/Classes/ModIOCommandLineArgs.cs new file mode 100644 index 0000000..f59fb42 --- /dev/null +++ b/Runtime/ModIO.Implementation/Classes/ModIOCommandLineArgs.cs @@ -0,0 +1,53 @@ +using System.Collections.Generic; + +namespace ModIO.Implementation +{ + internal static class ModIOCommandLineArgs + { + const string PREFIX = "-modio-"; + + static Dictionary argumentCache; + + /// + /// Attempt to get a mod.io command line argument and its encoded value from the environment. + /// + /// true if the argument was successfully found. + /// + /// All arguments need to be in the format:
+ /// -modio-arg=value + ///
+ internal static bool TryGet(string argument, out string value) + { + if (argumentCache == null) GetArguments(); + + return argumentCache.TryGetValue(argument, out value); + } + + static void GetArguments() + { + if (argumentCache != null) return; + + argumentCache = new Dictionary(); + + string[] launchArgs = System.Environment.GetCommandLineArgs(); + + foreach (string argument in launchArgs) + { + if (!argument.StartsWith(PREFIX)) continue; + + string[] argumentValue = argument.Split('='); + + if (argumentValue.Length != 2) + { + Logger.Log(LogLevel.Warning, $"Mod.IO Launch Argument {argument} does not match format of [argument]=[value]. Ignoring argument."); + continue; + } + + string key = argumentValue[0].Substring(PREFIX.Length); + string value = argumentValue[1]; + + argumentCache[key] = value; + } + } + } +} diff --git a/Runtime/ModIO.Implementation/Classes/ModIOCommandLineArgs.cs.meta b/Runtime/ModIO.Implementation/Classes/ModIOCommandLineArgs.cs.meta new file mode 100644 index 0000000..25e0c95 --- /dev/null +++ b/Runtime/ModIO.Implementation/Classes/ModIOCommandLineArgs.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2bfcd002a59b33e43b4489ad80577e78 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/ModIO.Implementation/Classes/ModIOUnityImplementation.cs b/Runtime/ModIO.Implementation/Classes/ModIOUnityImplementation.cs index 8470a7b..0b0b6f0 100644 --- a/Runtime/ModIO.Implementation/Classes/ModIOUnityImplementation.cs +++ b/Runtime/ModIO.Implementation/Classes/ModIOUnityImplementation.cs @@ -11,12 +11,19 @@ using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; +using Plugins.mod.io; +using Plugins.mod.io.Runtime.ModIO.Implementation.Classes; +using Runtime.Enums; using UnityEngine; using GameObject = ModIO.Implementation.API.Objects.GameObject; +#if UNITY_IOS || UNITY_ANDROID +using Plugins.mod.io.Platform.Mobile; +using Newtonsoft.Json.Linq; +#endif + namespace ModIO.Implementation { - /// /// The actual implementation for methods called from the ModIOUnity interface /// @@ -87,6 +94,12 @@ public static bool AutoInitializePlugin /// Has the plugin been initialized. public static bool IsInitialized(out Result result) { + if (shuttingDown) + { + result = ResultBuilder.Create(ResultCode.Internal_OperationCancelled); + return false; + } + if (isInitialized) { result = ResultBuilder.Success; @@ -149,6 +162,7 @@ public static async Task EnsureGameProfileHasBeenRetrieved() } Logger.Log(LogLevel.Error, "Unable to retrieve Game Profile from the server."); + return false; } @@ -249,7 +263,8 @@ public static void SetLoggingDelegate(LogMessageDelegate loggingDelegate) /// specified user has installed on this device.
public static Result InitializeForUser(string userProfileIdentifier, ServerSettings serverSettings, - BuildSettings buildSettings) + BuildSettings buildSettings, + UISettings uiSettings = default) { TaskCompletionSource callbackConfirmation = new TaskCompletionSource(); openCallbacks_dictionary.Add(callbackConfirmation, null); @@ -257,8 +272,12 @@ public static Result InitializeForUser(string userProfileIdentifier, // clean user profile identifier in case of filename usage userProfileIdentifier = IOUtil.CleanFileNameForInvalidCharacters(userProfileIdentifier); + //clear gameProfile in case we're changing games + GameProfile = null; + Settings.server = serverSettings; Settings.build = buildSettings; + Settings.ui = uiSettings; // - load data services - // NOTE(@jackson): @@ -313,6 +332,8 @@ public static Result InitializeForUser(string userProfileIdentifier, // Set response cache size limit ResponseCache.maxCacheSize = buildSettings.requestCacheLimitKB * 1024; + DataStorage.DeleteAllTempImages(); + // If we fail to load the registry we simply create a new one. It may be corrupted // if(!result.Succeeded()) // { @@ -330,6 +351,8 @@ public static Result InitializeForUser(string userProfileIdentifier, Logger.Log(LogLevel.Message, $"Initialized User[{userProfileIdentifier}]"); + ModIOUnityEvents.OnPluginInitialized(); + return result; } @@ -343,12 +366,16 @@ public static Result InitializeForUser(string userProfileIdentifier) ServerSettings serverSettings; BuildSettings buildSettings; + UISettings uiSettings; - Result result = SettingsAsset.TryLoad(out serverSettings, out buildSettings); + Result result = SettingsAsset.TryLoad(out serverSettings, out buildSettings, out uiSettings); + + if (serverSettings.useCommandLineArgumentOverrides) + ApplyLaunchArguments(ref userProfileIdentifier, ref serverSettings); if (result.Succeeded()) { - result = InitializeForUser(userProfileIdentifier, serverSettings, buildSettings); + result = InitializeForUser(userProfileIdentifier, serverSettings, buildSettings, uiSettings); } callbackConfirmation.SetResult(true); @@ -356,6 +383,21 @@ public static Result InitializeForUser(string userProfileIdentifier) return result; } + static void ApplyLaunchArguments(ref string userProfileIdentifier, ref ServerSettings serverSettings) + { + if (ModIOCommandLineArgs.TryGet("gameid", out string serializedId)) + serverSettings.gameId = uint.Parse(serializedId); + + if (ModIOCommandLineArgs.TryGet("apikey", out string apiKey)) + serverSettings.gameKey = apiKey; + + if (ModIOCommandLineArgs.TryGet("user", out string user)) + userProfileIdentifier = user; + + if (ModIOCommandLineArgs.TryGet("url", out string url)) + serverSettings.serverURL = url; + } + /// /// Cancels any running public operations, frees plugin resources, and invokes /// any pending callbacks with a cancelled result code. @@ -424,6 +466,7 @@ static async Task ShutdownTask() // Settings.build = default; ResponseCache.ClearCache(); ModCollectionManager.ClearRegistry(); + DataStorage.DeleteAllTempImages(); // get new instance of dictionary so it's thread safe Dictionary, Task> tasks = @@ -474,6 +517,9 @@ public static async Task IsAuthenticated() { result = task.result; UserData.instance.SetUserObject(task.value); + + var userProfile = ResponseTranslator.ConvertUserObjectToUserProfile(task.value); + ModIOUnityEvents.OnUserAuthenticated(userProfile); } } @@ -575,8 +621,9 @@ public static async Task SubmitEmailSecurityCode(string securityCode) // helps to keep track fo what WE are calling and what the user might be // calling, the following line of code is a perfect example of how we'd expect // slightly different behaviour) - await GetCurrentUser(delegate - { }); + var resultAnd = await GetCurrentUser(); + + ModIOUnityEvents.OnUserAuthenticated(resultAnd.value); // continue to invoke at the end of this method } @@ -686,8 +733,9 @@ public static async Task AuthenticateUser( UserData.instance.SetOAuthToken(response.value, serviceProvider); // TODO @Steve (see other example, same situation in email auth) - await GetCurrentUser(delegate - { }); + var userResultAnd = await GetCurrentUser(); + + ModIOUnityEvents.OnUserAuthenticated(userResultAnd.value); } else { @@ -790,7 +838,7 @@ public static async Task> GetGameTags() var callbackConfirmation = openCallbacks.New(); Result result; - TagCategory[] tags = new TagCategory[0]; + TagCategory[] tags = Array.Empty(); if (IsInitialized(out result) && !ResponseCache.GetTagsFromCache(out tags)) { @@ -802,9 +850,25 @@ public static async Task> GetGameTags() result = task.result; if (result.Succeeded()) { + await DataStorage.SaveTags(task.value.data); + tags = ResponseTranslator.ConvertGameTagOptionsObjectToTagCategories(task.value.data); ResponseCache.AddTagsToCache(tags); } + else if (result.IsCancelled()) + { + //do nothing; we need to pass this one through as is (the plugin is probably shutting down) + } + else + { + ResultAnd resultDataStorage = await DataStorage.LoadTags(); + result = resultDataStorage.result; + if (result.Succeeded()) + { + tags = ResponseTranslator.ConvertGameTagOptionsObjectToTagCategories(resultDataStorage.value); + ResponseCache.AddTagsToCache(tags); + } + } } openCallbacks.Complete(callbackConfirmation); @@ -827,6 +891,8 @@ public static async void GetGameTags(Action> callback) callback?.Invoke(result); } + public static string GetTagLocalized(string tag, string languageCode) => ResponseCache.GetTagLocalized(tag, languageCode); + public static async Task> GetMods(SearchFilter filter) { var callbackConfirmation = openCallbacks.New(); @@ -879,6 +945,39 @@ public static async void GetMods(SearchFilter filter, Action> callback?.Invoke(result); } + public static async Task Ping() + { + if (!IsInitialized(out Result initializedResult)) + return initializedResult; + + var callbackConfirmation = openCallbacks.New(); + + Result result = await openCallbacks.Run( + callbackConfirmation, + WebRequestManager.Request(API.Requests.Ping.Request()) + ); + + openCallbacks.Complete(callbackConfirmation); + + return result; + } + + public static async void Ping(Action callback) + { + //Early out + if (callback == null) + { + Logger.Log( + LogLevel.Error, + "No callback was given to the Ping method." + + " Operation has been cancelled."); + return; + } + + Result pingResult = await Ping(); + callback.Invoke(pingResult); + } + public static async Task> GetModComments(ModId modId, SearchFilter filter) { var callbackConfirmation = openCallbacks.New(); @@ -1117,8 +1216,9 @@ public static async Task> GetCurrentUserRatingFor(ModId mod if (!response.result.Succeeded()) { - result = response.result; - goto End; + callbackConfirmation.SetResult(true); + openCallbacks.Remove(callbackConfirmation); + return ResultAnd.Create(response.result, ModRating.None); } } @@ -1129,12 +1229,9 @@ public static async Task> GetCurrentUserRatingFor(ModId mod } } - End: - // FINAL SUCCESS / FAILURE depending on callback params set previously callbackConfirmation.SetResult(true); openCallbacks.Remove(callbackConfirmation); - return ResultAnd.Create(result, rating); } @@ -1158,12 +1255,16 @@ public static async void GetCurrentUserRatingFor(ModId modId, Action dependencies, Action callback) @@ -1350,6 +1467,101 @@ public static async Task RemoveDependenciesFromMod(ModId modId, ICollect return result; } + public static async Task>> GetModKvpMetadata(long modId) + { + ResultAnd> response = ResultAnd.Create>(ResultBuilder.Unknown, default); + + var callbackConfirmation = openCallbacks.New(); + if (IsInitialized(out response.result) && IsAuthenticatedSessionValid(out response.result)) + { + var config = API.Requests.GetModKvpMetadata.Request(modId); + var r = await openCallbacks.Run(callbackConfirmation, WebRequestManager.Request(config)); + response.result = r.result; + if (r.result.Succeeded()) + { + response.value = ResponseTranslator.ConvertMetadataKvpObjects(r.value); + } + } + + openCallbacks.Complete(callbackConfirmation); + return response; + } + + public static async void GetModKvpMetadata(long modId, Action>> callback) + { + if (callback == null) + { + Logger.Log( + LogLevel.Warning, + "No callback was given to the GetModKvpMetadata method. It is " + + "possible that this operation will not resolve successfully and should be " + + "checked with a proper callback."); + } + + ResultAnd> result = await GetModKvpMetadata(modId); + callback?.Invoke(result); + } + + public static async Task AddModKvpMetadata(long modId, Dictionary metadataKvps) + { + Result result = ResultBuilder.Unknown; + + var callbackConfirmation = openCallbacks.New(); + if (IsInitialized(out result) && IsAuthenticatedSessionValid(out result)) + { + var config = API.Requests.AddModKvpMetadata.Request(modId, metadataKvps); + result = await openCallbacks.Run(callbackConfirmation, WebRequestManager.Request(config)); + } + + openCallbacks.Complete(callbackConfirmation); + return result; + } + + public static async void AddModKvpMetadata(long modId, Dictionary metadataKvps, Action callback) + { + if (callback == null) + { + Logger.Log( + LogLevel.Warning, + "No callback was given to the AddModKvpMetadata method. It is " + + "possible that this operation will not resolve successfully and should be " + + "checked with a proper callback."); + } + + Result result = await AddModKvpMetadata(modId, metadataKvps); + callback?.Invoke(result); + } + + public static async Task DeleteModKvpMetadata(long modId, Dictionary metadataKvps) + { + Result result = ResultBuilder.Unknown; + + var callbackConfirmation = openCallbacks.New(); + if (IsInitialized(out result) && IsAuthenticatedSessionValid(out result)) + { + var config = API.Requests.DeleteModKvpMetadata.Request(modId, metadataKvps); + result = await openCallbacks.Run(callbackConfirmation, WebRequestManager.Request(config)); + } + + openCallbacks.Complete(callbackConfirmation); + return result; + } + + public static async void DeleteModKvpMetadata(long modId, Dictionary metadataKvps, Action callback) + { + if (callback == null) + { + Logger.Log( + LogLevel.Warning, + "No callback was given to the DeleteModKvpMetadata method. It is " + + "possible that this operation will not resolve successfully and should be " + + "checked with a proper callback."); + } + + Result result = await DeleteModKvpMetadata(modId, metadataKvps); + callback?.Invoke(result); + } + #endregion // Mod Management #region User Management @@ -1358,9 +1570,7 @@ public static async Task AddModRating(ModId modId, ModRating modRating) { var callbackConfirmation = openCallbacks.New(); - Result result; - - if (IsInitialized(out result) && IsAuthenticatedSessionValid(out result)) + if (IsInitialized(out Result result) && IsAuthenticatedSessionValid(out result)) { var config = API.Requests.AddModRating.Request(modId, modRating); @@ -1368,19 +1578,19 @@ public static async Task AddModRating(ModId modId, ModRating modRating) result = response.result; - var rating = new Rating - { - dateAdded = DateTime.Now, - rating = modRating, - modId = modId - }; - ResponseCache.AddCurrentUserRating(modId, rating); - - if (result.code_api == ResultCode.RESTAPI_ModRatingAlreadyExists + if (result.Succeeded() + || result.code_api == ResultCode.RESTAPI_ModRatingAlreadyExists || result.code_api == ResultCode.RESTAPI_ModRatingNotFound) { // SUCCEEDED result = ResultBuilder.Success; + + ResponseCache.AddCurrentUserRating(modId, new Rating + { + modId = modId, + rating = modRating, + dateAdded = DateTime.Now, + }); } } @@ -1388,7 +1598,6 @@ public static async Task AddModRating(ModId modId, ModRating modRating) return result; } - public static async void AddModRating(ModId modId, ModRating rating, Action callback) { @@ -1406,7 +1615,7 @@ public static async void AddModRating(ModId modId, ModRating rating, callback?.Invoke(result); } - public static async Task> GetCurrentUser() + public static async Task> GetCurrentUser(bool allowOfflineUser = false) { var callbackConfirmation = openCallbacks.New(); @@ -1429,6 +1638,10 @@ public static async Task> GetCurrentUser() // Add UserProfile to cache (lasts for the whole session) ResponseCache.AddUserToCache(userProfile); } + else if (allowOfflineUser && result.IsNetworkError()) + { + userProfile = ResponseTranslator.ConvertUserObjectToUserProfile(UserData.instance.userObject); + } } callbackConfirmation.SetResult(true); @@ -1437,7 +1650,7 @@ public static async Task> GetCurrentUser() return ResultAnd.Create(result, userProfile); } - public static async Task GetCurrentUser(Action> callback) + public static async Task GetCurrentUser(Action> callback, bool allowOfflineUser = false) { // Early out if (callback == null) @@ -1449,7 +1662,7 @@ public static async Task GetCurrentUser(Action> callback) return; } - var result = await GetCurrentUser(); + var result = await GetCurrentUser(allowOfflineUser); callback(result); } @@ -1461,6 +1674,8 @@ public static async Task UnsubscribeFrom(ModId modId) if (IsInitialized(out result) && IsAuthenticatedSessionValid(out result)) { + ModIOUnityEvents.InvokeModSubscriptionChanged(modId, false); // Invoke the event immediately, as the plugin will keep attempting to unsubscribe on fail + var config = API.Requests.UnsubscribeFromMod.Request(modId); var task = await openCallbacks.Run(callbackConfirmation, WebRequestManager.Request(config)); @@ -1485,6 +1700,8 @@ public static async Task UnsubscribeFrom(ModId modId) } ModCollectionManager.RemoveModFromUserSubscriptions(modId, success); + + ModIOUnityEvents.InvokeModSubscriptionInfoChanged(modId); // We need an event afterwards, so we can grab updated file states and such that have changed in response } openCallbacks.Complete(callbackConfirmation); @@ -1529,6 +1746,8 @@ public static async Task SubscribeTo(ModId modId) if (IsInitialized(out result) && IsAuthenticatedSessionValid(out result)) { + ModIOUnityEvents.InvokeModSubscriptionChanged(modId, true); // Invoke the event immediately, as the plugin will keep attempting to subscribe on fail + var config = API.Requests.SubscribeToMod.Request(modId); var taskResult = await openCallbacks.Run(callbackConfirmation, WebRequestManager.Request(config)); @@ -1561,6 +1780,8 @@ public static async Task SubscribeTo(ModId modId) result = getModConfigResult.result; } + + ModIOUnityEvents.InvokeModSubscriptionInfoChanged(modId); } openCallbacks.Complete(callbackConfirmation); @@ -1583,7 +1804,6 @@ public static async void SubscribeTo(ModId modId, Action callback) callback?.Invoke(result); } - //Should this be exposed in ModIOUnity/ModIOUnityAsync? public static async Task> GetUserSubscriptions(SearchFilter filter) { @@ -1633,7 +1853,7 @@ public static SubscribedMod[] GetSubscribedMods(out Result result) public static InstalledMod[] GetInstalledMods(out Result result) { - if (IsInitialized(out result) /* && AreCredentialsValid(false, out result)*/) + if (IsInitialized(out result)) { InstalledMod[] mods = ModCollectionManager.GetInstalledMods(out result, true); return mods; @@ -1642,6 +1862,17 @@ public static InstalledMod[] GetInstalledMods(out Result result) return null; } + public static InstalledMod[] GetTempInstalledMods(out Result result) + { + if (IsInitialized(out result)) + { + InstalledMod[] mods = ModCollectionManager.GetTempInstalledMods(); + return mods; + } + + return Array.Empty(); + } + public static UserInstalledMod[] GetInstalledModsForUser(out Result result, bool includeDisabledMods) { //Filter for user @@ -1684,6 +1915,8 @@ public static Result RemoveUserData() ? ResultBuilder.Create(ResultCode.User_NotRemoved) : ResultBuilder.Success; + ModIOUnityEvents.OnUserRemoved(); + return result; } @@ -1813,7 +2046,11 @@ public static async Task> DownloadTexture(DownloadReference if (result.Succeeded()) { - IOUtil.TryParseImageData(resultAnd.value, out texture, out result); + if (!IOUtil.TryParseImageData(resultAnd.value, out texture, out result)) + { + //If we can't parse the image, clear it off disk + Result cleanupResult = DataStorage.DeleteStoredImage(downloadReference.url); + } } return ResultAnd.Create(result, texture); @@ -1875,8 +2112,22 @@ static async Task> DownloadImage(DownloadReference downloadRef // CACHE SUCCEEDED result = cacheResponse.result; image = cacheResponse.value; + + if (image?.Length == 0) + { + Result cleanupResult = DataStorage.DeleteStoredImage(downloadReference.url); + if(!cleanupResult.Succeeded()) + { + Logger.Log(LogLevel.Error, + $"[Internal] Failed to clean up zero byte cached image for modId {downloadReference.modId}" + + $" (cleanup result {cleanupResult.code}:{cleanupResult.code_api})"); + } + + image = null; + } } - else + + if(image == null) { // GET FILE STREAM TO DOWNLOAD THE IMAGE FILE TO // This stream is a direct write to the file location we will cache the @@ -2085,7 +2336,6 @@ public static async Task> CreateModProfile(CreationToken token, ResponseCache.ClearCache(); modDetails.modId = (ModId)response.value.id; - result = await ValidateModProfileMarketplaceTeam(modDetails); } } } @@ -2156,8 +2406,6 @@ public static async Task EditModProfile(ModProfileDetails modDetails) + " The 'tags' array in the ModProfileDetails will be ignored."); } - result = await ValidateModProfileMarketplaceTeam(modDetails); - var config = modDetails.logo != null ? API.Requests.EditMod.RequestPOST(modDetails) : API.Requests.EditMod.RequestPUT(modDetails); @@ -2193,50 +2441,6 @@ public static async void EditModProfile(ModProfileDetails modDetails, callback?.Invoke(result); } - /// - /// If a user attempts to create or edit a mod's monetization options to 'Live', - /// this method will ensure the monetization team and revenue split is set correctly - /// by setting the existing user's revenue share to 100%. - /// - /// - /// This first attempts to GET the monetization team before setting it. The reason we dont - /// just force it to always be the existing user with 100% revenue share is because the - /// revenue split can be edited and set with multiple users elsewhere. - /// (It's rare but possible, and we dont want to override an existing team) - /// - /// - /// - static async Task ValidateModProfileMarketplaceTeam(ModProfileDetails modDetails) - { - // If not setting monetization to live, we don't need to validate that a marketplace team has been setup - if (!modDetails.monetizationOptions.HasValue || modDetails.monetizationOptions.Value == MonetizationOption.None) - { - return ResultBuilder.Success; - } - - Result result = ResultBuilder.Unknown; - - if (modDetails.modId == null) - { - return result; - } - - var getResponse = await GetModMonetizationTeam(modDetails.modId.Value); - - if (getResponse.result.Succeeded()) - { - return ResultBuilder.Success; - } - - List team = new List - { - new ModMonetizationTeamDetails(UserData.instance.userObject.id, 100) - }; - result = await AddModMonetizationTeam(modDetails.modId.Value, team); - - return result; - } - public static async void DeleteTags(ModId modId, string[] tags, Action callback) { @@ -2840,12 +3044,10 @@ public static async void ArchiveModProfile(ModId modId, Action callback) static bool IsModfileDetailsValid(ModfileDetails modfile, out Result result) { // Check directory exists - if (modfile.uploadId == null && !DataStorage.TryGetModfileDetailsDirectory(modfile.directory, - out string _)) + if (modfile.uploadId == null && !DataStorage.IsDirectoryValid(modfile.directory)) { Logger.Log(LogLevel.Error, - "The provided directory in ModfileDetails could not be found or" - + $" does not exist ({modfile.directory})."); + $"The provided directory does not exist ({modfile.directory})."); result = ResultBuilder.Create(ResultCode.IO_DirectoryDoesNotExist); return false; } @@ -3184,42 +3386,17 @@ public static async void CompleteMultipartUploadSession(ModId modId, string uplo #region Monetization - public static async Task> GetTokenPacks(Action> callback = null) - { - var callbackConfirmation = openCallbacks.New(); - - TokenPack[] tokenPacks = Array.Empty(); - - if (IsInitialized(out Result result) && !ResponseCache.GetTokenPacksFromCache(out tokenPacks)) - { - var config = API.Requests.GetTokenPacks.Request(); - var task = await openCallbacks.Run(callbackConfirmation, WebRequestManager.Request(config)); - - result = task.result; - if (result.Succeeded()) - { - tokenPacks = ResponseTranslator.ConvertTokenPackObjectsToTokenPacks(task.value.data); - ResponseCache.AddTokenPacksToCache(tokenPacks); - } - } - - openCallbacks.Complete(callbackConfirmation); - - var resultAnd = ResultAnd.Create(result, tokenPacks); - - callback?.Invoke(resultAnd); - - return resultAnd; - } - public static async Task> SyncEntitlements() { + Logger.Log(LogLevel.Verbose, $"Sync Entitlements called"); Task> requestTask = null; Entitlement[] entitlements = null; WebRequestConfig config = null; #if UNITY_GAMECORE && !UNITY_EDITOR var token = await GamecoreHelper.GetToken(); + if(token == null) + return ResultAnd.Create(ResultCode.RESTAPI_XboxLiveTokenInvalid, entitlements); config = API.Requests.SyncEntitlements.XboxRequest(token); requestTask = WebRequestManager.Request(config); #elif UNITY_PS4 && !UNITY_EDITOR @@ -3236,8 +3413,20 @@ public static async Task> SyncEntitlements() config = API.Requests.SyncEntitlements.PsnRequest(token.code, token.environment, psb.serviceLabel); requestTask = WebRequestManager.Request(config); } -#elif UNITY_STANDALONE +#elif UNITY_STANDALONE && !UNITY_EDITOR config = API.Requests.SyncEntitlements.SteamRequest(); + requestTask = WebRequestManager.Request(config); +#elif (UNITY_ANDROID || UNITY_IOS) && !UNITY_EDITOR + var purchaseData = MobilePurchaseHelper.GetNextPurchase(); + var walletResponse = await ModIOUnityAsync.GetUserWalletBalance(); + if (!walletResponse.result.Succeeded()) + Logger.Log(LogLevel.Verbose, "Failed to get wallet balance."); + + if(Application.platform == RuntimePlatform.Android) + config = API.Requests.SyncEntitlements.GoogleRequest(purchaseData.PayloadJson); + else + config = API.Requests.SyncEntitlements.AppleRequest(purchaseData.Payload); + requestTask = WebRequestManager.Request(config); #else return ResultAnd.Create(ResultBuilder.Create(ResultCode.User_NotAuthenticated), null); @@ -3253,13 +3442,20 @@ public static async Task> SyncEntitlements() try { var task = await openCallbacks.Run(callbackConfirmation, requestTask); - result = task.result; if (result.Succeeded()) { + Logger.Log(LogLevel.Verbose, $"Entitlement Synced. New Balance: {task.value.wallet.balance}"); + ResponseCache.UpdateWallet(task.value.wallet.balance); entitlements = ResponseTranslator.ConvertEntitlementObjectsToEntitlements(task.value.data); ResponseCache.ReplaceEntitlements(entitlements); + ResponseCache.ClearWalletFromCache(); +#if (UNITY_ANDROID || UNITY_IOS) && !UNITY_EDITOR + MobilePurchaseHelper.CompleteValidation(entitlements); +#endif + + ModIOUnityEvents.OnUserEntitlementsChanged(); } } catch (Exception e) @@ -3292,7 +3488,7 @@ public static async void SyncEntitlements(Action> callb callback(result); } - public static async Task> PurchaseMod(ModId modId, int displayAmount, string idempotent) + public static async Task> PurchaseMod(ModId modId, int displayAmount, string idempotent, bool subscribeOnPurchase) { if (Regex.IsMatch(idempotent, "^[a-zA-Z0-9-]+$")) { @@ -3308,7 +3504,7 @@ public static async Task> PurchaseMod(ModId modId, in checkoutProcess.result = await IsMarketplaceEnabled(); if (checkoutProcess.result.Succeeded()) { - var config = API.Requests.PurchaseMod.Request(modId, displayAmount, idempotent); + var config = API.Requests.PurchaseMod.Request(modId, displayAmount, idempotent, subscribeOnPurchase); var resultAnd = await openCallbacks.Run(callbackConfirmation, WebRequestManager.Request(config)); if (resultAnd.result.Succeeded()) @@ -3317,8 +3513,30 @@ public static async Task> PurchaseMod(ModId modId, in ResponseCache.UpdateWallet(resultAnd.value.balance); ModCollectionManager.UpdateModCollectionEntry(modId, resultAnd.value.mod); ModCollectionManager.AddModToUserPurchases(modId); + ModIOUnityEvents.InvokeModPurchasedChanged(modId, true); + + //Now make sure we reflect that we're subscribed to it + ModCollectionManager.AddModToUserSubscriptions(modId); + + var getModConfig = API.Requests.GetMod.Request(modId); + var getModConfigResult = await openCallbacks.Run(callbackConfirmation, WebRequestManager.Request(getModConfig)); + + if (getModConfigResult.result.Succeeded()) + { + var profile = ResponseTranslator.ConvertModObjectToModProfile(getModConfigResult.value); + ResponseCache.AddModToCache(profile); + + ModCollectionManager.UpdateModCollectionEntry(modId, getModConfigResult.value); + } + + ModIOUnityEvents.InvokeModSubscriptionInfoChanged(modId); + ModManagement.WakeUp(); } + else + { + checkoutProcess.result = resultAnd.result; + } } } @@ -3327,7 +3545,7 @@ public static async Task> PurchaseMod(ModId modId, in return checkoutProcess; } - public static async void PurchaseMod(ModId modId, int displayAmount, string idempotent, Action> callback) + public static async void PurchaseMod(ModId modId, int displayAmount, string idempotent, bool subscribeOnPurchase, Action> callback) { // Check for callback if (callback == null) @@ -3339,7 +3557,7 @@ public static async void PurchaseMod(ModId modId, int displayAmount, string idem + "provide a valid callback."); } - ResultAnd result = await PurchaseMod(modId, displayAmount, idempotent); + ResultAnd result = await PurchaseMod(modId, displayAmount, idempotent, subscribeOnPurchase); callback?.Invoke(result); } @@ -3364,7 +3582,13 @@ public static async Task> GetUserPurchases(SearchFilter filte if (result.Succeeded()) { + foreach (ModObject modObject in task.value.data) + { + ModCollectionManager.UpdateModCollectionEntryFromModObject(modObject, false); + } + page = ResponseTranslator.ConvertResponseSchemaToModPage(task.value, filter); + ResponseCache.AddModsToCache(unpaginatedURL, offset, page); // Return the exact number of mods that were requested (not more) if (page.modProfiles.Length > filter.pageSize) @@ -3412,7 +3636,7 @@ public static async Task> GetUserWalletBalance() if (resultAnd.result.Succeeded()) { wallet = ResponseTranslator.ConvertWalletObjectToWallet(resultAnd.value); - ResponseCache.UpdateWallet(resultAnd.value); + ResponseCache.ReplaceWallet(resultAnd.value); } } } @@ -3437,72 +3661,194 @@ public static async void GetUserWalletBalance(Action> callback callback?.Invoke(result); } - public static async Task> GetModMonetizationTeam(ModId modId) + #endregion //Monetization + + #region TempModSet + public static async Task CreateTempModSet(IEnumerable modIds) { - var callbackConfirmation = openCallbacks.New(); + Result result; + if (IsInitialized(out result) && IsAuthenticatedSessionValid(out result)) + { + TempModSetManager.CreateTempModSet(modIds); - Result result; - MonetizationTeamAccount[] teamAccounts = default; + foreach (var id in modIds) + { + var r = await GetModObject(id); + if (r.result.Succeeded()) + { + ModCollectionManager.UpdateModCollectionEntry(new ModId(id), r.value, ModPriority.High); + } + else + { + Logger.Log(LogLevel.Error, "Failed to get mod."); + } + } + ModManagement.WakeUp(); + } - if (IsInitialized(out result) && IsAuthenticatedSessionValid(out result) - && !ResponseCache.GetModMonetizationTeamCache(modId, out teamAccounts)) + return result; + } + + public static async void CreateTempModSet(IEnumerable modIds, Action callback) + { + if (callback == null) { - var task = await API.Requests.GetModMonetizationTeam.Request(modId).RunViaWebRequestManager(); + Logger.Log( + LogLevel.Warning, + "No callback was given to the CreateTempModSet method. It is " + + "possible that this operation will not resolve successfully and should be " + + "checked with a proper callback."); + } - result = task.result; - if (task.result.Succeeded()) + Result result = await CreateTempModSet(modIds); + callback?.Invoke(result); + } + + public static Result DeleteTempModSet() + { + Result result = ResultBuilder.Unknown; + if (TempModSetManager.IsTempModSetActive()) + { + var allTempModSetMods = TempModSetManager.GetMods(true).ToList(); + var subscribedMods = ModIOUnity.GetSubscribedMods(out result); + var moveMods = new List(); + foreach (var subscribedMod in subscribedMods) + { + if (allTempModSetMods.Contains(subscribedMod.modProfile.id)) + { + moveMods.Add(subscribedMod.modProfile.id); + allTempModSetMods.Remove(subscribedMod.modProfile.id); + } + } + foreach (var modId in moveMods) { - teamAccounts = ResponseTranslator.ConvertGameMonetizationTeamObjectsToGameMonetizationTeams(task.value.data); + var fileId = ModCollectionManager.GetModFileId(modId); + if (fileId != null) + { + if (DataStorage.MoveTempModToInstallDirectory(modId, fileId.Value)) + { + Logger.Log(LogLevel.Error, $"Could not move mod from temp mod install directory to subscribed mod install directory"); + } + } + else + { + Logger.Log(LogLevel.Error, $"Could not file fileId"); + } + } + foreach (var modId in allTempModSetMods) + { + var fileId = ModCollectionManager.GetModFileId(new ModId(modId)); + if (fileId != null) + { + DataStorage.TryDeleteInstalledMod(modId, fileId.Value, out result); + if (!result.Succeeded()) + { + Logger.Log(LogLevel.Error, $"Failed to delete modfile[{modId}_{fileId}]"); + } + else + { + Logger.Log(LogLevel.Verbose, $"DELETED MODFILE[{modId}_{fileId}"); + } + } + else + { + Logger.Log(LogLevel.Error, $"Could not file fileId for mod id: {modId}"); + } + } + + TempModSetManager.DeleteTempModSet(); + ModManagement.WakeUp(); + } + + return result; + } - ResponseCache.AddModMonetizationTeamToCache(modId, teamAccounts); + public static async Task AddModsToTempModSet(IEnumerable modIds) + { + var callbackConfirmation = openCallbacks.New(); + + Result result = ResultBuilder.Unknown; + + if (TempModSetManager.IsTempModSetActive()) + { + TempModSetManager.AddMods(modIds); + foreach (var id in modIds) + { + var r = await GetModObject(id); + if (r.result.Succeeded()) + { + ModCollectionManager.UpdateModCollectionEntry(new ModId(id), r.value); + } + else + { + Debug.LogError("Failed to get mod."); + } } + ModManagement.WakeUp(); } openCallbacks.Complete(callbackConfirmation); - return ResultAnd.Create(result, teamAccounts); + return result; } - public static async void GetModMonetizationTeam(Action> callback, ModId modId) + public static async void AddModsToTempModSet(IEnumerable mods, Action callback) { - // Early out if (callback == null) { Logger.Log( LogLevel.Warning, - "No callback was given to the GetModMonetizationTeam method, any response " - + "returned from the server wont be used. This operation has been cancelled."); - return; + "No callback was given to the AddModsToTempModSet method. It is " + + "possible that this operation will not resolve successfully and should be " + + "checked with a proper callback."); } - ResultAnd result = await GetModMonetizationTeam(modId); + + Result result = await AddModsToTempModSet(mods); callback?.Invoke(result); } + public static Result RemoveModsFromTempModSet(IEnumerable mods) + { + Result result = ResultBuilder.Unknown; + if (TempModSetManager.IsTempModSetActive()) + TempModSetManager.RemoveMods(mods); + return result; + } - public static async Task AddModMonetizationTeam(ModId modId, ICollection team) + #endregion //TempModSet + + #region Service to Service + + public static async Task> RequestUserDelegationToken() { var callbackConfirmation = openCallbacks.New(); - - if (IsInitialized(out Result result) && IsAuthenticatedSessionValid(out result)) + ResultAnd resultAnd = ResultAnd.Create(ResultBuilder.Unknown, default); + if (IsInitialized(out resultAnd.result) && IsAuthenticatedSessionValid(out resultAnd.result)) { - var config = API.Requests.AddModMonetizationTeam.Request(modId, team); - result = await openCallbacks.Run(callbackConfirmation, - WebRequestManager.Request(config)); - - ResponseCache.ClearModMonetizationTeamFromCache(modId); + var config = API.Requests.RequestUserDelegationToken.Request(); + resultAnd = await openCallbacks.Run(callbackConfirmation, WebRequestManager.Request(config)); } openCallbacks.Complete(callbackConfirmation); - return result; + return resultAnd; } - public static async void AddModMonetizationTeam(Action callback, ModId modId, ICollection team) + public static async void RequestUserDelegationToken(Action> callback) { - Result result = await AddModMonetizationTeam(modId, team); + // Early out + if (callback == null) + { + Logger.Log( + LogLevel.Warning, + "No callback was given to the RequestUserDelegationToken method, any response " + + "returned from the server wont be used. This operation has been cancelled."); + return; + } + ResultAnd result = await RequestUserDelegationToken(); callback?.Invoke(result); } - #endregion //Monetization + #endregion } } diff --git a/Runtime/ModIO.Implementation/Classes/ModIOVersion.cs b/Runtime/ModIO.Implementation/Classes/ModIOVersion.cs index 683d39c..abc6152 100644 --- a/Runtime/ModIO.Implementation/Classes/ModIOVersion.cs +++ b/Runtime/ModIO.Implementation/Classes/ModIOVersion.cs @@ -5,35 +5,23 @@ internal struct ModIOVersion : System.IComparable { // ---------[ Singleton ]--------- /// Singleton instance for current version. - public static readonly ModIOVersion Current = new ModIOVersion(2024, 3, 1, "beta"); + public static readonly ModIOVersion Current = new ModIOVersion(2024, 8, 1, ""); // ---------[ Fields ]--------- /// Main Version number. - public int year; + public readonly int year; - // ---------[ Fields ]--------- /// Major version number. - /// Represents the major version number. Increases when there is a breaking change - /// to the interface. - /// Changing between versions of the codebase with a different X value, will require changes - /// to a consumer codebase in order to integrate. - public int month; + public readonly int month; /// Version build number. - /// Represents the build version number. Increases when a new release is created - /// for to the Asset Store/GitHub. - /// Changing between versions of the codebase with a different Y value, will never require - /// changes to a consumer codebase in order to integrate, but may offer additional - /// functionality if changes are made. - public int patch; + public readonly int patch; /// Suffix for the current version. - /// Represents additional, non-incremental version information about a build. - /// This will never represent a difference in functionality or behaviour, but instead - /// semantic information such as the production-readiness of a build, or the platform it was - /// built for. Always written in lower-case, using underscore as a name break as necessary. - /// - public string suffix; + public readonly string suffix; + + /// Header string containing all version information. + readonly string headerString; // ---------[ Initialization ]--------- /// Constructs an object with the given version values. @@ -48,6 +36,8 @@ public ModIOVersion(int year, int month, int patch, string suffix = null) suffix = string.Empty; } this.suffix = suffix; + + headerString = $"modio-{year}.{month}.{patch}{(suffix != string.Empty ? ("-" + suffix) : string.Empty)}"; } // ---------[ IComparable Interface ]--------- @@ -97,7 +87,7 @@ public int CompareTo(ModIOVersion other) #region Utility /// Creates the request header representation of the version. - public string ToHeaderString() => $"modio-{year.ToString()}.{month.ToString()}.{patch.ToString()}-{suffix}"; + public readonly string ToHeaderString() => headerString; #endregion // Utility diff --git a/Runtime/ModIO.Implementation/Classes/ModManagement.cs b/Runtime/ModIO.Implementation/Classes/ModManagement.cs index d6974c3..b586f47 100644 --- a/Runtime/ModIO.Implementation/Classes/ModManagement.cs +++ b/Runtime/ModIO.Implementation/Classes/ModManagement.cs @@ -2,6 +2,7 @@ using System.Threading.Tasks; using ModIO.Implementation.API; using ModIO.Implementation.API.Objects; +using Runtime.Enums; namespace ModIO.Implementation { @@ -74,9 +75,10 @@ internal static class ModManagement /// /// Delegate that gets invoked whenever mod management starts, fails or ends a task/job /// - public static ModManagementEventDelegate modManagementEventDelegate; + public static event ModManagementEventDelegate modManagementEventDelegate; + internal static void ClearModManagementEventDelegate() => modManagementEventDelegate = null; // Quick fix to allow for multiple subscriptions to the delegate - static HashSet abortingDownloadsModObjectIds = new HashSet(); + static HashSet abortingDownloadsOrInstallsModObjectIds = new HashSet(); #region Creation Tokens public static CreationToken GenerateNewCreationToken() @@ -150,6 +152,7 @@ public static void AbortCurrentInstallJob() $"Aborting installation of Mod[{currentJob.modEntry.modObject.id}_" + $"{currentJob.modEntry.modObject.modfile.id}]"); ModManagement.currentJob.zipOperation.Cancel(); + abortingDownloadsOrInstallsModObjectIds.Add(currentJob.modEntry.modObject.id); //I'm guessing this might put it into the tainted mods? //Let's write a test. @@ -161,12 +164,12 @@ public static void AbortCurrentDownloadJob() $"Aborting download of Mod[{currentJob.modEntry.modObject.id}_" + $"{currentJob.modEntry.modObject.modfile.id}]"); currentJob.downloadWebRequest?.cancel?.Invoke(); - abortingDownloadsModObjectIds.Add(currentJob.modEntry.modObject.id); + abortingDownloadsOrInstallsModObjectIds.Add(currentJob.modEntry.modObject.id); } static bool DownloadIsAborting(long id) { - return abortingDownloadsModObjectIds.Contains(id); + return abortingDownloadsOrInstallsModObjectIds.Contains(id); } static async Task PerformJobs() @@ -184,7 +187,7 @@ static async Task PerformJobs() if(DownloadIsAborting(currentJob.modEntry.modObject.id)) { //clean this up, we shouldn't get here again - abortingDownloadsModObjectIds.Remove(currentJob.modEntry.modObject.id); + abortingDownloadsOrInstallsModObjectIds.Remove(currentJob.modEntry.modObject.id); if(previousJobs.ContainsKey(currentJob.modEntry.modObject.id)) previousJobs.Remove(currentJob.modEntry.modObject.id); } @@ -385,16 +388,6 @@ public static async Task PerformJob(ModManagementJob job) ModManagementEventType.Uninstalled, ResultBuilder.Success); - // Re-check mods that may not have installed from low storage space - if(notEnoughStorageMods.Count > 0) - { - // Also remove the temp archive file if we know we ran into storage issues - // We do not need to check the result - DataStorage.TryDeleteModfileArchive(modId, job.modEntry.currentModfile.id, out Result _); - // the reason we dont always delete the archive is because a user may - // accidentally hit unsubscribe or change their mind a few seconds later - // and if it is a large mod it would take a long time to re-download it. - } // Flush not enough space mods from the tainted list so they will be re-attempted foreach(var mod in notEnoughStorageMods) { @@ -434,8 +427,12 @@ static async Task PerformOperation_Download(ModManagementJob job) long modId = job.modEntry.modObject.id; long fileId = job.modEntry.modObject.modfile.id; + long totalArchiveFileSize = job.modEntry.modObject.modfile.filesize + job.modEntry.modObject.modfile.filesize_uncompressed; + // Check for enough storage space - if(!await DataStorage.temp.IsThereEnoughDiskSpaceFor(job.modEntry.modObject.modfile.filesize)) + // Since we need both the archive & the mods install, we check if we can fit both + // Should prevent rogue archives from stealing away our storage space + if(!await DataStorage.temp.IsThereEnoughDiskSpaceFor(totalArchiveFileSize)) { Logger.Log(LogLevel.Error, $"INSUFFICIENT STORAGE FOR DOWNLOAD [{modId}_{fileId}]"); notEnoughStorageMods.Add((ModId)modId); @@ -485,20 +482,29 @@ static async Task PerformOperation_Download(ModManagementJob job) string md5 = job.modEntry.modObject.modfile.filehash.md5; string downloadFilepath = DataStorage.GenerateModfileArchiveFilePath(modId, fileId); - Result downloadResult = ResultBuilder.Unknown; + var downloadToFileHandle = WebRequestManager.DownloadToFile(fileURL, downloadFilepath, job.progressHandle); - using (ModIOFileStream downloadStream = DataStorage.CreateArchiveDownloadStream(downloadFilepath, out Result openStreamResult)) + Result downloadResult; + if (downloadToFileHandle != null) + { + job.downloadWebRequest = downloadToFileHandle; + downloadResult = await downloadToFileHandle.task; + } + else { - if(!openStreamResult.Succeeded()) + using ModIOFileStream downloadStream = DataStorage.CreateArchiveDownloadStream(downloadFilepath, out Result openStreamResult); + + if (!openStreamResult.Succeeded()) { // Failed to open file stream to download to return DownloadCleanup(result, modId, fileId); } // downloadResult = await ModioCommunications.DownloadBinary(fileURL, downloadStream, job.progressHandle); - var handle = WebRequestManager.Download(fileURL, downloadStream, job.progressHandle); - job.downloadWebRequest = handle; - downloadResult = await handle.task; + downloadToFileHandle = WebRequestManager.Download(fileURL, downloadStream, job.progressHandle); + + job.downloadWebRequest = downloadToFileHandle; + downloadResult = await downloadToFileHandle.task; } // Begin download @@ -506,7 +512,6 @@ static async Task PerformOperation_Download(ModManagementJob job) // ResultAnd downloadResponse = await RESTAPI.Request( // fileURL, DownloadBinary.Template, null, downloadHandler, // job.progressHandle); - // Check download result if(downloadResult.Succeeded()) { @@ -558,12 +563,8 @@ static async Task PerformOperation_Download(ModManagementJob job) static Result DownloadCleanup(Result result, long modId, long fileId) { - if(!result.Succeeded()) - { - // cleanup any file that may or may not have downloaded because it's corrupted - DataStorage.TryDeleteModfileArchive( - modId, fileId, out Result _); - } + DataStorage.TryDeleteModfileArchive(modId, fileId, out Result _); + return result; } @@ -572,21 +573,18 @@ static async Task PerformOperation_Install(ModManagementJob job) long modId = job.modEntry.modObject.id; long fileId = job.modEntry.modObject.modfile.id; - // Check for enough storage space - // TODO update this later when we can confirm actual extracted file size - // For now we are just making sure we have double the available space of the archive size as the estimate for the extracted file - if(!await DataStorage.persistent.IsThereEnoughDiskSpaceFor(job.modEntry.modObject.modfile.filesize * 2L)) + var extractOperation = new ExtractOperation(modId, fileId, job.progressHandle); + Result resultStorageTest = await extractOperation.IsThereEnoughSpaceForExtracting(); + + if (!resultStorageTest.Succeeded()) { Logger.Log(LogLevel.Error, $"INSUFFICIENT STORAGE FOR INSTALLATION [{modId}_{fileId}]"); notEnoughStorageMods.Add((ModId)modId); - return ResultBuilder.Create(ResultCode.IO_InsufficientStorage); + return DownloadCleanup(resultStorageTest, job.modEntry.modObject.id, job.modEntry.modObject.modfile.id); } Logger.Log(LogLevel.Verbose, $"INSTALLING MODFILE[{modId}_{fileId}]"); - ExtractOperation extractOperation = - new ExtractOperation(modId, fileId, job.progressHandle); - // Cached so it can be cancelled on shutdown job.zipOperation = extractOperation; @@ -713,7 +711,7 @@ public static async Task DownloadNow(ModId modId) } else { - ModCollectionManager.UpdateModCollectionEntry(modId, modResponse.value, -1); + ModCollectionManager.UpdateModCollectionEntry(modId, modResponse.value, ModPriority.Urgent); } if (currentJob != null && currentJob.progressHandle.OperationType == ModManagementOperationType.Download) @@ -843,7 +841,7 @@ static ModManagementJob FilterJob(ModManagementJob job, ModCollectionEntry mod, job = new ModManagementJob { modEntry = mod, type = jobType }; } - if(mod.priority < job.modEntry.priority) + if(mod.priority > job.modEntry.priority) { job = new ModManagementJob { modEntry = mod, type = jobType }; } @@ -868,8 +866,7 @@ static async Task GetNextJobTypeForModCollectionEntr if(delete ) { - if(DataStorage.TryGetInstallationDirectory(modId, currentFileId, - out string _)) + if(DataStorage.TryGetInstallationDirectory(modId, currentFileId, out string _)) { return ModManagementOperationType.Uninstall; } @@ -877,8 +874,7 @@ static async Task GetNextJobTypeForModCollectionEntr // NOT INSTALLED (Tag entry for cleanup) uninstalledModsWithNoUserSubscriptions.Add(modId); } - else if(DataStorage.TryGetInstallationDirectory(modId, currentFileId, - out string _)) + else if(DataStorage.TryGetInstallationDirectory(modId, currentFileId, out string _)) { // INSTALLED (Check for update) if(currentFileId != fileId) @@ -909,6 +905,9 @@ static async Task GetNextJobTypeForModCollectionEntr } static bool ShouldThisModBeUninstalled(ModId modId) { + if (TempModSetManager.IsPartOfModSet(modId)) + return false; + List users = new List(); using(var enumerator = ModCollectionManager.Registry.existingUsers.GetEnumerator()) @@ -924,7 +923,7 @@ static bool ShouldThisModBeUninstalled(ModId modId) } } - if(users.Count == 0) + if (users.Count == 0) { // No subscribed users, we can uninstall this mod return true; @@ -994,9 +993,11 @@ static bool ShouldModManagementBeRunning() return true; } - public static void RemoveModFromTaintedJobs(ModId modid) + public static void RetryFailedDownload(ModId modid) { + previousJobs.Remove(modid); taintedMods.Remove(modid); + WakeUp(); } } } diff --git a/Runtime/ModIO.Implementation/Classes/ModioPlatform.cs b/Runtime/ModIO.Implementation/Classes/ModioPlatform.cs new file mode 100644 index 0000000..ab1fab5 --- /dev/null +++ b/Runtime/ModIO.Implementation/Classes/ModioPlatform.cs @@ -0,0 +1,93 @@ +using System.IO; +using System.Threading.Tasks; +using ModIO.Implementation.API; +using UnityEngine; + +namespace ModIO.Implementation +{ + public class ModioPlatform + { + static ModioPlatform _activePlatform; + public static ModioPlatform ActivePlatform + { + get + { + if(_activePlatform != null) + return _activePlatform; + + if (!Application.isConsolePlatform) + _activePlatform = new ModioPlatform(); + else + Logger.Log(LogLevel.Error, "You must ser a ModioPlatform before calling some Modio classes on consoles"); + + return _activePlatform; + } + protected set + { + if (_activePlatform != null) + { + Logger.Log(LogLevel.Warning, $"Overriding active ModioPlatform to {value} after it was already set to {_activePlatform}." + + "Any previously called methods may have been called on the previous one"); + } + _activePlatform = value; + } + } + + + /// + /// Set to true if you need smaller applet friendly pages on your platform + /// + public virtual bool WebBrowserNeedsSimplePages => false; + + public virtual void OpenWebPage(string url) + { + Application.OpenURL(url); + } + + public virtual bool TokenPackAvailableOnPlatform(TokenPack tokenPack) + { + if (GetPortalForPlatform(tokenPack, out _)) return true; + + return false; + } + + protected static bool GetPortalForPlatform(TokenPack tokenPack, out TokenPack.Portal portal) + { + var portalShortCode = ServerConstants.ConvertUserPortalToHeaderValue(Settings.build.userPortal); + foreach (var tokenPackPortal in tokenPack.portals) + { + if (tokenPackPortal.portal == portalShortCode) + { + portal = tokenPackPortal; + return true; + } + } + portal = default; + return false; + } + + public virtual Task OpenPlatformPurchaseFlow() + { + Debug.LogError($"not yet implemented: opening platform store"); + return Task.FromResult(ResultBuilder.Unknown); + } + + public virtual bool TryGetAvailableDiskSpace(out long availableFreeSpace) + { + availableFreeSpace = 0; +#if !ENABLE_IL2CPP + string persistentRootDirectory = DataStorage.persistent?.RootDirectory; + if (persistentRootDirectory == null) + { + return false; + } + FileInfo f = new FileInfo(persistentRootDirectory); + string drive = Path.GetPathRoot(f.FullName); + DriveInfo d = new DriveInfo(drive); + availableFreeSpace = d.AvailableFreeSpace; + return true; +#endif + return false; + } + } +} diff --git a/Runtime/ModIO.Implementation/Classes/ModioPlatform.cs.meta b/Runtime/ModIO.Implementation/Classes/ModioPlatform.cs.meta new file mode 100644 index 0000000..e5dd54f --- /dev/null +++ b/Runtime/ModIO.Implementation/Classes/ModioPlatform.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 22c8ab08f41943df848627cf3e9cda6f +timeCreated: 1715566804 \ No newline at end of file diff --git a/Runtime/ModIO.Implementation/Classes/ModioUnityPlatformExampleLoader.cs b/Runtime/ModIO.Implementation/Classes/ModioUnityPlatformExampleLoader.cs new file mode 100644 index 0000000..2023b75 --- /dev/null +++ b/Runtime/ModIO.Implementation/Classes/ModioUnityPlatformExampleLoader.cs @@ -0,0 +1,58 @@ +using System; +using System.Linq; +using UnityEngine; + +namespace ModIO.Implementation +{ + public class ModioUnityPlatformExampleLoader : MonoBehaviour + { + [Serializable] + class PlatformExamples + { + public RuntimePlatform[] Platforms; + public string[] PrefabNames; + } + + [SerializeField] + PlatformExamples[] _platformExamplesPerPlatform; + + void Awake() + { + var runtimePlatform = Application.platform; + foreach (var platformExamples in _platformExamplesPerPlatform) + { + if (!platformExamples.Platforms.Contains(runtimePlatform)) + continue; + + foreach (string prefabName in platformExamples.PrefabNames) + { + GameObject prefab = Resources.Load(prefabName); + if (prefab != null) + Instantiate(prefab, transform); + else + Debug.LogError($"Couldn't find expected platformExample {prefabName} for platform {runtimePlatform}"); + } + } + } + + [ContextMenu("TestAllPrefabNamesAreFound")] + void TestAllPrefabNamesAreFound() + { + bool issues = false; + foreach (var platformExamples in _platformExamplesPerPlatform) + { + foreach (string prefabName in platformExamples.PrefabNames) + { + GameObject prefab = Resources.Load(prefabName); + if (prefab == null) + { + Debug.LogError($"Couldn't find expected platformExample {prefabName} for platform {platformExamples.Platforms.FirstOrDefault()}"); + issues = true; + } + } + } + if (!issues) + Debug.Log("No issues found"); + } + } +} diff --git a/Runtime/ModIO.Implementation/Classes/ModioUnityPlatformExampleLoader.cs.meta b/Runtime/ModIO.Implementation/Classes/ModioUnityPlatformExampleLoader.cs.meta new file mode 100644 index 0000000..09d9fff --- /dev/null +++ b/Runtime/ModIO.Implementation/Classes/ModioUnityPlatformExampleLoader.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d893cb02e65f4c99a4a0fab027d0c666 +timeCreated: 1722313750 \ No newline at end of file diff --git a/Runtime/ModIO.Implementation/Classes/ResultAnd.cs b/Runtime/ModIO.Implementation/Classes/ResultAnd.cs index 5d2209e..630c5d8 100644 --- a/Runtime/ModIO.Implementation/Classes/ResultAnd.cs +++ b/Runtime/ModIO.Implementation/Classes/ResultAnd.cs @@ -2,7 +2,7 @@ namespace ModIO.Implementation { /// Convenience wrapper for creating a ResultAnd. - internal static class ResultAnd + public static class ResultAnd { public static ResultAnd Create(Result result, U value) { diff --git a/Runtime/ModIO.Implementation/Classes/ResultCode.cs b/Runtime/ModIO.Implementation/Classes/ResultCode.cs index fff9840..be40907 100644 --- a/Runtime/ModIO.Implementation/Classes/ResultCode.cs +++ b/Runtime/ModIO.Implementation/Classes/ResultCode.cs @@ -141,11 +141,20 @@ internal static class ResultCode // 11009 You have been rate limited from calling this endpoint again, for making too many requests. See Rate Limiting. public const uint RESTAPI_RateLimitExceededEndpoint = 11009; - // 11012 Invalid security code. - public const uint RESTAPI_11012 = 11012; + // 11011 You have already redeemed this security code. + public const uint RESTAPI_EmailExchangeCodeAlreadyRedeemed = 11011; - // 11014 security code has expired. Please request a new code - public const uint RESTAPI_11014 = 11014; + // 11012 This security code has expired. Please request a new code. + public const uint RESTAPI_EmailExchangeCodeExpired = 11012; + + // 11013 This security code is for a different API Key. Please contact support. + public const uint RESTAPI_EmailExchangeDifferentApiKey = 11013; + + // 11014 Invalid security code. Please request a new code. + public const uint RESTAPI_EmailExchangeInvalidCode = 11014; + + // 11015 Email link already used to auth. + public const uint RESTAPI_AuthLinkEmailAlreadyUsed = 11015; // 11069 error.monetization_iap_connected_portal_account_not_found public const uint RESTAPI_PortalAccountNotFound = 11069; @@ -155,7 +164,6 @@ internal static class ResultCode // 13002 The submitted binary file is unreadable. public const uint RESTAPI_SubmittedBinaryUnreadable = 13002; - // 13004 You have used the input_json parameter with semantically incorrect JSON. public const uint RESTAPI_JSONMalformed = 13004; @@ -209,6 +217,9 @@ internal static class ResultCode // 15028 The mod rating is already positive/negative public const uint RESTAPI_ModRatingAlreadyExists = 15028; + // 15030 The reported mod is currently unauthorized or deleted and not eligible for reporting. + public const uint REPORT_RESOURCE_NOT_AVAILABLE_FOR_REPORT = 15030; + // 15043 The mod rating is already removed public const uint RESTAPI_ModRatingNotFound = 15043; @@ -218,15 +229,11 @@ internal static class ResultCode // Codes I need to to do for auth/response cache: // from - // https://docs.mod.io/#authenticate-via-steam + // https://docs.mod.io/restapiref/#authenticate-via-steam // 11018 The steam encrypted app ticket was invalid. public const uint RESTAPI_InvalidSteamEncryptedAppTicket = 11018; - // 11032 mod.io was unable to verify the credentials against the external service - // provider. - public const uint RESTAPI_CantVerifyCredentialsExternally = 11032; - // 11016 The api_key supplied in the request must be associated with a game. public const uint RESTAPI_KeyNotAssociatedWithGame = 11016; @@ -237,10 +244,10 @@ internal static class ResultCode // 11019 The secret steam app ticket associated with this game has not been configured. public const uint RESTAPI_SecretSteamAppTicketNotConfigured = 11019; - // 11051 The user has not agreed to the mod.io Terms of Use. - // Please see terms_agreed parameter description and the Terms endpoint for more - // information. - public const uint RESTAPI_UserMustAgreeToModIoTerms = 11051; + // 11020 Unable to get steam account data. + public const uint RESTAPI_SteamUnableToGetAccountData = 11020; + + /* GOG */ // 11021 The GOG Galaxy encrypted app ticket was invalid. public const uint RESTAPI_GogInvalidAppTicket = 11021; @@ -249,8 +256,10 @@ internal static class ResultCode // configured. public const uint RESTAPI_GogGameNotConfigured = 11022; - // 11031 mod.io was unable to get account data from itch.io servers. - public const uint RESTAPI_UnableToFetchAccountDataFromItchIo = 11031; + // 11023 Unable to get GOG account data. + public const uint RESTAPI_GogUnableToGetAccountData = 11023; + + /* Oculus */ // 11024 The secret Oculus Rift app ticket associated with this game has not been // configured. @@ -260,19 +269,40 @@ internal static class ResultCode // configured. public const uint RESTAPI_OculusQuestAppTicketNotConfigured = 11025; + // 11026 Unable to get Oculus account data. + public const uint RESTAPI_OculusUnableToGetAccountData = 11026; + + /* XBOX */ + // 11027 The Xbox Live token supplied in the request is invalid. public const uint RESTAPI_XboxLiveTokenInvalid = 11027; - // 11029 The Xbox Live token supplied has expired. - public const uint RESTAPI_XboxLiveTokenExpired = 11029; - // 11028 The user is not permitted to interact with UGC. This can be modified in the // user's Xbox Live profile. public const uint RESTAPI_XboxNotAllowedToInteractWithUGC = 11028; + // 11029 The Xbox Live token supplied has expired. + public const uint RESTAPI_XboxLiveTokenExpired = 11029; + // 11030 Xbox Live users with 'Child' accounts are not permitted to use mod.io. public const uint RESTAPI_XboxLiveChildAccountNotPermitted = 11030; + // 11042 Unable to get Json Web key signature from Xbox Live. + public const uint RESTAPI_XboxLiveUnableToGetJwkSignature = 11042; + + + // 11031 mod.io was unable to get account data from itch.io servers. + public const uint RESTAPI_UnableToFetchAccountDataFromItchIo = 11031; + + // 11032 mod.io was unable to verify the credentials against the external service + // provider. + public const uint RESTAPI_CantVerifyCredentialsExternally = 11032; + + // 11034 User is already verified by mod.io servers. + public const uint RESTAPI_UserAlreadyVerified = 11034; + + /* Nintendo Switch */ + // 11035 The NSA ID token was invalid/malformed. public const uint RESTAPI_NsaIdTokenInvalid = 11035; @@ -296,6 +326,58 @@ internal static class ResultCode // authentication request. public const uint RESTAPI_NintendoSwitchNotPermittedToAuthUsers = 11041; + /* Epic Games */ + + // 11044 Invalid Epic Games token. + public const uint RESTAPI_EpicGamesInvalidToken = 11044; + + // 11045 Attempted to redeem Epic Games token before it's valid. + // Expired. + public const uint RESTAPI_EpicGamesInvalidTokenNotValidBefore = 11045; + + // 11046 Attempted to redeem Epic Games token after it's valid. + // Expired. + + public const uint RESTAPI_EpicGamesINvalidTokenNotValidAFter = 11046; + + // 11048 Unable to get Epic Games json web key Signature + public const uint RESTAPI_EpicGamesUnableToGetJwkSignature = 11048; + + // 11049 Unable to get Epic Games account data + public const uint RESTAPI_EpicGamesUnableToGetAccountData = 11049; + + /* PSN */ + + // 11080 Invalid PSN Token + public const uint RESTAPI_PsnInavalidToken = 11080; + + // 11081 Attempting to redeem PSN token before it's valid. + // Expired. + public const uint RESTAPI_PsnInvalidTokenNotValidBefore = 11081; + + // 11082 Attempted to redeem PSN token after it's expired. + // Expired. + public const uint RESTAPI_PsnInvalidTokenNotValidAfter = 11082; + + // 11083 Unable to get Json Web Key from PSN servers + public const uint RESTAPI_PsnUnableToGetJwkSignature = 11083; + + // 11084 Unable to get account data from PSN servers + public const uint RESTAPI_PsnUnableToGetAccountData = 11084; + + // 11085 PSN child profile is not permitted to access this service + public const uint RESTAPI_PsnChildProfileNotPermitted = 11085; + + // 11096 The user is not permitted to interact with UGC. This can be modified in the + // user's PSN profile. + public const uint RESTAPI_PsnUgcInteractionNotPermitted = 11096; + + + // 11051 The user has not agreed to the mod.io Terms of Use. + // Please see terms_agreed parameter description and the Terms endpoint for more + // information. + public const uint RESTAPI_UserMustAgreeToModIoTerms = 11051; + // 11052 The access token was invalid/malformed. public const uint RESTAPI_AccessTokenInvalid = 11052; @@ -312,6 +394,15 @@ internal static class ResultCode // 11043 mod.io was unable to get account data from the Discord servers. public const uint RESTAPI_DiscordUnableToGetAccountData = 11043; + // 11058 The Facebook access token is invalid. + public const uint RESTAPI_FacebookInvalidToken = 11058; + + // 11067 Unable to get Facebook account data. + public const uint RESTAPI_FacebookUnableToGetAccountData = 11067; + + // 11059 User must be logged in before making requests. + public const uint RESTAPI_UserMustBeLoggedIn = 11059; + public const uint FILEUPLOAD_Error = 30033; #endregion @@ -436,8 +527,12 @@ internal static class ResultCode "You have been rate limited globally for making too many requests. See Rate Limiting." }, { RESTAPI_RateLimitExceededEndpoint, "You have been rate limited from calling this endpoint again, for making too many requests. See Rate Limiting." }, - { RESTAPI_11012, "Invalid security code." }, - { RESTAPI_11014, "Security code has expired. Please request a new code." }, + + // EMAIL CODES + { RESTAPI_EmailExchangeCodeAlreadyRedeemed, "Security code already redeemed. Please request a new code."}, + { RESTAPI_EmailExchangeCodeExpired, "Security code has expired. Please request a new code." }, + { RESTAPI_EmailExchangeDifferentApiKey, "Security code is for a different API Key. Please contact support." }, + { RESTAPI_EmailExchangeInvalidCode, "Invalid security code. Please request a new code." }, { RESTAPI_SubmittedBinaryCorrupt, "The submitted binary file is corrupted." }, { RESTAPI_SubmittedBinaryUnreadable, "The submitted binary file is unreadable." }, { RESTAPI_JSONMalformed, @@ -466,46 +561,102 @@ internal static class ResultCode { RESTAPI_ModRatingAlreadyExists, "The mod rating is already positive/negative" }, { RESTAPI_ModRatingNotFound, "The mod rating is already removed" }, { RESTAPI_UserIdNotFound, "The requested user could not be found." }, + { RESTAPI_UserAlreadyVerified, "User is already verified with mod.io servers." }, + { RESTAPI_UserMustBeLoggedIn, "User is not logged in yet. Please log in to complete requests." }, + - { RESTAPI_InvalidSteamEncryptedAppTicket, - "The steam encrypted app ticket was invalid." }, { RESTAPI_CantVerifyCredentialsExternally, "mod.io was unable to verify the credentials against the external service provider." }, { RESTAPI_KeyNotAssociatedWithGame, "The api_key supplied in the request must be associated with a game." }, { RESTAPI_TestKeyForTestEnvOnly, "The api_key supplied in the request is for test environment purposes only and cannot be used for this functionality." }, + { RESTAPI_UserMustAgreeToModIoTerms, + "The user has not agreed to the mod.io Terms of Use. Please see terms_agreed parameter description and the Terms endpoint for more information." }, + + /* Steam */ + { RESTAPI_InvalidSteamEncryptedAppTicket, + "The steam encrypted app ticket was invalid." }, { RESTAPI_SecretSteamAppTicketNotConfigured, "The secret steam app ticket associated with this game has not been configured." }, - { RESTAPI_UserMustAgreeToModIoTerms, - "The user has not agreed to the mod.io Terms of Use. Please see terms_agreed parameter description and the Terms endpoint for more information." }, - { RESTAPI_GogInvalidAppTicket, "The GOG Galaxy encrypted app ticket was invalid." }, + { RESTAPI_SteamUnableToGetAccountData, + "Unable to get account data from Steam, please try again later." }, + + /* GOG */ + { RESTAPI_GogInvalidAppTicket, + "The GOG Galaxy encrypted app ticket was invalid." }, + { RESTAPI_GogUnableToGetAccountData, + "Unable to get account data from GOG, please try again later." }, { RESTAPI_GogGameNotConfigured, "The secret GOG Galaxy app ticket associated with this game has not been configured." }, + { RESTAPI_UnableToFetchAccountDataFromItchIo, "mod.io was unable to get account data from itch.io servers." }, + + /* Oculus */ { RESTAPI_OculusRiftAppTicketNotConfigured, "The secret Oculus Rift app ticket associated with this game has not been configured." }, { RESTAPI_OculusQuestAppTicketNotConfigured, "The secret Oculus Quest app ticket associated with this game has not been configured." }, + { RESTAPI_OculusUnableToGetAccountData, + "Unable to get account data from Oculus. Please try again later." }, + + /* XBOX */ { RESTAPI_XboxLiveTokenInvalid, "The Xbox Live token supplied in the request is invalid." }, - { RESTAPI_XboxLiveTokenExpired, "The Xbox Live token supplied has expired." }, + { RESTAPI_XboxLiveTokenExpired, + "The Xbox Live token supplied has expired." }, { RESTAPI_XboxNotAllowedToInteractWithUGC, "The user is not permitted to interact with UGC. This can be modified in the user's Xbox Live profile." }, { RESTAPI_XboxLiveChildAccountNotPermitted, "Xbox Live users with 'Child' accounts are not permitted to use mod.io." }, - { RESTAPI_NsaIdTokenInvalid, "The NSA ID token was invalid/malformed." }, + { RESTAPI_XboxLiveUnableToGetJwkSignature, + "Unable to get the JSON Web Key from Xbox Live. Please try again later." }, + + /* PSN */ + { RESTAPI_PsnInavalidToken, + "The PSN token supplied in the request is invalid." }, + { RESTAPI_PsnInvalidTokenNotValidAfter, + "The PSN token has expired. Please request a new token and ensure it is delivered to mod.io before it expires." }, + { RESTAPI_PsnInvalidTokenNotValidBefore, + "The PSN token is not valid yet." }, + { RESTAPI_PsnUnableToGetAccountData, + "Unable to get account data from PSN. Please try again later." }, + { RESTAPI_PsnUnableToGetJwkSignature, + "Unable to get JSON Web Key from PSN. Please try again later." }, + { RESTAPI_PsnChildProfileNotPermitted, + "Child accounts are not permitted to use external services such as mod.io." }, + { RESTAPI_PsnUgcInteractionNotPermitted, + "This user is not permitted to interact with UGC. This can be modified in the user's PSN profile." }, + + /* Nintendo Switch */ + { RESTAPI_NsaIdTokenInvalid, + "The NSA ID token was invalid/malformed." }, { RESTAPI_UnableToVerifyNintendoCredentials, "mod.io was unable to validate the credentials with Nintendo Servers." }, - { RESTAPI_NsaIdTokenNotValidYet, "The NSA ID token is not valid yet." }, + { RESTAPI_NsaIdTokenNotValidYet, + "The NSA ID token is not valid yet." }, { RESTAPI_NsaIdTokenExpired, "The NSA ID token has expired. You should request another token from the Switch SDK and ensure it is delivered to mod.io before it expires." }, { RESTAPI_NintendoSwitchAppIdNotConfigured, "The application ID for the Nintendo Switch title has not been configured, this can be setup in the 'Options' tab within your game profile." }, { RESTAPI_NintendoSwitchNotPermittedToAuthUsers, "The application ID of the originating Switch title is not permitted to authenticate users. Please check the Switch application id submitted on your games' 'Options' tab and ensure it is the same application id of the Switch title making the authentication request." }, - { RESTAPI_AccessTokenInvalid, "//11052 The access token was invalid/malformed." }, + + /* Epic Games */ + { RESTAPI_EpicGamesInvalidToken, + "The Epic Games token supplied in the request is invalid." }, + { RESTAPI_EpicGamesINvalidTokenNotValidAFter, + "The Epic Games token has expired. Please request a new token and ensure it is delivered to mod.io before it expires." }, + { RESTAPI_EpicGamesInvalidTokenNotValidBefore, + "The Epic Games token is not valid yet." }, + { RESTAPI_EpicGamesUnableToGetAccountData, + "Unable to get account data from Epic Games. Please try again later." }, + { RESTAPI_EpicGamesUnableToGetJwkSignature, + "Unable to get JSON Web Key from Epic Games. Please try again later." }, + + { RESTAPI_AccessTokenInvalid, + "//11052 The access token was invalid/malformed." }, { RESTAPI_UnableToValidateCredentialsWithGoogle, "mod.io was unable to validate the credentials with Google's servers." }, { RESTAPI_GoogleAccessTokenNotValidYet, "The Google access token is not valid yet." }, @@ -513,6 +664,10 @@ internal static class ResultCode "The Google access token has expired. You should request another token from the Google SDK and ensure it is delivered to mod.io before it expires." }, { RESTAPI_DiscordUnableToGetAccountData, "mod.io was unable to get account data from the Discord servers." }, + { RESTAPI_FacebookInvalidToken, + "The Facebook access token is invalid." }, + { RESTAPI_FacebookUnableToGetAccountData, + "Unable to get account data from Facebook. Please try again later." }, }; public static bool IsInvalidSession(ErrorObject errorObject) diff --git a/Runtime/ModIO.Implementation/Classes/SessionData.cs b/Runtime/ModIO.Implementation/Classes/SessionData.cs new file mode 100644 index 0000000..2fb8a30 --- /dev/null +++ b/Runtime/ModIO.Implementation/Classes/SessionData.cs @@ -0,0 +1,12 @@ +using System.Threading; + +namespace Plugins.mod.io.Runtime.ModIO.Implementation.Classes +{ + internal class SessionData + { + public string SessionId; + public long[] ModIds; + public int CurrentNonce; + public CancellationTokenSource HeartbeatCancellationToken; + } +} diff --git a/Runtime/ModIO.Implementation/Classes/SessionData.cs.meta b/Runtime/ModIO.Implementation/Classes/SessionData.cs.meta new file mode 100644 index 0000000..a9a3161 --- /dev/null +++ b/Runtime/ModIO.Implementation/Classes/SessionData.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0edac64d32e394e0d8a53e72710112a7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/ModIO.Implementation/Classes/Settings.cs b/Runtime/ModIO.Implementation/Classes/Settings.cs index 4a067e4..ebf3fa9 100644 --- a/Runtime/ModIO.Implementation/Classes/Settings.cs +++ b/Runtime/ModIO.Implementation/Classes/Settings.cs @@ -8,5 +8,8 @@ public static class Settings /// Build settings. public static BuildSettings build; + + /// UI settings. + public static UISettings ui; } } diff --git a/Runtime/ModIO.Implementation/Classes/SettingsAsset.cs b/Runtime/ModIO.Implementation/Classes/SettingsAsset.cs index be38dba..f061900 100644 --- a/Runtime/ModIO.Implementation/Classes/SettingsAsset.cs +++ b/Runtime/ModIO.Implementation/Classes/SettingsAsset.cs @@ -38,7 +38,7 @@ private void Awake() /// Loads the settings asset at the default path. public static Result TryLoad(out ServerSettings serverSettings, - out BuildSettings buildSettings) + out BuildSettings buildSettings, out UISettings uiSettings) { SettingsAsset asset = Resources.Load(FilePath); @@ -46,11 +46,13 @@ public static Result TryLoad(out ServerSettings serverSettings, { serverSettings = new ServerSettings(); buildSettings = new BuildSettings(); + uiSettings = new UISettings(); return ResultBuilder.Create(ResultCode.Init_FailedToLoadConfig); } serverSettings = asset.serverSettings; buildSettings = asset.GetBuildSettings(); + uiSettings = asset.uiSettings; Resources.UnloadAsset(asset); return ResultBuilder.Success; @@ -67,6 +69,23 @@ public static Result TryLoad(out bool autoInitializePlugin) } autoInitializePlugin = asset.autoInitializePlugin; + + Resources.UnloadAsset(asset); + return ResultBuilder.Success; + } + + public static Result TryLoad(out string analyticsPrivateKey) + { + SettingsAsset asset = Resources.Load(FilePath); + + if(asset == null) + { + analyticsPrivateKey = String.Empty; + return ResultBuilder.Create(ResultCode.Init_FailedToLoadConfig); + } + + analyticsPrivateKey = asset.analyticsPrivateKey; + Resources.UnloadAsset(asset); return ResultBuilder.Success; } @@ -79,6 +98,9 @@ public static Result TryLoad(out bool autoInitializePlugin) [HideInInspector] public ServerSettings serverSettings; + [HideInInspector] + public UISettings uiSettings; + // NOTE(@jackson): // The following section is the template for what a platform-specific implementation // should look like. The platform partial will include a BuildSettings field @@ -87,7 +109,8 @@ public static Result TryLoad(out bool autoInitializePlugin) //Initializes the ModIO plugin, with default settings, the first time it is used [SerializeField] private bool autoInitializePlugin = true; - + //Private key used to generate analytics hash + [SerializeField, Delayed] private string analyticsPrivateKey; /// Level to log at. [SerializeField] private LogLevel playerLogLevel; /// Level to log at. diff --git a/Runtime/ModIO.Implementation/Classes/TaskQueueRunner.cs b/Runtime/ModIO.Implementation/Classes/TaskQueueRunner.cs index ab071ca..609da23 100644 --- a/Runtime/ModIO.Implementation/Classes/TaskQueueRunner.cs +++ b/Runtime/ModIO.Implementation/Classes/TaskQueueRunner.cs @@ -118,6 +118,7 @@ public async Task PerformTasks() /// The function that represents the task to be executed. /// The priority of the task (TaskPriority). /// The size of the task. + /// /// Returns a Task of type T for awaiting purposes. public Task AddTask(TaskPriority prio, int taskSize, Func> taskFunc, bool useSeparateThread = false) { diff --git a/Runtime/ModIO.Implementation/Classes/TempModSetManager.cs b/Runtime/ModIO.Implementation/Classes/TempModSetManager.cs new file mode 100644 index 0000000..789f255 --- /dev/null +++ b/Runtime/ModIO.Implementation/Classes/TempModSetManager.cs @@ -0,0 +1,72 @@ +using System.Collections.Generic; +using System.Linq; +using ModIO; +using ModIO.Implementation; + +internal static class TempModSetManager +{ + static HashSet tempModSetMods = new HashSet(); + static readonly HashSet removedTempModSetMods = new HashSet(); + static bool tempModSetActive = false; + + internal static void CreateTempModSet(IEnumerable modIds) + { + DeleteTempModSet(); + tempModSetActive = true; + tempModSetMods = new HashSet(modIds); + } + + internal static void DeleteTempModSet() + { + tempModSetMods.Clear(); + removedTempModSetMods.Clear(); + tempModSetActive = false; + } + + internal static IEnumerable GetMods(bool includeRemovedMods = false) => includeRemovedMods ? tempModSetMods.Concat(removedTempModSetMods) : tempModSetMods; + + public static bool IsTempModSetActive() => tempModSetActive; + + internal static bool IsPartOfModSet(ModId modId) + { + return tempModSetMods.Contains(modId) || removedTempModSetMods.Contains(modId); + } + + internal static bool IsUnsubscribedTempMod(ModId modId) + { + if (!IsPartOfModSet(modId)) + return false; + + var mods = ModIOUnity.GetSubscribedMods(out Result r); + if (!r.Succeeded()) + { + Logger.Log(LogLevel.Error, "Unable to get subscribed mods aborting IsTempInstall function."); + return false; + } + + foreach (var mod in mods) + { + if (mod.modProfile.id == modId) + return false; + } + return true; + } + + internal static void AddMods(IEnumerable modIds) + { + foreach (var modId in modIds) + { + removedTempModSetMods.Remove(modId); + tempModSetMods.Add(modId); + } + } + + internal static void RemoveMods(IEnumerable modIds) + { + foreach (var modId in modIds) + { + if (tempModSetMods.Remove(modId)) + removedTempModSetMods.Add(modId); + } + } +} diff --git a/Runtime/ModIO.Implementation/Classes/TempModSetManager.cs.meta b/Runtime/ModIO.Implementation/Classes/TempModSetManager.cs.meta new file mode 100644 index 0000000..fa4fbb5 --- /dev/null +++ b/Runtime/ModIO.Implementation/Classes/TempModSetManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a8f7ef9a816c78f4591e16a802ad3d11 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/ModIO.Implementation/Implementation.API/Classes/DownloadHandlerStream.cs b/Runtime/ModIO.Implementation/Implementation.API/Classes/DownloadHandlerStream.cs new file mode 100644 index 0000000..b0f1149 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Classes/DownloadHandlerStream.cs @@ -0,0 +1,22 @@ +using System.IO; +using UnityEngine.Networking; + +namespace ModIO.Implementation.API +{ + internal class DownloadHandlerStream : DownloadHandlerScript + { + const int BufferSize = 1024*1024; + + readonly Stream _writeTo; + public DownloadHandlerStream(Stream writeTo) : base(new byte[BufferSize]) + { + _writeTo = writeTo; + } + + protected override bool ReceiveData(byte[] data, int dataLength) + { + _writeTo.Write(data, 0, dataLength); + return true; + } + } +} diff --git a/Runtime/ModIO.Implementation/Implementation.API/Classes/DownloadHandlerStream.cs.meta b/Runtime/ModIO.Implementation/Implementation.API/Classes/DownloadHandlerStream.cs.meta new file mode 100644 index 0000000..df4ba20 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Classes/DownloadHandlerStream.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: c6c149a24f4e4e5c96c8438cb1b1fdc5 +timeCreated: 1718954099 \ No newline at end of file diff --git a/Runtime/ModIO.Implementation/Implementation.API/Classes/IWebRequestRunner.cs b/Runtime/ModIO.Implementation/Implementation.API/Classes/IWebRequestRunner.cs new file mode 100644 index 0000000..142ad0b --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Classes/IWebRequestRunner.cs @@ -0,0 +1,11 @@ +using System.IO; +using System.Threading.Tasks; + +namespace ModIO.Implementation.API +{ + interface IWebRequestRunner + { + RequestHandle Download(string url, Stream downloadTo, ProgressHandle progressHandle); + Task> Execute(WebRequestConfig config, RequestHandle> handle, ProgressHandle progressHandle); + } +} diff --git a/Runtime/ModIO.Implementation/Implementation.API/Classes/IWebRequestRunner.cs.meta b/Runtime/ModIO.Implementation/Implementation.API/Classes/IWebRequestRunner.cs.meta new file mode 100644 index 0000000..9ec0fe9 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Classes/IWebRequestRunner.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: c47817012d6040ce9df70fc64a491a3c +timeCreated: 1718332748 \ No newline at end of file diff --git a/Runtime/ModIO.Implementation/Implementation.API/Classes/IWebRequestRunnerDownloadToFile.cs b/Runtime/ModIO.Implementation/Implementation.API/Classes/IWebRequestRunnerDownloadToFile.cs new file mode 100644 index 0000000..8efa098 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Classes/IWebRequestRunnerDownloadToFile.cs @@ -0,0 +1,7 @@ +namespace ModIO.Implementation.API +{ + interface IWebRequestRunnerDownloadToFile + { + RequestHandle Download(string url, string downloadToFilepath, ProgressHandle progressHandle); + } +} diff --git a/Runtime/ModIO.Implementation/Implementation.API/Classes/IWebRequestRunnerDownloadToFile.cs.meta b/Runtime/ModIO.Implementation/Implementation.API/Classes/IWebRequestRunnerDownloadToFile.cs.meta new file mode 100644 index 0000000..ff54ecb --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Classes/IWebRequestRunnerDownloadToFile.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 9057b68e894046b09f66272c3cc5f2d0 +timeCreated: 1718948950 \ No newline at end of file diff --git a/Runtime/ModIO.Implementation/Implementation.API/Classes/ResponseCache.cs b/Runtime/ModIO.Implementation/Implementation.API/Classes/ResponseCache.cs index 3486feb..c284d19 100644 --- a/Runtime/ModIO.Implementation/Implementation.API/Classes/ResponseCache.cs +++ b/Runtime/ModIO.Implementation/Implementation.API/Classes/ResponseCache.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization.Formatters.Binary; +using System.Threading; using System.Threading.Tasks; using ModIO.Implementation.API.Objects; @@ -41,8 +42,6 @@ public static bool // milliseconds (60,000 being 60 seconds) const int modLifetimeInCache = 60000; - static double lastWalletUpdateTime = 0; - /// /// stores md5 hashes generated after retrieving Terms of Use from the RESTAPI /// @@ -72,7 +71,7 @@ public static bool static Dictionary entitlementsCache = new Dictionary(); static Dictionary modsMonetizationTeams = new Dictionary(); static bool currentRatingsCached = false; - static WalletObject walletObject; + static Wallet wallet; /// /// the terms of use, cached for the entire session. @@ -83,6 +82,14 @@ public static bool /// The game tags, cached for the entire session. /// static TagCategory[] gameTags; + /// + /// Tag localizations, keyed by English tags.
Value is a second dictionary keyed by language code, with value being the localized tag. + /// + /// string tag = "Hello"; + /// string french = gameTagToLocalizations[tag]["fr"]; // "Bonjour" + /// + ///
+ static readonly Dictionary> GameTagToLocalizations = new Dictionary>(); /// The token packs, cached for the entire session. static TokenPack[] tokenPacks; @@ -202,12 +209,32 @@ public static void AddModToCache(ModProfile mod) public static void AddUserToCache(UserProfile profile) { currentUser = profile; - lastWalletUpdateTime = DateTime.UtcNow.TimeOfDay.TotalMilliseconds; } - public static void AddTagsToCache(TagCategory[] tags) + public static void AddTagsToCache(TagCategory[] tagCategories) + { + gameTags = tagCategories; + + foreach (var tagCategory in tagCategories) + foreach (var tagLocalized in tagCategory.tagsLocalized) + AddTagLocalizations(tagLocalized["en"], tagLocalized); + } + + public static void AddTagLocalization(string tag, string languageCode, string value) + { + if (!GameTagToLocalizations.TryGetValue(tag, out Dictionary languageCodes)) + languageCodes = GameTagToLocalizations[tag] = new Dictionary(StringComparer.OrdinalIgnoreCase); + + languageCodes[languageCode] = value; + } + + public static void AddTagLocalizations(string tag, Dictionary localizations) { - gameTags = tags; + if (!GameTagToLocalizations.TryGetValue(tag, out Dictionary languageCodes)) + languageCodes = GameTagToLocalizations[tag] = new Dictionary(StringComparer.OrdinalIgnoreCase); + + foreach (KeyValuePair localization in localizations) + languageCodes[localization.Key] = localization.Value; } public static void AddTokenPacksToCache(TokenPack[] tokenPacks) => ResponseCache.tokenPacks = tokenPacks; @@ -256,15 +283,18 @@ private static void AddEntitlement(string transactionId, Entitlement entitlement entitlementsCache.Add(transactionId, entitlement); } - public static void UpdateWallet(WalletObject wo) + public static void ReplaceWallet(WalletObject wo) { - walletObject = wo; + wallet = ResponseTranslator.ConvertWalletObjectToWallet(wo); + ClearWalletFromCacheAfterDelay(); } public static void UpdateWallet(int balance) { - if (walletObject != null) - walletObject.balance = balance; + if (wallet != null) + { + wallet.balance = balance; + } } #endregion // Adding entries to Cache @@ -366,9 +396,11 @@ public static bool GetUserProfileFromCache(out UserProfile userProfile) return false; } + public static bool AreTagsCached() => gameTags != null; + public static bool GetTagsFromCache(out TagCategory[] tags) { - if(gameTags != null) + if(AreTagsCached()) { if(logCacheMessages) { @@ -382,19 +414,17 @@ public static bool GetTagsFromCache(out TagCategory[] tags) return false; } - public static bool GetTokenPacksFromCache(out TokenPack[] tokenPacks) + public static string GetTagLocalized(string tag, string languageCode) { - if (ResponseCache.tokenPacks != null) - { - if(logCacheMessages) - Logger.Log(LogLevel.Verbose, "[CACHE] retrieved token packs from cache"); + if ( + GameTagToLocalizations.TryGetValue(tag, out Dictionary languageCodes) + && languageCodes.TryGetValue(languageCode, out string result) + ) + return result; - tokenPacks = ResponseCache.tokenPacks; - return true; - } + if (gameTags == null) Logger.Log(LogLevel.Error, $@"A translation for tag ""{tag}"" was not found for language code ""{languageCode}"", though it may exist. Ensure {nameof(ModIOUnityAsync.FetchUpdates)} or {nameof(ModIOUnityAsync.GetTagCategories)} has been called once before attempting to access localization."); - tokenPacks = null; - return false; + return tag; } public static bool GetModCommentsFromCache(string url, out CommentPage commentObjs) @@ -509,18 +539,6 @@ public static bool GetCurrentUserRatingFromCache(ModId modId, out ModRating modR public static bool HaveRatingsBeenCachedThisSession() => currentRatingsCached; - public static bool GetWalletFromCache(out Wallet wo) - { - if(walletObject != null && DateTime.UtcNow.TimeOfDay.TotalMilliseconds - lastWalletUpdateTime >= modLifetimeInCache) - { - wo = ResponseTranslator.ConvertWalletObjectToWallet(walletObject); - return true; - } - - wo = default; - return false; - } - public static bool GetModMonetizationTeamCache(ModId modId, out MonetizationTeamAccount[] teamAccounts) { if(modsMonetizationTeams.TryGetValue(modId, out teamAccounts)) @@ -534,6 +552,7 @@ public static bool GetModMonetizationTeamCache(ModId modId, out MonetizationTeam return false; } + public static bool GetWalletFromCache(out Wallet w) => (w = wallet) != null; #endregion // Getting entries from Cache #region Clearing Cache entries @@ -574,6 +593,17 @@ static async void ClearModFromCacheAfterDelay(ModId modId) } } + static CancellationTokenSource cancellationTokenSource; + static async void ClearWalletFromCacheAfterDelay() + { + if (cancellationTokenSource != null) + cancellationTokenSource.Cancel(); + + cancellationTokenSource = new CancellationTokenSource(); + await Task.Delay(modLifetimeInCache, cancellationTokenSource.Token); // 60 second cache + wallet = null; + } + static async void ClearModsFromCacheAfterDelay(List modIds) { // Use this list to mark modIds that need to be cleared @@ -635,6 +665,11 @@ public static void ClearModMonetizationTeamFromCache(ModId modId) modsMonetizationTeams.Remove(modId); } + public static void ClearWalletFromCache() + { + wallet = null; + } + /// /// Clears the entire cache, used when performing a shutdown operation. /// @@ -645,12 +680,13 @@ public static void ClearCache() termsHash = default; termsOfUse = null; gameTags = null; + GameTagToLocalizations.Clear(); commentObjectsCache.Clear(); modsDependencies?.Clear(); modsMonetizationTeams.Clear(); currentUserRatings?.Clear(); currentRatingsCached = false; - walletObject = null; + wallet = null; ClearUserFromCache(); } #endregion // Clearing Cache entries diff --git a/Runtime/ModIO.Implementation/Implementation.API/Classes/ResponseTranslator.cs b/Runtime/ModIO.Implementation/Implementation.API/Classes/ResponseTranslator.cs index 2eb17c4..9a489f3 100644 --- a/Runtime/ModIO.Implementation/Implementation.API/Classes/ResponseTranslator.cs +++ b/Runtime/ModIO.Implementation/Implementation.API/Classes/ResponseTranslator.cs @@ -39,7 +39,10 @@ public static TermsOfUse ConvertTermsObjectToTermsOfUse(TermsObject termsObject) termsOfUse = termsObject.plaintext, agreeText = termsObject.buttons.agree.text, disagreeText = termsObject.buttons.disagree.text, - links = GetLinks(termsObject.links.website, termsObject.links.terms, termsObject.links.privacy, termsObject.links.manage), + links = GetLinks((termsObject.links.website, nameof(TermsLinksObject.website)), + (termsObject.links.terms, nameof(TermsLinksObject.terms)), + (termsObject.links.privacy, nameof(TermsLinksObject.privacy)), + (termsObject.links.manage, nameof(TermsLinksObject.manage))), hash = new TermsHash { md5hash = IOUtil.GenerateMD5(termsObject.plaintext), @@ -48,13 +51,14 @@ public static TermsOfUse ConvertTermsObjectToTermsOfUse(TermsObject termsObject) return terms; - TermsOfUseLink[] GetLinks(params TermsLinkObject[] links) + TermsOfUseLink[] GetLinks(params (TermsLinkObject linkObject, string fieldName)[] links) { return links.Select(link => new TermsOfUseLink { - name = link.text, - url = link.url, - required = link.required, + apiName = link.fieldName, + name = link.linkObject.text, + url = link.linkObject.url, + required = link.linkObject.required, }).ToArray(); } } @@ -68,6 +72,7 @@ public static TagCategory[] ConvertGameTagOptionsObjectToTagCategories( { categories[i] = new TagCategory(); categories[i].name = gameTags[i].name ?? ""; + categories[i].nameLocalized = gameTags[i].name_localization == null ? new Dictionary() : new Dictionary(gameTags[i].name_localization, StringComparer.OrdinalIgnoreCase); Tag[] tags = new Tag[gameTags[i].tags.Length]; for (int ii = 0; ii < tags.Length; ii++) { @@ -78,6 +83,7 @@ public static TagCategory[] ConvertGameTagOptionsObjectToTagCategories( } categories[i].tags = tags; + categories[i].tagsLocalized = gameTags[i].tags_localization == null ? Array.Empty>() : gameTags[i].tags_localization.Select(tagLocalization => new Dictionary(tagLocalization.translations, StringComparer.OrdinalIgnoreCase)).ToArray(); categories[i].multiSelect = gameTags[i].type == "checkboxes"; categories[i].hidden = gameTags[i].hidden; categories[i].locked = gameTags[i].locked; @@ -172,11 +178,19 @@ public static ModDependencies[] ConvertModDependenciesObjectToModDependencies(Mo int index = 0; foreach (var modDepObj in modDependenciesObjects) { + ModId modId = new ModId(modDepObj.mod_id); modDependencies[index] = new ModDependencies { - modId = new ModId(modDepObj.mod_id), - modName = modDepObj.mod_name, - dateAdded = GetUTCDateTime(modDepObj.date_added) + modId = modId, + modName = modDepObj.name, + modNameId = modDepObj.name_id, + dateAdded = GetUTCDateTime(modDepObj.date_added), + dependencyDepth = modDepObj.dependency_depth, + logoImage_320x180 = CreateDownloadReference(modDepObj.logo.filename, modDepObj.logo.thumb_320x180, modId), + logoImage_640x360 = CreateDownloadReference(modDepObj.logo.filename, modDepObj.logo.thumb_640x360, modId), + logoImage_1280x720 = CreateDownloadReference(modDepObj.logo.filename, modDepObj.logo.thumb_1280x720, modId), + logoImageOriginal = CreateDownloadReference(modDepObj.logo.filename, modDepObj.logo.original, modId), + modfile = ConvertModfileObjectToModfile(modDepObj.modfile), }; index++; } @@ -292,6 +306,7 @@ public static ModProfile ConvertModObjectToModProfile(ModObject modObject) int galleryImagesCount = modObject.media.images?.Length ?? 0; DownloadReference[] galleryImages_320x180 = new DownloadReference[galleryImagesCount]; DownloadReference[] galleryImages_640x360 = new DownloadReference[galleryImagesCount]; + DownloadReference[] galleryImages_1280x720 = new DownloadReference[galleryImagesCount]; DownloadReference[] galleryImages_Original = new DownloadReference[galleryImagesCount]; for (int i = 0; i < galleryImagesCount; i++) { @@ -301,9 +316,12 @@ public static ModProfile ConvertModObjectToModProfile(ModObject modObject) galleryImages_640x360[i] = CreateDownloadReference( modObject.media.images[i].filename, modObject.media.images[i].thumb_320x180.Replace("320x180", "640x360"), modId); - galleryImages_Original[i] = - CreateDownloadReference(modObject.media.images[i].filename, - modObject.media.images[i].original, modId); + galleryImages_1280x720[i] = CreateDownloadReference( + modObject.media.images[i].filename, modObject.media.images[i].thumb_1280x720, + modId); + galleryImages_Original[i] = CreateDownloadReference( + modObject.media.images[i].filename, modObject.media.images[i].original, + modId); } KeyValuePair[] metaDataKvp = modObject.metadata_kvp == null @@ -326,9 +344,11 @@ public static ModProfile ConvertModObjectToModProfile(ModObject modObject) dateAdded: GetUTCDateTime(modObject.date_added), dateUpdated: GetUTCDateTime(modObject.date_updated), dateLive: GetUTCDateTime(modObject.date_live), + dependencies: modObject.dependencies, galleryImagesOriginal: galleryImages_Original, galleryImages_320x180: galleryImages_320x180, galleryImages_640x360: galleryImages_640x360, + galleryImages_1280x720: galleryImages_1280x720, logoImage_320x180: CreateDownloadReference(modObject.logo.filename, modObject.logo.thumb_320x180, modId), logoImage_640x360: CreateDownloadReference(modObject.logo.filename, modObject.logo.thumb_640x360, modId), logoImage_1280x720: CreateDownloadReference(modObject.logo.filename, modObject.logo.thumb_1280x720, modId), @@ -362,8 +382,8 @@ public static ModProfile ConvertModObjectToModProfile(ModObject modObject) private static ModPlatform[] ConvertModPlatformsObjectsToModPlatforms(ModPlatformsObject[] modPlatformsObjects) { - ModPlatform[] modPlatforms = new ModPlatform[modPlatformsObjects.Length]; - for (int i = 0; i < modPlatformsObjects.Length; i++) + ModPlatform[] modPlatforms = new ModPlatform[modPlatformsObjects?.Length ?? 0]; + for (int i = 0; i < modPlatforms.Length; i++) { modPlatforms[i] = new ModPlatform() { @@ -385,7 +405,8 @@ private static Modfile ConvertModfileObjectToModfile(ModfileObject modfileObject virusStatus = modfileObject.virus_status, virusPositive = modfileObject.virus_positive, virustotalHash = modfileObject.virustotal_hash, - filesize = modfileObject.filesize, + filesize = modfileObject.filesize_uncompressed, + archiveFileSize = modfileObject.filesize, filehashMd5 = modfileObject.filehash.md5, filename = modfileObject.filename, version = modfileObject.version, @@ -468,6 +489,19 @@ public static MonetizationTeamAccount ConvertGameMonetizationTeamObjectToGameMon }; } + public static Dictionary ConvertMetadataKvpObjects(MetadataKvpObjects metadataKvpObjects) + { + if (metadataKvpObjects.data == null) + return null; + + Dictionary kvps = new Dictionary(); + foreach (var o in metadataKvpObjects.data) + { + kvps.Add(o.metakey, o.metavalue); + } + return kvps; + } + #region Utility public static DateTime GetUTCDateTime(long serverTimeStamp) diff --git a/Runtime/ModIO.Implementation/Implementation.API/Classes/TestWebRequestRunner.cs b/Runtime/ModIO.Implementation/Implementation.API/Classes/TestWebRequestRunner.cs new file mode 100644 index 0000000..c0112b7 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Classes/TestWebRequestRunner.cs @@ -0,0 +1,61 @@ +using System.IO; +using System.Threading.Tasks; +using UnityEngine; + +namespace ModIO.Implementation.API +{ + /// + /// A WebRequestRunner that can simulate some different failure conditions such as offline status and interrupted downloads + /// + internal class TestWebRequestRunner : IWebRequestRunner + { + // Set this to true to cause all requests to timeout with failure after 1.5s + internal bool TestReturnFailedToConnect = false; + + // Set this to true to cause downloads to show some progress and then fail + internal bool DownloadsInterruptPartWay = true; + + IWebRequestRunner _fallbackTo = new UnityWebRequestRunner(); + + public RequestHandle Download(string url, Stream downloadTo, ProgressHandle progressHandle) + { + if (TestReturnFailedToConnect || DownloadsInterruptPartWay) + { + return new RequestHandle + { + progress = progressHandle, + task = DelayAndReturnError(progressHandle), + cancel = null, + }; + } + return _fallbackTo.Download(url, downloadTo, progressHandle); + } + public Task> Execute(WebRequestConfig config, RequestHandle> handle, ProgressHandle progressHandle) + { + if (TestReturnFailedToConnect) + return DelayAndReturnError(progressHandle); + + return _fallbackTo.Execute(config, handle, progressHandle); + } + static async Task> DelayAndReturnError(ProgressHandle progressHandle) + { + return new ResultAnd { result = await DelayAndReturnError(progressHandle) }; + } + static async Task DelayAndReturnError(ProgressHandle progressHandle) + { + const int millisecondsDelay = 30; + const int totalDelay = 1500; + for (int i = 0; i < totalDelay; i += millisecondsDelay) + { + await Task.Delay(millisecondsDelay); + if (progressHandle != null) + { + progressHandle.Progress = 0.8f * (i / (float)totalDelay); + progressHandle.BytesPerSecond = Random.Range(150_000, 300_000); + } + } + Debug.LogWarning("TestWebRequestRunner is simulating a network failure"); + return ResultBuilder.Create(ResultCode.API_FailedToConnect); + } + } +} diff --git a/Runtime/ModIO.Implementation/Implementation.API/Classes/TestWebRequestRunner.cs.meta b/Runtime/ModIO.Implementation/Implementation.API/Classes/TestWebRequestRunner.cs.meta new file mode 100644 index 0000000..da81bf7 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Classes/TestWebRequestRunner.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: ece4c4a4c1ff4bd0a316659b66363fca +timeCreated: 1720749294 \ No newline at end of file diff --git a/Runtime/ModIO.Implementation/Implementation.API/Classes/ThrottledStreamWriteAsync.cs b/Runtime/ModIO.Implementation/Implementation.API/Classes/ThrottledStreamWriteAsync.cs new file mode 100644 index 0000000..a7b3912 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Classes/ThrottledStreamWriteAsync.cs @@ -0,0 +1,63 @@ +using System.Diagnostics; +using System.IO; +using System.Threading; +using System.Threading.Tasks; + +namespace ModIO.Implementation.API +{ + public class ThrottledStreamWriteAsync : Stream + { + readonly Stream _stream; + readonly long _maxBytesPerSecond; + readonly Stopwatch _stopwatch = new Stopwatch(); + long _bytes; + + public long BytesPerSecond { get; private set; } + + public override bool CanRead => _stream.CanRead; + public override bool CanSeek => _stream.CanSeek; + public override bool CanWrite => _stream.CanWrite; + public override long Length => _stream.Length; + public override long Position { get => _stream.Position; set => _stream.Position = value; } + + public ThrottledStreamWriteAsync(Stream stream, long maxBytesPerSecond) + { + _stream = stream; + _maxBytesPerSecond = maxBytesPerSecond; + } + + public override void Flush() => _stream.Flush(); + + public override async Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) + { + while (true) + { + if (!_stopwatch.IsRunning || _stopwatch.ElapsedMilliseconds >= 1000) + { + _stopwatch.Restart(); + BytesPerSecond = _bytes; + _bytes = 0; + } + + if (count <= _maxBytesPerSecond - _bytes) + { + await _stream.WriteAsync(buffer, offset, count, cancellationToken); + _bytes += count; + + return; + } + + await Task.Delay(1000 - (int)_stopwatch.ElapsedMilliseconds, cancellationToken); + } + } + + public override long Seek(long offset, SeekOrigin origin) => _stream.Seek(offset, origin); + public override void SetLength(long value) => _stream.SetLength(value); + public override int Read(byte[] buffer, int offset, int count) => _stream.Read(buffer, offset, count); + + public override void Write(byte[] buffer, int offset, int count) + { + throw new System.NotImplementedException(); + } + } +} diff --git a/Runtime/ModIO.Implementation/Implementation.API/Classes/ThrottledStreamWriteAsync.cs.meta b/Runtime/ModIO.Implementation/Implementation.API/Classes/ThrottledStreamWriteAsync.cs.meta new file mode 100644 index 0000000..5ce58ac --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Classes/ThrottledStreamWriteAsync.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: fd9d66c77e8e415389a41755f804d483 +timeCreated: 1706748810 \ No newline at end of file diff --git a/Runtime/ModIO.Implementation/Implementation.API/Classes/UnityWebRequestRunner.cs b/Runtime/ModIO.Implementation/Implementation.API/Classes/UnityWebRequestRunner.cs new file mode 100644 index 0000000..b8c5ff9 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Classes/UnityWebRequestRunner.cs @@ -0,0 +1,635 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Net; +using System.Text; +using System.Threading.Tasks; +using ModIO.Implementation.API.Objects; +using ModIO.Implementation.Platform; +using Newtonsoft.Json; +using UnityEngine; +using UnityEngine.Networking; + +namespace ModIO.Implementation.API +{ + internal class UnityWebRequestRunner : IWebRequestRunner, IWebRequestRunnerDownloadToFile + { + static readonly Queue> LiveTasks = new Queue>(); + static readonly object QueueLock = new object(); + static bool isRunning; + +#region Main Request Handling + public RequestHandle Download(string url, Stream downloadTo, ProgressHandle progressHandle) + { + var downloadHandler = new DownloadHandlerStream(downloadTo); + return RunDownload(url, progressHandle, downloadHandler); + } + + public RequestHandle Download(string url, string downloadToFilepath, ProgressHandle progressHandle) + { + var downloadHandler = new DownloadHandlerFile(downloadToFilepath); + return RunDownload(url, progressHandle, downloadHandler); + } + + static RequestHandle RunDownload(string url, ProgressHandle progressHandle, DownloadHandler downloadHandler) + { + var handle = new RequestHandle(); + handle.task = RunDownload(BuildWebRequestForDownload(url, downloadHandler), handle, progressHandle); + + return handle; + } + + static async Task RunDownload(UnityWebRequest request, RequestHandle handle, ProgressHandle progressHandle) + { + handle.cancel = request.Abort; + handle.progress = progressHandle; + + await GetDownloadResponse(request, progressHandle); + + WebRequestManager.ShutdownEvent -= request.Abort; + + Result result; + if (ModIOUnityImplementation.shuttingDown) + { + result = ResultBuilder.Create(ResultCode.Internal_OperationCancelled); + Logger.Log(LogLevel.Error, $"SHUTDOWN EXCEPTION" + + $"\n{request.result}\n"); + } + else if (request.result != UnityWebRequest.Result.Success) + { + result = ResultBuilder.Unknown; + Logger.Log(LogLevel.Error, $"Unhandled result when downloading" + + $"\n{request.result}\n{request.responseCode}"); + } + else + result = await ProcessDownloadResponse(request); + + if(progressHandle != null) + { + progressHandle.Failed = !result.Succeeded(); + progressHandle.Completed = true; + } + + request.Dispose(); + + return result; + } + + public RequestHandle> Upload(WebRequestConfig config, ProgressHandle progressHandle) + { + RequestHandle> handle = new RequestHandle>(); + var task = Execute(config, handle, progressHandle); + handle.task = task; + + return handle; + } + + public async Task> Execute(WebRequestConfig config, + RequestHandle> handle, ProgressHandle progressHandle) + { + UnityWebRequest request = BuildWebRequestCommon(config); + + if (handle != null) + { + handle.progress = progressHandle; + handle.cancel = request.Abort; + } + + if(config.IsUpload) + await SendUpload(request, config, progressHandle); + else + await SendWebRequest(request, config); + + if (progressHandle != null) + { + progressHandle.Progress = 1f; + progressHandle.Completed = true; + } + + ResultAnd result; + try + { + if(ModIOUnityImplementation.shuttingDown) + { + if (request != null) LogRequestBeingAborted(request, config); + result = ResultAnd.Create(ResultCode.Internal_OperationCancelled, default(TResult)); + } + else + result = await ProcessResponse(request, config); + } + catch(Exception e) + { + Logger.Log(LogLevel.Error, $"Unknown exception caught trying to process" + + $" web request response.\nException: {e.Message}\n" + + $"Stacktrace: {e.StackTrace}"); + result = ResultAnd.Create(ResultCode.Unknown, default(TResult)); + } + + if(progressHandle != null) + progressHandle.Failed = !result.result.Succeeded(); + + if(request != null) + { + // this event is added in BuildWebRequest(), we remove it here + WebRequestManager.ShutdownEvent -= request.Abort; + request.Dispose(); + } + + return result; + } + static Task SendWebRequest(UnityWebRequest request, WebRequestConfig config) + { + if (config.RawBodyData != null) + SetupRequestBodyData(request, config.RawBodyData, "application/json"); + else if (config.HasStringData) + SetupUrlEncodedRequest(request, config, "application/x-www-form-urlencoded"); + else + { + // We still need to set content-type for the server to be happy, but Unity's UploadHandler isn't here to do it + request.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded"); + } + + LogRequestBeingSent(request, config); + + var asyncOperation = request.SendWebRequest(); + + if (asyncOperation.isDone) + return Task.CompletedTask; + + var completionSource = new TaskCompletionSource(); + asyncOperation.completed += op => + { + completionSource.TrySetResult(true); + }; + + return completionSource.Task; + } + +#endregion + + +#region Creating WebRequests + static void LogRequestBeingSent(UnityWebRequest request, WebRequestConfig config) + { + string log = $"\n{config.Url}" + + $"\nMETHOD: {config.RequestMethodType}" + + $"\n{GenerateLogForRequestMessage(request)}" + + $"\n{GenerateLogForWebRequestConfig(config)}"; + Logger.Log(LogLevel.Verbose, $"SENDING{log}"); + } + static void LogRequestBeingSent(UnityWebRequest request) + { + string log = $"\n{request.url}" + + $"\nMETHOD: {request.method}" + + $"\n{GenerateLogForRequestMessage(request)}"; + Logger.Log(LogLevel.Verbose, $"SENDING{log}"); + } + + static void LogRequestBeingAborted(UnityWebRequest request, WebRequestConfig config) + { + string log = $"\n{config.Url}" + + $"\nMETHOD: {config.RequestMethodType}" + + $"\n{GenerateLogForRequestMessage(request)}" + + $"\n{GenerateLogForWebRequestConfig(config)}"; + Logger.Log(LogLevel.Verbose, $"ABORTED{log}"); + } + + static async Task ProcessDownloadResponse(UnityWebRequest request) + { + int statusCode = (int)(request.responseCode); + + string completeRequestLog = $"{GenerateLogForStatusCode(statusCode)}" + + $"\n{request.url}" + + $"\nMETHOD: GET" + + $"\n{GenerateLogForRequestMessage(request)}" + + $"\n{GenerateLogForResponseMessage(request)}"; + + if(IsSuccessStatusCode(statusCode)) + { + Logger.Log(LogLevel.Verbose, $"DOWNLOAD SUCCEEDED {completeRequestLog}"); + return ResultBuilder.Success; + } + + Logger.Log(LogLevel.Verbose, $"DOWNLOAD FAILED [{completeRequestLog}]"); + return await HttpStatusCodeError("binary download omitted", completeRequestLog, statusCode); + + } + + static async Task> ProcessResponse(UnityWebRequest request, WebRequestConfig config) + { + int statusCode = (int)(request.responseCode); + string downloadHandlerText = null; + + if (request.downloadHandler != null && statusCode != 204) + downloadHandlerText = request.downloadHandler.text; + + string completeRequestLog = $"{GenerateLogForStatusCode(statusCode)}" + + $"\n{config.Url}" + + $"\nMETHOD: {config.RequestMethodType}" + + $"\n{GenerateLogForRequestMessage(request)}" + + $"\n{GenerateLogForWebRequestConfig(config)}" + + $"\n{GenerateLogForResponseMessage(request)}"; + + if(IsSuccessStatusCode(statusCode)) + { + Logger.Log(LogLevel.Verbose, $"SUCCEEDED {completeRequestLog}"); + + return await FormatResult(downloadHandlerText); + } + + return ResultAnd.Create(await HttpStatusCodeError(downloadHandlerText, completeRequestLog, statusCode), default(TResult)); + } + + static bool IsSuccessStatusCode(int code) => code >= 200 && code < 300; + + static Task GetDownloadResponse(UnityWebRequest request, ProgressHandle progressHandle) + { + LogRequestBeingSent(request); + + var asyncOperation = request.SendWebRequest(); + + var completionSource = new TaskCompletionSource(); + asyncOperation.completed += op => + { + completionSource.TrySetResult(true); + }; + + _ = MonitorProgress(request, progressHandle, true); + + return completionSource.Task; + } + static async Task MonitorProgress(UnityWebRequest request, ProgressHandle progressHandle, bool monitorDownload) + { + float startedAt = Time.time; + ulong lastCalculatedSpeedAtBytes = 0; + + while (progressHandle != null && !request.isDone) + { + // Cap the progress, so it doesn't get to 100% while we wait for the server response + progressHandle.Progress = 0.99f * (monitorDownload ? request.downloadProgress : request.uploadProgress); + + ulong currentBytes = monitorDownload ? request.downloadedBytes : request.uploadedBytes; + float currentTime = Time.time; + + // update BytesPerSecond continuously for the first second, then once per second + if (currentTime - startedAt > 1 || lastCalculatedSpeedAtBytes == 0) + { + progressHandle.BytesPerSecond =(long)((currentBytes - lastCalculatedSpeedAtBytes) / (currentTime - startedAt)); + + if(currentTime - startedAt > 1) + { + startedAt = currentTime; + lastCalculatedSpeedAtBytes = currentBytes; + } + } + + await Task.Yield(); + } + } + + static Task SendUpload(UnityWebRequest request, WebRequestConfig config, ProgressHandle progressHandle) + { + return EnqueueTask(() => + { + LogRequestBeingSent(request, config); + if(config.RawBinaryData != null) + return SendOctetUploadRequest(request, config, progressHandle); + return SendMultipartUploadRequest(request, config, progressHandle); + }); + } + + static Task EnqueueTask(Func taskFunc) + { + TaskCompletionSource taskCompletionSource = new TaskCompletionSource(); + + lock (QueueLock) + { + LiveTasks.Enqueue(async () => + { + await taskFunc(); + taskCompletionSource.SetResult(true); + }); + + // TODO: This could cause RunTasks to start on a non-main thread, which will apply to all following tasks until there's a break + // Is this an issue? It's matching previous behaviour for now + if (!isRunning) + RunTasks(); + } + + return taskCompletionSource.Task; + } + + static async void RunTasks() + { + isRunning = true; + while (true) + { + Func taskFunc; + + lock (QueueLock) + { + if (LiveTasks.Count == 0) + { + isRunning = false; + break; + } + + taskFunc = LiveTasks.Dequeue(); + } + + await taskFunc(); + } + } + + static UnityWebRequest BuildWebRequestCommon(WebRequestConfig config) + { + // Add API key or Access token + if (UserData.instance.IsOAuthTokenValid() && !config.DontUseAuthToken) + config.AddHeader("Authorization", $"Bearer {UserData.instance.oAuthToken}"); + else + config.Url += $"&api_key={Settings.server.gameKey}"; + + var request = new UnityWebRequest(config.Url, config.RequestMethodType, new DownloadHandlerBuffer(), null); + SetModioHeaders(request); + SetConfigHeaders(request, config); + + request.timeout = config.ShouldRequestTimeout ? 30 : 0; + + // Add request to shutdown method + WebRequestManager.ShutdownEvent += request.Abort; + return request; + } + + static UnityWebRequest BuildWebRequestForDownload(string url, DownloadHandler downloadHandler) + { + Logger.Log(LogLevel.Verbose, $"DOWNLOADING [{url}]"); + + var request = new UnityWebRequest(url, UnityWebRequest.kHttpVerbGET, downloadHandler, null); + SetModioHeaders(request); + request.timeout = 0; + + // Add API key or Access token + if (UserData.instance?.IsOAuthTokenValid() ?? false) + request.SetRequestHeader("Authorization", $"Bearer {UserData.instance.oAuthToken}"); + + // Add request to shutdown method + WebRequestManager.ShutdownEvent += request.Abort; + + return request; + } + + static void SetModioHeaders(UnityWebRequest request) + { + // Set default headers for all requests + request.SetRequestHeader("User-Agent", $"unity-{Application.unityVersion}-{ModIOVersion.Current.ToHeaderString()}"); + request.SetRequestHeader("Accept", "application/json"); + + request.SetRequestHeader(ServerConstants.HeaderKeys.LANGUAGE, Settings.server.languageCode ?? "en"); + request.SetRequestHeader(ServerConstants.HeaderKeys.PLATFORM, PlatformConfiguration.RESTAPI_HEADER); + request.SetRequestHeader(ServerConstants.HeaderKeys.PORTAL, ServerConstants.ConvertUserPortalToHeaderValue(Settings.build.userPortal)); + } + + static void SetConfigHeaders(UnityWebRequest request, WebRequestConfig config) + { + foreach(var header in config.HeaderData) + request.SetRequestHeader(header.Key, header.Value); + } + + static void SetupUrlEncodedRequest(UnityWebRequest request, WebRequestConfig config, string contentType) + { + string kvpData = ""; + foreach(var kvp in config.StringKvpData) + kvpData += $"{Uri.EscapeDataString(kvp.Key)}={Uri.EscapeDataString(kvp.Value)}&"; + kvpData = kvpData.Trim('&'); + + SetupRequestBodyData(request, kvpData, contentType); + } + + static void SetupRequestBodyData(UnityWebRequest request, string data, string contentType) + { + byte[] bytes = Encoding.UTF8.GetBytes(data); + var uploadHandler = new UploadHandlerRaw(bytes); + uploadHandler.contentType = contentType; + request.uploadHandler = uploadHandler; + } + + static Task SendMultipartUploadRequest(UnityWebRequest request, WebRequestConfig config, ProgressHandle progressHandle) + { + var multipartFormSections = new List(); + + foreach(var binary in config.BinaryData) + { + string contentType = "form-data"; + multipartFormSections.Add(new MultipartFormFileSection(binary.key, binary.data, binary.fileName, contentType)); + } + foreach(var kvp in config.StringKvpData) + { + if(string.IsNullOrEmpty(kvp.Value)) + continue; + + multipartFormSections.Add(new MultipartFormDataSection(kvp.Key, kvp.Value)); + } + + string boundary = "---------------------------" + DateTime.Now.Ticks.ToString("x"); + byte[] boundaryBytes = Encoding.UTF8.GetBytes(boundary); + var rawData = UnityWebRequest.SerializeFormSections(multipartFormSections, boundaryBytes); + + var uploadHandler = new UploadHandlerRaw(rawData); + uploadHandler.contentType = "multipart/form-data; boundary=" + boundary; + + request.uploadHandler = uploadHandler; + return SendWebRequest(request, progressHandle); + } + + static Task SendOctetUploadRequest(UnityWebRequest request, WebRequestConfig config, ProgressHandle progressHandle) + { + string boundary = "---------------------------" + DateTime.Now.Ticks.ToString("x"); + + var uploadHandler = new UploadHandlerRaw(config.RawBinaryData); + uploadHandler.contentType = "application/octet-stream; boundary=" + boundary; + + request.uploadHandler = uploadHandler; + return SendWebRequest(request, progressHandle); + } + + static async Task SendWebRequest(UnityWebRequest request, ProgressHandle progressHandle) + { + request.SendWebRequest(); + + await MonitorProgress(request, progressHandle, false); + + while (progressHandle != null && !request.isDone) + { + // Cap the progress, so it doesn't get to 100% while we wait for the server response + progressHandle.Progress = request.uploadProgress * 0.99f; + await Task.Yield(); + } + } + +#endregion + +#region Processing Response Body + + + static async Task> FormatResult(string rawResponse) + { + //int? is used as a nullable type to denote that we are ignoring type in the response + //ie - some commands are sent without expect any useful response aside from the response code itself + if(typeof(T) == typeof(int?)) + { + //OnWebRequestResponse + return ResultAnd.Create(ResultCode.Success, default(T)); + } + + // If the response is empty it was likely 204: NoContent + if(rawResponse == null) + return ResultAnd.Create(ResultBuilder.Success, default(T)); + + try + { + T deserialized = await Task.Run(()=> JsonConvert.DeserializeObject(rawResponse)); + return ResultAnd.Create(ResultBuilder.Success, deserialized); + } + catch(Exception e) + { + Logger.Log(LogLevel.Error, + $"UNRECOGNISED RESPONSE" + + $"\nFailed to deserialize a response from the mod.io server.\nThe data" + + $" may have been corrupted or isn't a valid Json format.\n\n[JsonUtility:" + + $" {e.Message}] - {e.InnerException}" + + $"\nRaw Response: {rawResponse}"); + + return ResultAnd.Create( + ResultBuilder.Create(ResultCode.API_FailedToDeserializeResponse), default(T)); + } + } + + #endregion + +#region Error Handling + static async Task HttpStatusCodeError(string rawResponse, string requestLog, int status) + { + var result = await FormatResult(rawResponse); + + string errors = GenerateErrorsIntoSingleLog(result.value.error.errors); + Logger.Log(LogLevel.Error, + $"HTTP ERROR [{status} {((HttpStatusCode)status).ToString()}]" + + $"\n Error ref [{result.value.error.code}] {result.value.error.error_ref} - {result.value.error.message}\n{errors}\n\n{requestLog}"); + + if(ResultCode.IsInvalidSession(result.value)) + { + UserData.instance?.SetOAuthTokenAsRejected(); + ResponseCache.ClearCache(); + + return ResultBuilder.Create(ResultCode.User_InvalidToken, + (uint)result.value.error.error_ref); + } + + return ResultBuilder.Create(ResultCode.API_FailedToCompleteRequest, + (uint)result.value.error.error_ref); + + } + +#endregion + +#region Logging formatting + static string GenerateLogForWebRequestConfig(WebRequestConfig config) + { + string log = "\nFORM BODY\n------------------------\n"; + if(config.StringKvpData.Count > 0) + { + log += "String KVPs\n"; + foreach(var kvp in config.StringKvpData) + log += $"{kvp.Key}: {kvp.Value}\n"; + } + else + log += "--No String Data\n"; + + if((config.BinaryData == null || config.BinaryData.Count > 0) && (config.RawBinaryData == null || config.RawBinaryData.Length > 0)) + log += "--No Binary Data\n"; + else + log += "Binary files\n"; + + if(config.BinaryData != null && config.BinaryData.Count > 0) + { + log += "Binary files\n"; + foreach(var binData in config.BinaryData) + log += $"{binData.key}: {binData.data.Length} bytes\n"; + } + + if(config.RawBinaryData != null && config.RawBinaryData.Length > 0) + log += $"Raw Binary data: {config.RawBinaryData.Length}\n"; + + + return log; + } + + static string GenerateLogForRequestMessage(UnityWebRequest request) + { + if(request == null) + return "\n\n------------------------ \nWebRequest is null"; + string log = "\n\n------------------------"; + string headers = $"\nREQUEST HEADERS"; + + LogHeader("Accept"); + LogHeader("User-Agent"); + LogHeader("Connection"); + LogHeader("accept-language"); + LogHeader("x-modio-platform"); + LogHeader("x-modio-portal"); + LogHeader("Authorization"); + LogHeader("Content-Type"); + + if (request.uploadHandler != null) + headers += $"uploadHandler.ContentType: {request.uploadHandler.contentType}"; + + log += headers; + return log; + + void LogHeader(string header) + { + string requestHeader = request.GetRequestHeader(header); + if (!string.IsNullOrEmpty(requestHeader)) + { + if(header == "Authorization") + headers += $"\n{header}: [OAUTH-TOKEN]"; + else + headers += $"\n{header}: {requestHeader}"; + } + } + } + + static string GenerateLogForResponseMessage(UnityWebRequest response) + { + if(response == null) + return "\n\n------------------------\n WebResponse is null"; + + string log = "\n\n------------------------"; + string headers = $"\nRESPONSE HEADERS"; + foreach(var kvp in response.GetResponseHeaders()) + headers += $"\n{kvp.Key}: {kvp.Value}"; + log += headers; + return log; + } + + static string GenerateLogForStatusCode(int code) => $"[Http: {code} {(HttpStatusCode)code}]"; + + static string GenerateErrorsIntoSingleLog(Dictionary errors) + { + if(errors == null || errors.Count == 0) + return ""; + + string log = "errors:"; + int count = 1; + foreach(var error in errors) + { + log += $"\n{count}. {error.Key}: {error.Value}"; + count++; + } + + return log; + } + #endregion + + } +} diff --git a/Runtime/ModIO.Implementation/Implementation.API/Classes/UnityWebRequestRunner.cs.meta b/Runtime/ModIO.Implementation/Implementation.API/Classes/UnityWebRequestRunner.cs.meta new file mode 100644 index 0000000..914d66a --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Classes/UnityWebRequestRunner.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 49c40e6ccf7f4438b2de82e1a636b1d9 +timeCreated: 1718340381 \ No newline at end of file diff --git a/Runtime/ModIO.Implementation/Implementation.API/Classes/WebRequestConfig.cs b/Runtime/ModIO.Implementation/Implementation.API/Classes/WebRequestConfig.cs index 1dc7f1d..c1c76e2 100644 --- a/Runtime/ModIO.Implementation/Implementation.API/Classes/WebRequestConfig.cs +++ b/Runtime/ModIO.Implementation/Implementation.API/Classes/WebRequestConfig.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.IO; using System.Threading.Tasks; @@ -39,6 +40,8 @@ internal class WebRequestConfig public byte[] RawBinaryData { get; set; } + public string RawBodyData { get; set; } + public bool ForceIsUpload = false; public void AddField(string key, TInput data) diff --git a/Runtime/ModIO.Implementation/Implementation.API/Classes/WebRequestManager.cs b/Runtime/ModIO.Implementation/Implementation.API/Classes/WebRequestManager.cs index 7a79a74..888c898 100644 --- a/Runtime/ModIO.Implementation/Implementation.API/Classes/WebRequestManager.cs +++ b/Runtime/ModIO.Implementation/Implementation.API/Classes/WebRequestManager.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.IO; +using JetBrains.Annotations; namespace ModIO.Implementation.API { @@ -17,6 +18,13 @@ static class WebRequestManager internal static event Action ShutdownEvent = () => { }; + static readonly bool UseTestFailureWebRequest = false; + static readonly bool UseUnityWebRequest = true; + static readonly IWebRequestRunner WebRequestRunner = + UseTestFailureWebRequest ? new TestWebRequestRunner(): + UseUnityWebRequest ? (IWebRequestRunner)new UnityWebRequestRunner() + : new WebRequestRunner(); + public static async Task Shutdown() { // Subscribe WebRequests here to abort when the event is called @@ -36,6 +44,21 @@ public static RequestHandle Download(string url, Stream downloadTo, Prog return handle; } + /// + /// Attempt to download directly to a file if the webRequestRunner supports it + /// Will return null if we're on a platform that only downloads to streams directly + /// + [CanBeNull] + public static RequestHandle DownloadToFile(string url, string filePath, ProgressHandle progressHandle) + { + if (!(WebRequestRunner is IWebRequestRunnerDownloadToFile downloadToFileRunner)) + return null; + var handle = downloadToFileRunner.Download(url, filePath, progressHandle); + onGoingRequests.Add(handle.task); + RemoveTaskFromListWhenComplete(handle.task); + return handle; + } + static async void RemoveTaskFromListWhenComplete(Task task) { await task; @@ -54,7 +77,7 @@ public static async Task> Request(WebRequestConfig c } await task; - + if(onGoingRequests.Contains(task)) { onGoingRequests.Remove(task); diff --git a/Runtime/ModIO.Implementation/Implementation.API/Classes/WebRequestRunner.cs b/Runtime/ModIO.Implementation/Implementation.API/Classes/WebRequestRunner.cs index de5078f..25f14ca 100644 --- a/Runtime/ModIO.Implementation/Implementation.API/Classes/WebRequestRunner.cs +++ b/Runtime/ModIO.Implementation/Implementation.API/Classes/WebRequestRunner.cs @@ -11,14 +11,14 @@ namespace ModIO.Implementation.API { - internal static class WebRequestRunner + internal class WebRequestRunner : IWebRequestRunner { private static Queue> liveTasks = new Queue>(); private static object queueLock = new object(); private static bool isRunning = false; #region Main Request Handling - public static RequestHandle Download(string url, Stream downloadTo, ProgressHandle progressHandle) + public RequestHandle Download(string url, Stream downloadTo, ProgressHandle progressHandle) { RequestHandle handle = new RequestHandle(); var task = RunDownload(url, downloadTo, handle, progressHandle); @@ -45,7 +45,7 @@ static async Task RunDownload(string url, Stream downloadTo, RequestHand request = BuildWebRequestForDownload(url); handle.cancel = request.Abort; - response = await request.GetDownloadResponse(downloadTo, progressHandle); + response = await GetDownloadResponse(request, downloadTo, progressHandle); } catch(WebException e) { @@ -105,7 +105,7 @@ static async Task RunDownload(string url, Stream downloadTo, RequestHand return result; } - public static RequestHandle> Upload(WebRequestConfig config, ProgressHandle progressHandle) + public RequestHandle> Upload(WebRequestConfig config, ProgressHandle progressHandle) { RequestHandle> handle = new RequestHandle>(); var task = Execute(config, handle, progressHandle); @@ -114,8 +114,8 @@ public static RequestHandle> Upload(WebRequestConfig config, Pro return handle; } - public static async Task> Execute(WebRequestConfig config, - RequestHandle> handle, ProgressHandle progressHandle) + public async Task> Execute(WebRequestConfig config, + RequestHandle> handle, ProgressHandle progressHandle) { ResultAnd result = default; WebResponse response = null; @@ -141,11 +141,11 @@ public static async Task> Execute(WebRequestConfig c if(config.IsUpload) { - response = await request.GetUploadResponse(config, progressHandle); + response = await GetUploadResponse(request, config, progressHandle); } else { - request.LogRequestBeingSent(config); + LogRequestBeingSent(request, config); response = await request.GetResponseAsync(); } } @@ -164,7 +164,7 @@ public static async Task> Execute(WebRequestConfig c if (exception.Status == WebExceptionStatus.RequestCanceled) { - request?.LogRequestBeingAborted(config); + if (request != null) LogRequestBeingAborted(request, config); return ResultAnd.Create(ResultCode.Internal_OperationCancelled, default(TResult)); } } @@ -185,7 +185,7 @@ public static async Task> Execute(WebRequestConfig c { if(ModIOUnityImplementation.shuttingDown) { - request?.LogRequestBeingAborted(config); + if (request != null) LogRequestBeingAborted(request, config); result = ResultAnd.Create(ResultCode.Internal_OperationCancelled, default(TResult)); } else @@ -222,7 +222,7 @@ public static async Task> Execute(WebRequestConfig c #region Creating WebRequests - static void LogRequestBeingSent(this WebRequest request, WebRequestConfig config) + static void LogRequestBeingSent(WebRequest request, WebRequestConfig config) { string log = $"\n{config.Url}" + $"\nMETHOD: {config.RequestMethodType}" @@ -231,7 +231,7 @@ static void LogRequestBeingSent(this WebRequest request, WebRequestConfig config Logger.Log(LogLevel.Verbose, $"SENDING{log}"); } - static void LogRequestBeingAborted(this WebRequest request, WebRequestConfig config) + static void LogRequestBeingAborted(WebRequest request, WebRequestConfig config) { string log = $"\n{config.Url}" + $"\nMETHOD: {config.RequestMethodType}" @@ -313,73 +313,51 @@ static async Task> ProcessResponse(WebRequest reques static bool IsSuccessStatusCode(int code) => code >= 200 && code < 300; - static async Task GetDownloadResponse(this WebRequest request, Stream downloadStream, ProgressHandle progressHandle) + static async Task GetDownloadResponse(WebRequest request, Stream downloadStream, ProgressHandle progressHandle) { WebResponse response = await request.GetResponseAsync(); - long bytesTotal = response.ContentLength; - using Stream responseStream = response.GetResponseStream(); - if (responseStream == null) - return response; - byte[] buffer = new byte[1024 * 1024]; // 1MB - int bytesRead; - long bytesDownloadedTotal = 0; - long bytesDownloadedSample = 0; + if (responseStream == null) return response; - Stopwatch stopwatchYield = Stopwatch.StartNew(); - Stopwatch stopwatchSample = Stopwatch.StartNew(); +#if UNITY_GAMECORE_XBOXONE + long maxBytesPerSecond = (long)(1024 * 1024 * 3.49 * 0.5f); // Max 1GB per 5 minutes, we use max 50% of that +#else + long maxBytesPerSecond = long.MaxValue; +#endif - while ((bytesRead = await responseStream.ReadAsync(buffer, 0, buffer.Length)) > 0) + var downloadStreamThrottled = new ThrottledStreamWriteAsync(downloadStream, maxBytesPerSecond); + var task = responseStream.CopyToAsync(downloadStreamThrottled); + if (progressHandle == null) { - if (stopwatchYield.ElapsedMilliseconds >= 15) - { - await Task.Yield(); - stopwatchYield.Restart(); - } - - await downloadStream.WriteAsync(buffer, 0, bytesRead); - - if (stopwatchYield.ElapsedMilliseconds >= 15) - { - await Task.Yield(); - stopwatchYield.Restart(); - } - - bytesDownloadedTotal += bytesRead; - bytesDownloadedSample += bytesRead; - - if (progressHandle == null) - continue; + await task; + return response; + } - progressHandle.Progress = (float)bytesDownloadedTotal / bytesTotal; + long bytesTotal = response.ContentLength; - if (stopwatchSample.ElapsedMilliseconds < 1000) - continue; + while (!task.IsCompleted) + { + await Task.Delay(15); // 60fps - progressHandle.BytesPerSecond = (long)(bytesDownloadedSample * (stopwatchSample.ElapsedMilliseconds / 1000f)); - bytesDownloadedSample = 0; - stopwatchSample.Restart(); + progressHandle.Progress = (float)downloadStreamThrottled.Length / bytesTotal; + progressHandle.BytesPerSecond = downloadStreamThrottled.BytesPerSecond; } - if (progressHandle is { BytesPerSecond: 0 }) - progressHandle.BytesPerSecond = bytesTotal; - - stopwatchYield.Stop(); - stopwatchSample.Stop(); + progressHandle.Progress = 1; + if (progressHandle.BytesPerSecond == 0) progressHandle.BytesPerSecond = bytesTotal; return response; } - static async Task GetUploadResponse(this WebRequest request, WebRequestConfig config, - ProgressHandle progressHandle) + static async Task GetUploadResponse(WebRequest request, WebRequestConfig config, ProgressHandle progressHandle) { if(config.RawBinaryData != null) { Task TaskFunc() { - request.LogRequestBeingSent(config); - return request.SetupOctetRequest(config, progressHandle); + LogRequestBeingSent(request, config); + return SetupOctetRequest(request, config, progressHandle); } await EnqueueTask(TaskFunc); @@ -388,8 +366,8 @@ Task TaskFunc() { Task TaskFunc() { - request.LogRequestBeingSent(config); - return request.SetupMultipartRequest(config, progressHandle); + LogRequestBeingSent(request, config); + return SetupMultipartRequest(request, config, progressHandle); } await EnqueueTask(TaskFunc); @@ -459,18 +437,24 @@ static async Task BuildWebRequest(WebRequestConfig config, ProgressH // Create request HttpWebRequest request = WebRequest.Create(config.Url) as HttpWebRequest; request.Method = config.RequestMethodType; - request.SetModioHeaders(); - request.SetConfigHeaders(config); + SetModioHeaders(request); + SetConfigHeaders(request, config); // Add request to shutdown method WebRequestManager.ShutdownEvent += request.Abort; - // URL ENCODED REQUEST - request.ContentType = "application/x-www-form-urlencoded"; - - if(config.HasStringData) + if (config.RawBodyData == null) { - await request.SetupUrlEncodedRequest(config); + request.ContentType = "application/x-www-form-urlencoded"; + if(config.HasStringData) + { + await SetupUrlEncodedRequest(request, config); + } + } + else + { + request.ContentType = "application/json"; + await SetupJsonRequest(request, config); } return request; @@ -481,8 +465,8 @@ static WebRequest BuildWebRequestForUpload(WebRequestConfig config, ProgressHand // Create request HttpWebRequest request = WebRequest.Create(config.Url) as HttpWebRequest; request.Method = config.RequestMethodType; - request.SetModioHeaders(); - request.SetConfigHeaders(config); + SetModioHeaders(request); + SetConfigHeaders(request, config); // Add API key or Access token // TODO if we dont have an auth token we should abort early, all uploads require an auth token @@ -511,9 +495,9 @@ static WebRequest BuildWebRequestForDownload(string url) { // Create request - HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; + HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "GET"; - request.SetModioHeaders(); + SetModioHeaders(request); request.Timeout = -1; // Add API key or Access token @@ -528,7 +512,7 @@ static WebRequest BuildWebRequestForDownload(string url) return request; } - static void SetModioHeaders(this WebRequest webRequest) + static void SetModioHeaders(WebRequest webRequest) { // Set default headers for all requests HttpWebRequest request = (HttpWebRequest)webRequest; @@ -541,7 +525,7 @@ static void SetModioHeaders(this WebRequest webRequest) request.Headers.Add(ServerConstants.HeaderKeys.PORTAL, ServerConstants.ConvertUserPortalToHeaderValue(Settings.build.userPortal)); } - static void SetConfigHeaders(this WebRequest request, WebRequestConfig config) + static void SetConfigHeaders(WebRequest request, WebRequestConfig config) { foreach(var header in config.HeaderData) { @@ -549,7 +533,7 @@ static void SetConfigHeaders(this WebRequest request, WebRequestConfig config) } } - static async Task SetupUrlEncodedRequest(this WebRequest request, WebRequestConfig config) + static async Task SetupUrlEncodedRequest(WebRequest request, WebRequestConfig config) { string kvpData = ""; foreach(var kvp in config.StringKvpData) @@ -567,7 +551,18 @@ static async Task SetupUrlEncodedRequest(this WebRequest request, WebRequestConf } } - static async Task SetupMultipartRequest(this WebRequest request, WebRequestConfig config, ProgressHandle progressHandle) + static async Task SetupJsonRequest(WebRequest request, WebRequestConfig config) + { + using (Stream requestStream = request.GetRequestStream()) + { + using(StreamWriter writer = new StreamWriter(requestStream)) + { + await writer.WriteAsync(config.RawBodyData); + } + } + } + + static async Task SetupMultipartRequest(WebRequest request, WebRequestConfig config, ProgressHandle progressHandle) { string boundary = "---------------------------" + DateTime.Now.Ticks.ToString("x"); @@ -620,7 +615,7 @@ static async Task SetupMultipartRequest(this WebRequest request, WebRequestConfi } } - static async Task SetupOctetRequest(this WebRequest request, WebRequestConfig config, ProgressHandle progressHandle) + static async Task SetupOctetRequest(WebRequest request, WebRequestConfig config, ProgressHandle progressHandle) { string boundary = "---------------------------" + DateTime.Now.Ticks.ToString("x"); request.ContentType = "application/octet-stream; boundary=" + boundary; @@ -701,9 +696,7 @@ static T Deserialize(Stream content) using(StreamReader sr = new StreamReader(content)) { string json = sr.ReadToEnd(); -#if UNITY_EDITOR Logger.Log(LogLevel.Verbose, $"Attempting to deserialize web response:\n\"{json}\""); -#endif return JsonConvert.DeserializeObject(json); } } @@ -738,9 +731,7 @@ static async Task HttpStatusCodeError(Stream response, string requestLog (uint)result.value.error.error_ref); } - return ResultBuilder.Create(ResultCode.API_FailedToCompleteRequest, - (uint)result.value.error.error_ref); - + return ResultBuilder.Create(ResultCode.API_FailedToCompleteRequest, (uint)result.value.error.error_ref); } static ResultAnd TimeOutError(WebRequestConfig requestConfig, WebException ex) diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/AotTypeEnforcer.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/AotTypeEnforcer.cs index 174946a..2d7fcaf 100644 --- a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/AotTypeEnforcer.cs +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/AotTypeEnforcer.cs @@ -23,7 +23,7 @@ public void Awake() AotHelper.EnsureList(); AotHelper.EnsureList(); AotHelper.EnsureList(); - AotHelper.EnsureList(); + AotHelper.EnsureList(); AotHelper.EnsureList(); AotHelper.EnsureList(); AotHelper.EnsureList(); diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/EntitlementWalletObject.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/EntitlementWalletObject.cs index b10c916..6afbf6c 100644 --- a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/EntitlementWalletObject.cs +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/EntitlementWalletObject.cs @@ -3,6 +3,6 @@ [System.Serializable] public struct EntitlementWalletObject { - public long balance; + public int balance; } } diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/GameTagOptionLocalizationObject.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/GameTagOptionLocalizationObject.cs new file mode 100644 index 0000000..b56a570 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/GameTagOptionLocalizationObject.cs @@ -0,0 +1,10 @@ +using System.Collections.Generic; + +namespace ModIO.Implementation.API.Objects +{ + internal struct GameTagOptionLocalizationObject + { + public string tag; + public Dictionary translations; + } +} diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/GameTagOptionLocalizationObject.cs.meta b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/GameTagOptionLocalizationObject.cs.meta new file mode 100644 index 0000000..fca8c75 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/GameTagOptionLocalizationObject.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 091393d858ea4aeaa75e642f9993e96a +timeCreated: 1712186617 \ No newline at end of file diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/GameTagOptionObject.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/GameTagOptionObject.cs index ee5c195..2bc2a85 100644 --- a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/GameTagOptionObject.cs +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/GameTagOptionObject.cs @@ -6,8 +6,10 @@ namespace ModIO.Implementation.API.Objects internal struct GameTagOptionObject { public string name; + public Dictionary name_localization; public string type; public string[] tags; + public GameTagOptionLocalizationObject[] tags_localization; public Dictionary tag_count_map; public bool hidden; public bool locked; diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ImageObject.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ImageObject.cs index 4eaeea7..f3cd788 100644 --- a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ImageObject.cs +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ImageObject.cs @@ -6,5 +6,6 @@ internal struct ImageObject public string filename; public string original; public string thumb_320x180; + public string thumb_1280x720; } } diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/MetadataKVPObject.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/MetadataKVPObject.cs index e33e581..907ac9e 100644 --- a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/MetadataKVPObject.cs +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/MetadataKVPObject.cs @@ -1,8 +1,15 @@ -namespace ModIO.Implementation.API.Objects +using System.Collections.Generic; + +namespace ModIO.Implementation.API.Objects { [System.Serializable] - internal struct MetadataKVPObject + internal struct MetadataKvpObject { + public MetadataKvpObject(string key, string value) + { + metakey = key; + metavalue = value; + } public string metakey; public string metavalue; } diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/MetadataKvpObjects.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/MetadataKvpObjects.cs new file mode 100644 index 0000000..02966e8 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/MetadataKvpObjects.cs @@ -0,0 +1,11 @@ +using System; +using ModIO.Implementation.API.Objects; + +namespace ModIO +{ + [System.Serializable] + internal struct MetadataKvpObjects + { + public MetadataKvpObject[] data; + } +} diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/MetadataKvpObjects.cs.meta b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/MetadataKvpObjects.cs.meta new file mode 100644 index 0000000..74a0e31 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/MetadataKvpObjects.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 789ed77eaa2ad4436bdf98f51602b883 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModComment.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModComment.cs new file mode 100644 index 0000000..3999ff5 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModComment.cs @@ -0,0 +1,17 @@ +namespace ModIO.Implementation.API.Objects +{ + internal struct ModComment + { + public long id; + public long gameId; + public UserObject user; + public long modId; + public long resourceId; + public long submittedBy; + public long dateAdded; + public long replyId; + public string threadPosition; + public long karma; + public string content; + } +} diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModComment.cs.meta b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModComment.cs.meta new file mode 100644 index 0000000..350b5b3 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModComment.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ce2be59c570f242e78648936bf859cb9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModCommentObject.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModCommentObject.cs index 814739a..8cebd7c 100644 --- a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModCommentObject.cs +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModCommentObject.cs @@ -15,19 +15,4 @@ internal struct ModCommentObject public long karma; public string content; } - - internal struct ModComment - { - public long id; - public long gameId; - public UserObject user; - public long modId; - public long resourceId; - public long submittedBy; - public long dateAdded; - public long replyId; - public string threadPosition; - public long karma; - public string content; - } } diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModDependenciesObject.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModDependenciesObject.cs index 9699f26..ac060c4 100644 --- a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModDependenciesObject.cs +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModDependenciesObject.cs @@ -6,13 +6,16 @@ /// /// [System.Serializable] - public struct ModDependenciesObject + internal struct ModDependenciesObject { - //Unique id of the mod that is the dependency. - public int mod_id; - //The name of the dependency (mod name). - public string mod_name; //Unix timestamp of date the dependency was added. public int date_added; + public int dependency_depth; + public LogoObject logo; + public int mod_id; + public ModfileObject modfile; + public string name; + public string name_id; + } } diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModObject.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModObject.cs index 993b722..9372f63 100644 --- a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModObject.cs +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModObject.cs @@ -11,6 +11,7 @@ internal struct ModObject public long date_added; public long date_updated; public long date_live; + public bool dependencies; public int maturity_option; public int stock; public int community_options; @@ -23,7 +24,7 @@ internal struct ModObject public string name_id; public ModfileObject modfile; public string metadata_blob; - public MetadataKVPObject[] metadata_kvp; + public MetadataKvpObject[] metadata_kvp; public ModTagObject[] tags; public string platform_status; public RevenueType revenue_type; diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModTagObject.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModTagObject.cs index 67fdc3a..f9398e3 100644 --- a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModTagObject.cs +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModTagObject.cs @@ -4,6 +4,7 @@ internal struct ModTagObject { public string name; + public string name_localized; public string date_added; } } diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModfileObject.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModfileObject.cs index b872614..c7cdccf 100644 --- a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModfileObject.cs +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/ModfileObject.cs @@ -11,6 +11,7 @@ internal struct ModfileObject public int virus_positive; public string virustotal_hash; public long filesize; + public long filesize_uncompressed; public FilehashObject filehash; public string filename; public string version; diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/UserObject.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/UserObject.cs index 5a155e0..30aebc3 100644 --- a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/UserObject.cs +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/UserObject.cs @@ -12,5 +12,8 @@ internal struct UserObject public string timezone; public string language; public string profile_url; + + public static bool operator ==(UserObject left, UserObject right) => left.id == right.id; + public static bool operator !=(UserObject left, UserObject right) => left.id != right.id; } } diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/AddModKvpMetadata.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/AddModKvpMetadata.cs new file mode 100644 index 0000000..2eed252 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/AddModKvpMetadata.cs @@ -0,0 +1,26 @@ +using System.Collections.Generic; +using ModIO.Implementation.API.Objects; + +namespace ModIO.Implementation.API.Requests +{ + static class AddModKvpMetadata + { + public static WebRequestConfig Request(long modId, Dictionary metadata) + { + var request = new WebRequestConfig() + { + //games/{game-id}/mods/{mod-id}/metadatakvp + Url = $"{Settings.server.serverURL}{@"/games/"}{Settings.server.gameId}{@"/mods/"}{modId}/metadatakvp", + RequestMethodType = "POST", + ShouldRequestTimeout = false, + }; + + foreach (var kvp in metadata) + { + request.AddField("metadata[]", $"{kvp.Key}:{kvp.Value}"); + } + + return request; + } + } +} diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/AddModKvpMetadata.cs.meta b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/AddModKvpMetadata.cs.meta new file mode 100644 index 0000000..3f8631c --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/AddModKvpMetadata.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 15e628c9b2ec8475bbcfbf25cc4f1731 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/AddModMonetizationTeam.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/AddModMonetizationTeam.cs deleted file mode 100644 index 8ce22bc..0000000 --- a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/AddModMonetizationTeam.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System.Collections.Generic; - -namespace ModIO.Implementation.API.Requests -{ - internal static class AddModMonetizationTeam - { - public static WebRequestConfig Request(long modId, ICollection team) - { - var request = new WebRequestConfig() - { - Url = $"{Settings.server.serverURL}{@"/games/"}{Settings.server.gameId}{@"/mods/"}{modId}{@"/monetization/team"}?", - RequestMethodType = "POST" - }; - - int count = 0; - foreach(var teamMember in team) - { - request.AddField($"users[{count}][id]", teamMember.userId); - request.AddField($"users[{count}][split]", teamMember.split); - count++; - } - - return request; - } - } -} diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/AddModMonetizationTeam.cs.meta b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/AddModMonetizationTeam.cs.meta deleted file mode 100644 index 1936066..0000000 --- a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/AddModMonetizationTeam.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 5945b4a5d6054b3da2ceeac3cb9c6f16 -timeCreated: 1705020641 \ No newline at end of file diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/AuthenticateUser.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/AuthenticateUser.cs index 3235f8c..1fd7a99 100644 --- a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/AuthenticateUser.cs +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/AuthenticateUser.cs @@ -7,11 +7,11 @@ public static WebRequestConfig InternalRequest(string securityCode) { var request = new WebRequestConfig() { - Url = $"{Settings.server.serverURL}{@"/oauth/emailexchange"}?", + Url = $"{Settings.server.serverURL}{@"/oauth/emailexchange"}?", RequestMethodType = "POST", DontUseAuthToken = true }; - + request.AddField("api_key", Settings.server.gameKey); request.AddField("security_code", securityCode); diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/DeleteModKvpMetadata.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/DeleteModKvpMetadata.cs new file mode 100644 index 0000000..d311a66 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/DeleteModKvpMetadata.cs @@ -0,0 +1,31 @@ +using System.Collections.Generic; +using System.Text; +using ModIO.Implementation.API.Objects; + +namespace ModIO.Implementation.API.Requests +{ + static class DeleteModKvpMetadata + { + public static WebRequestConfig Request(long modId, Dictionary metadata) + { + var request = new WebRequestConfig() + { + // games/{game-id}/mods/{mod-id}/metadatakvp + Url = $"{Settings.server.serverURL}{@"/games/"}{Settings.server.gameId}{@"/mods/"}{modId}/metadatakvp", + RequestMethodType = "DELETE", + ShouldRequestTimeout = false, + }; + + //Every pair to delete requires a separate field with metadata[] as the key + //(eg. metadata[]=pistol-dmg:800, metadata[]=gravity:9.8). + //NOTE: If the string contains only the key and no colon ':', + //all metadata with that key will be removed. + foreach (var kvp in metadata) + { + request.AddField("metadata[]", $"{kvp.Key}:{kvp.Value}"); + } + + return request; + } + } +} diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/DeleteModKvpMetadata.cs.meta b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/DeleteModKvpMetadata.cs.meta new file mode 100644 index 0000000..728b6e6 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/DeleteModKvpMetadata.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 38ca2b53505ef40db90eb601c8ced4e2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/GetCurrentUserRatings.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/GetCurrentUserRatings.cs index 0937871..9e26ca0 100644 --- a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/GetCurrentUserRatings.cs +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/GetCurrentUserRatings.cs @@ -10,9 +10,19 @@ internal class ResponseSchema : PaginatedResponse { } public static WebRequestConfig Request() { + return Request(null); + } + + public static WebRequestConfig Request(SearchFilter searchFilter) + { + string filter = string.Empty; + if(searchFilter != null) + { + filter = FilterUtil.ConvertToURL(searchFilter); + } var request = new WebRequestConfig() { - Url = $"{Settings.server.serverURL}{@"/me/ratings"}?", + Url = $"{Settings.server.serverURL}{@"/me/ratings"}?{filter}{@"&game_id="}{Settings.server.gameId}", RequestMethodType = "GET" }; diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/GetModKvpMetadata.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/GetModKvpMetadata.cs new file mode 100644 index 0000000..81b57d1 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/GetModKvpMetadata.cs @@ -0,0 +1,19 @@ +using System.Collections.Generic; +using ModIO.Implementation.API.Objects; + +namespace ModIO.Implementation.API.Requests +{ + + internal static class GetModKvpMetadata + { + public static WebRequestConfig> Request(long modId) + { + return new WebRequestConfig>() + { + // /games/{game-id}/mods/{mod-id}/metadatakvp + Url = $"{Settings.server.serverURL}{@"/games/"}{Settings.server.gameId}{@"/mods/"}{modId}/metadatakvp", + RequestMethodType = "GET" + }; + } + } +} diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/GetModKvpMetadata.cs.meta b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/GetModKvpMetadata.cs.meta new file mode 100644 index 0000000..27dc1c9 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/GetModKvpMetadata.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: db98f9ebd3d7a4b0ea3a89b188193ce8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/GetModMonetizationTeam.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/GetModMonetizationTeam.cs deleted file mode 100644 index af67895..0000000 --- a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/GetModMonetizationTeam.cs +++ /dev/null @@ -1,19 +0,0 @@ -using ModIO.Implementation.API.Objects; - -namespace ModIO.Implementation.API.Requests -{ - internal static class GetModMonetizationTeam - { - [System.Serializable] - internal class ResponseSchema : PaginatedResponse { } - - public static WebRequestConfig Request(long modId) - { - return new WebRequestConfig() - { - Url = $"{Settings.server.serverURL}{@"/games/"}{Settings.server.gameId}{@"/mods/"}{modId}{@"/monetization/team"}?", - RequestMethodType = "GET" - }; - } - } -} diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/GetModMonetizationTeam.cs.meta b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/GetModMonetizationTeam.cs.meta deleted file mode 100644 index ceb900d..0000000 --- a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/GetModMonetizationTeam.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 093d3d58c2dc4d5ab768d1bb8b090ab2 -timeCreated: 1705015214 \ No newline at end of file diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/GetTokenPacks.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/GetTokenPacks.cs deleted file mode 100644 index 0e22427..0000000 --- a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/GetTokenPacks.cs +++ /dev/null @@ -1,16 +0,0 @@ -using ModIO.Implementation.API.Objects; - -namespace ModIO.Implementation.API.Requests -{ - internal static class GetTokenPacks - { - [System.Serializable] - public class ResponseSchema : PaginatedResponse { } - - public static WebRequestConfig Request() => new WebRequestConfig - { - Url = $"{Settings.server.serverURL}/games/{Settings.server.gameId}/monetization/token-packs", - RequestMethodType = "GET", - }; - } -} diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/GetTokenPacks.cs.meta b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/GetTokenPacks.cs.meta deleted file mode 100644 index 3edf60e..0000000 --- a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/GetTokenPacks.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 2ec9f27be3294868b7876a4cc4165e63 -timeCreated: 1707776529 \ No newline at end of file diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/Modfile.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/Modfile.cs index 585b887..f851e9c 100644 --- a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/Modfile.cs +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/Modfile.cs @@ -13,6 +13,7 @@ public struct Modfile public int virusPositive; public string virustotalHash; public long filesize; + public long archiveFileSize; public string filehashMd5; public string filename; public string version; diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/Ping.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/Ping.cs new file mode 100644 index 0000000..9b16e59 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/Ping.cs @@ -0,0 +1,15 @@ +namespace ModIO.Implementation.API.Requests +{ + internal static class Ping + { + public static WebRequestConfig Request() + { + return new WebRequestConfig() + { + Url = $"{Settings.server.serverURL}/ping?", + + RequestMethodType = "GET" + }; + } + } +} diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/Ping.cs.meta b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/Ping.cs.meta new file mode 100644 index 0000000..c0efcf0 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/Ping.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 7ef932b402164092a326392eaae1d581 +timeCreated: 1715654498 \ No newline at end of file diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/PurchaseMod.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/PurchaseMod.cs index a613d40..efcbccf 100644 --- a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/PurchaseMod.cs +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/PurchaseMod.cs @@ -3,7 +3,7 @@ internal static class PurchaseMod { // Idempotent must be alphanumeric and cannot contain unique characters except for -. - public static WebRequestConfig Request(ModId modId, int displayAmount, string idempotent) + public static WebRequestConfig Request(ModId modId, int displayAmount, string idempotent, bool subscribeOnPurchase) { var request = new WebRequestConfig() { @@ -15,6 +15,7 @@ public static WebRequestConfig Request(ModId modId, int displayAmount, string id request.AddField("display_amount", displayAmount); request.AddField("idempotent_key", idempotent); + request.AddField("subscribe", subscribeOnPurchase); return request; } diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/RequestUserDelegationToken.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/RequestUserDelegationToken.cs new file mode 100644 index 0000000..b956a00 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/RequestUserDelegationToken.cs @@ -0,0 +1,17 @@ +using ModIO.Implementation.API.Objects; + +namespace ModIO.Implementation.API.Requests +{ + internal static class RequestUserDelegationToken + { + public static WebRequestConfig Request() + { + return new WebRequestConfig() + { + //https://{your-game-id}.modapi.io/v1/me/s2s/oauth/token + Url = $"{Settings.server.serverURL}{@"/me/s2s/oauth/token"}", + RequestMethodType = "POST" + }; + } + } +} diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/RequestUserDelegationToken.cs.meta b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/RequestUserDelegationToken.cs.meta new file mode 100644 index 0000000..a4e2e32 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/RequestUserDelegationToken.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 816d63480e83e4ced9aeacba56273996 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/SyncEntitlements.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/SyncEntitlements.cs index e3bc956..44abc97 100644 --- a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/SyncEntitlements.cs +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/SyncEntitlements.cs @@ -25,6 +25,35 @@ public static WebRequestConfig SteamRequest() return request; } + + /// Payload's "json" value returned from the Google Play store + public static WebRequestConfig GoogleRequest(string receipt) + { + var request = new WebRequestConfig() + { + Url = $"{Settings.server.serverURL}{@"/me/iap/google/sync"}?", + RequestMethodType = "POST", + ShouldRequestTimeout = false, + }; + request.AddField("receipt", receipt); + + return request; + } + + /// The "Payload" value returned from Apple + public static WebRequestConfig AppleRequest(string receipt) + { + var request = new WebRequestConfig() + { + Url = $"{Settings.server.serverURL}{@"/me/iap/apple/sync"}?", + RequestMethodType = "POST", + ShouldRequestTimeout = false, + }; + request.AddField("receipt", receipt); + + return request; + } + #if UNITY_GAMECORE /// The Xbox Live token returned from calling /// GetTokenAndSignatureAsync("POST", "https://*.modapi.io") @@ -45,8 +74,7 @@ public static WebRequestConfig XboxRequest(string token) request.AddField("xbox_token", token); return request; } -#endif -#if UNITY_PS4 || UNITY_PS5 +#elif UNITY_PS4 || UNITY_PS5 /// The auth code returned form the PSN Api /// The PSN environment you are targeting. If /// omitted, the request will default to targeting the production environment. diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/UserDelegationToken.cs b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/UserDelegationToken.cs new file mode 100644 index 0000000..199cbd5 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/UserDelegationToken.cs @@ -0,0 +1,11 @@ +using System; + +namespace ModIO.Implementation.API.Objects +{ + [Serializable] + public struct UserDelegationToken + { + public string entity; + public string token; + } +} diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/UserDelegationToken.cs.meta b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/UserDelegationToken.cs.meta new file mode 100644 index 0000000..5012f84 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Requests/UserDelegationToken.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2ba1dc0ffaa5b4ab9a932d3ffd8a4f79 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/ModIO.Implementation/Implementation.Platform/Classes/FileStreamWrapper.cs b/Runtime/ModIO.Implementation/Implementation.Platform/Classes/FileStreamWrapper.cs index ae27491..3d7297e 100644 --- a/Runtime/ModIO.Implementation/Implementation.Platform/Classes/FileStreamWrapper.cs +++ b/Runtime/ModIO.Implementation/Implementation.Platform/Classes/FileStreamWrapper.cs @@ -498,40 +498,6 @@ public override void SetLength(long value) this.fileStream.SetLength(value); } - /// - /// When overridden in a derived class, writes a sequence of bytes to the current stream and - /// advances the current position within this stream by the number of bytes written. - /// - /// Byte[]- An array of bytes. This method copies count bytes from buffer to the current stream. - /// Int32- The zero-based byte offset in buffer at which to begin copying bytes to the current stream. - /// Int32- The number of bytes to be written to the current stream. - /// - /// Use the CanWrite property to determine whether the current instance supports writing. - /// Use the WriteAsync method to write asynchronously to the current stream. - /// - /// If the write operation is successful, the position within the stream advances by the - /// number of bytes written. If an exception occurs, the position within the stream remains - /// unchanged. - /// - public override void Write(byte[] buffer, int offset, int count) - { - // Exceptions - // ArgumentException - // The sum of offset and count is greater than the buffer length. - // ArgumentNullException - // buffer is null. - // ArgumentOutOfRangeException - // offset or count is negative. - // IOException - // An I/O error occurred, such as the specified file cannot be found. - // NotSupportedException - // The stream does not support writing. - // ObjectDisposedException - // Write(Byte[], Int32, Int32) was called after the stream was closed. - - this.fileStream.Write(buffer, offset, count); - } - /// /// Asynchronously writes a sequence of bytes to the current stream, advances the current /// position within this stream by the number of bytes written, and monitors cancellation @@ -573,10 +539,10 @@ public override Task WriteAsync(byte[] buffer, int offset, int count, // InvalidOperationException // The stream is currently in use by a previous write operation. - return this.fileStream.WriteAsync(buffer, offset, count, cancellationToken); + return ManagedFileWriter.WriteToFile(fileStream, buffer, offset, count, cancellationToken); } - public override async Task WriteAllBytesAsync(byte[] buffer) + public override async Task WriteAllBytesAsync(byte[] buffer, CancellationToken token = new CancellationToken()) { Result writeResult; @@ -586,8 +552,7 @@ public override async Task WriteAllBytesAsync(byte[] buffer) try { fileStream.Position = 0; - await fileStream.WriteAsync(buffer, 0, buffer.Length); - + await ManagedFileWriter.WriteToFile(fileStream, buffer, token); writeResult = ResultBuilder.Success; } catch(Exception e) @@ -607,8 +572,86 @@ public override async Task WriteAllBytesAsync(byte[] buffer) return writeResult; } + /// + /// Writes a byte to the current position in the stream and advances the position within the + /// stream by one byte. + /// + /// Byte - The byte to write to the stream. + /// + /// Use the CanWrite property to determine whether the current instance supports writing. + /// + /// - Notes to Inheritors - + /// The default implementation on Stream creates a new single-byte array and then calls + /// Write(Byte[], Int32, Int32). While this is formally correct, it is inefficient. Any + /// stream with an internal buffer should override this method and provide a much more + /// efficient version that writes to the buffer directly, avoiding the extra array + /// allocation on every call. + /// + public override void WriteByte(byte value) + { + // Exceptions + // IOException + // An I/O error occurs. + // NotSupportedException + // The stream does not support writing, or the stream is already closed. + // ObjectDisposedException + // Methods were called after the stream was closed. + if (ManagedFileWriter.IsOverBudget(1, out _)) + { + Logger.Log(LogLevel.Error, "Write limit has been exceeded. Canceling operation!"); + return; + } + + this.fileStream.WriteByte(value); + } + + /// + /// When overridden in a derived class, writes a sequence of bytes to the current stream and + /// advances the current position within this stream by the number of bytes written. + /// + /// Byte[]- An array of bytes. This method copies count bytes from buffer to the current stream. + /// Int32- The zero-based byte offset in buffer at which to begin copying bytes to the current stream. + /// Int32- The number of bytes to be written to the current stream. + /// + /// Use the CanWrite property to determine whether the current instance supports writing. + /// Use the WriteAsync method to write asynchronously to the current stream. + /// + /// If the write operation is successful, the position within the stream advances by the + /// number of bytes written. If an exception occurs, the position within the stream remains + /// unchanged. + /// + public override void Write(byte[] buffer, int offset, int count) + { + // Exceptions + // ArgumentException + // The sum of offset and count is greater than the buffer length. + // ArgumentNullException + // buffer is null. + // ArgumentOutOfRangeException + // offset or count is negative. + // IOException + // An I/O error occurred, such as the specified file cannot be found. + // NotSupportedException + // The stream does not support writing. + // ObjectDisposedException + // Write(Byte[], Int32, Int32) was called after the stream was closed. + if (ManagedFileWriter.IsOverBudget((ulong)buffer.Length, out _)) + { + Logger.Log(LogLevel.Error, "Write limit has been exceeded. Canceling operation!"); + return; + } + + this.fileStream.Write(buffer, offset, count); + } + public override Result WriteAllBytes(byte[] buffer) { + if (ManagedFileWriter.IsOverBudget((ulong)buffer.Length, out _)) + { + Logger.Log(LogLevel.Error, "Write limit has been exceeded. Canceling operation!"); + return ResultBuilder.Create(ResultCode.IO_FileCouldNotBeWritten); + } + Result writeResult; if(SystemIOWrapper.IsPathValid(this.fileStream.Name, out writeResult) @@ -618,7 +661,6 @@ public override Result WriteAllBytes(byte[] buffer) { fileStream.Position = 0; fileStream.Write(buffer, 0, buffer.Length); - writeResult = ResultBuilder.Success; } catch(Exception e) @@ -638,34 +680,6 @@ public override Result WriteAllBytes(byte[] buffer) return writeResult; } - /// - /// Writes a byte to the current position in the stream and advances the position within the - /// stream by one byte. - /// - /// Byte - The byte to write to the stream. - /// - /// Use the CanWrite property to determine whether the current instance supports writing. - /// - /// - Notes to Inheritors - - /// The default implementation on Stream creates a new single-byte array and then calls - /// Write(Byte[], Int32, Int32). While this is formally correct, it is inefficient. Any - /// stream with an internal buffer should override this method and provide a much more - /// efficient version that writes to the buffer directly, avoiding the extra array - /// allocation on every call. - /// - public override void WriteByte(byte value) - { - // Exceptions - // IOException - // An I/O error occurs. - // NotSupportedException - // The stream does not support writing, or the stream is already closed. - // ObjectDisposedException - // Methods were called after the stream was closed. - - this.fileStream.WriteByte(value); - } - /// /// Releases the unmanaged resources used by the Stream and optionally releases the managed /// resources. diff --git a/Runtime/ModIO.Implementation/Implementation.Platform/Classes/ManagedFileWriter.cs b/Runtime/ModIO.Implementation/Implementation.Platform/Classes/ManagedFileWriter.cs new file mode 100644 index 0000000..16c71be --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.Platform/Classes/ManagedFileWriter.cs @@ -0,0 +1,218 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading; +using System.Threading.Tasks; + +namespace ModIO.Implementation.Platform +{ + // The ManagedFileWriter uses sequential writes in order to guarantee write speed on disk. + // It does this by cutting up a writes into smaller chunks, and then measuring the time it + // takes to write a chunk and sleeping for a certain duration to guarantee write speed. + // Per platform settings can be set in the settings config + + internal static class ManagedFileWriter + { + const int SecondMs = 1000; + const int BytesPerKilobyte = 1024; + + static int writeSpeedInKbPerSecond; + static int bytesPerWrite; + static float writeSpeedReductionThreshold; + + // Task queue runner is used to managed write job priority + static readonly TaskQueueRunner TaskQueueRunner = new TaskQueueRunner(1, true, true); + static readonly SemaphoreSlim Semaphore = new SemaphoreSlim(1, 1); + public static async Task WriteToFile(FileStream fs, byte[] bytes, int offset, int count, CancellationToken cancellationToken, Action onComplete = null) => await WriteToFile(fs, bytes, offset, count, cancellationToken, TaskPriority.LOW, onComplete); + public static async Task WriteToFile(FileStream fs, byte[] bytes, CancellationToken cancellationToken, Action onComplete = null) => await WriteToFile(fs, bytes, 0, bytes.Length, cancellationToken, TaskPriority.LOW, onComplete); + public static async Task WriteToFile(FileStream fs, byte[] bytes, CancellationToken cancellationToken, TaskPriority taskPriority, Action onComplete = null) => await WriteToFile(fs, bytes, 0, bytes.Length, cancellationToken, taskPriority, onComplete); + public static async Task WriteToFile(FileStream fs, byte[] bytes, int offset, int count, CancellationToken cancellationToken, TaskPriority taskPriority, Action onComplete = null) + { + bytesPerWrite = Settings.build.bytesPerWrite; + writeSpeedInKbPerSecond = Settings.build.writeSpeedInKbPerSecond; + writeSpeedReductionThreshold = Settings.build.writeSpeedReductionThreshold; + + if (bytesPerWrite <= 0) + bytesPerWrite = bytes.Length;//Write as fast as possible + if (writeSpeedInKbPerSecond <= 0) + writeSpeedInKbPerSecond = bytes.Length;//Write as fast as possible + if (writeSpeedReductionThreshold <= 0) + writeSpeedReductionThreshold = 1;//100%, No slowdown + + await WriteToFileWithLimitedSpeed_Internal(fs, bytes, offset, count, cancellationToken, taskPriority, onComplete); + } + + static async Task WriteToFileWithLimitedSpeed_Internal(FileStream fs, byte[] bytes, int offset, int count, CancellationToken cancellationToken, TaskPriority priority, Action onComplete) + { + bool success = false; + try + { + var bytesWritten = 0; + var start = DateTime.UtcNow.Ticks; + var tasks = new List>(); + for (int i = offset; i < count; i += bytesPerWrite) + { + var index = i; + tasks.Add(TaskQueueRunner.AddTask(priority, 1, async () => + { + try + { + // We use this semaphore to guarantee writespeed on HD by blocking other write tasks + await Semaphore.WaitAsync(cancellationToken); + bytesWritten = await Write(fs, bytes, cancellationToken, bytesWritten, start, index, count); + } + catch (Exception taskException) + { + Logger.Log(LogLevel.Verbose, $"Error within task execution: {taskException.Message}"); + throw; + } + finally + { + start = DateTime.UtcNow.Ticks; + Semaphore.Release(); + } + + return ResultBuilder.Success; + }, + true)); + success = true; + } + + // We need to wait for all tasks at the same time, so that if we admit a high prio write job it'll get prioritized and finish first. + // Otherwise, this starts skipping between multiple tasks. Like this: Define previous write tasks as A, B, C. Define high prio task as P. + // We add in A B C P at the same time, in that sequence. + // It would then proceed to run -> A, P, A, P, B, P finish, C + // Where A/B/C would be selected randomly from existing tasks as they're low prio tasks, except for the first A task. + // Possibly refactor taskqueuemanager to use an int instead of TaskPriority. That's not necessarily a small change. + // By using the Task.WhenAll, we instead get: A, P, P, P finish, B, C, A + // The reason why it starts A first, is that the task queue runner immediately starts running when we add the first object. + + await Task.WhenAll(tasks); + } + catch (IOException ioEx) + { + Logger.Log(LogLevel.Error, $"I/O exception: {ioEx.Message}"); + throw; + } + catch (Exception ex) + { + Logger.Log(LogLevel.Error, $"An error occurred: {ex.Message}"); + throw; + } + finally + { + onComplete?.Invoke(success); + } + } + + //-----Tracking write speed------// + static double totalSeconds = 0; + static double totalKbWritten = 0; + public static double GetCurrentWriteSpeedInKbPerSeconds() + { + return totalKbWritten/totalSeconds; + } + //-------------------------------// + + static double GetWriteSpeed() + { + var bytesPerSecond = (double)writeSpeedInKbPerSecond * BytesPerKilobyte; + var percentageUsed = PercentageOfBudgetUsed(); + if (percentageUsed > writeSpeedReductionThreshold) + { + var currentPercentagePastThreshold = percentageUsed - writeSpeedReductionThreshold; + var maxPercentagePastThreshold = 1 - writeSpeedReductionThreshold; + var writeSpeedReductionPercentage = 1 - ( currentPercentagePastThreshold / maxPercentagePastThreshold ); + bytesPerSecond = writeSpeedReductionPercentage * writeSpeedInKbPerSecond * BytesPerKilobyte; + Logger.Log(LogLevel.Verbose,$"Slowing down to {bytesPerSecond} bytes per second"); + } + return bytesPerSecond; + } + + static double PercentageOfBudgetUsed() + { +#if UNITY_GAMECORE && !UNITY_EDITOR + var hrResult = Unity.GameCore.SDK.XPackageGetWriteStats(out Unity.GameCore.XPackageWriteStats writeStats); + if (Unity.GameCore.HR.SUCCEEDED(hrResult)) + { + var usedPercentage = Math.Min(1, writeStats.BytesWritten / (double)writeStats.Budget ); + Logger.Log(LogLevel.Verbose, $"Percentage of write budget used is {usedPercentage*100}%"); + Logger.Log(LogLevel.Verbose, $"Write Stats - Interval {writeStats.Elapsed}/{writeStats.Interval}, Budget {writeStats.BytesWritten}/{writeStats.Budget}"); + return usedPercentage; + } +#endif + return 0; + } + + public static bool IsOverBudget(ulong bytesRequested, out ulong intervalTimeRemainingMs) + { + intervalTimeRemainingMs = 0; +#if UNITY_GAMECORE && !UNITY_EDITOR + var hrResult = Unity.GameCore.SDK.XPackageGetWriteStats(out Unity.GameCore.XPackageWriteStats writeStats); + if (Unity.GameCore.HR.SUCCEEDED(hrResult) && writeStats.BytesWritten + bytesRequested > writeStats.Budget) + { + intervalTimeRemainingMs = Math.Max(0, writeStats.Interval - writeStats.Elapsed); + Logger.Log(LogLevel.Verbose, $"Write Stats - Interval {writeStats.Elapsed}/{writeStats.Interval}, Budget {writeStats.BytesWritten}/{writeStats.Budget}"); + return true; + } +#endif + return false; + } + + static async Task Write(FileStream fs, byte[] bytes, CancellationToken cancellationToken, int bytesWritten, long start, int offset, int count) + { + count = Math.Min(bytesPerWrite, count - offset); + + //Time remaining in the current interval before the write budget resets + ulong intervalTimeRemainingMs; + while (IsOverBudget((ulong)count, out intervalTimeRemainingMs)) + { + Logger.Log(LogLevel.Verbose, $"Over write budget, delaying writes for {intervalTimeRemainingMs}ms"); + await Task.Delay((int)intervalTimeRemainingMs, cancellationToken); + } + + if (cancellationToken.IsCancellationRequested) + return 0; + + fs.Write(bytes, offset, count); + fs.Flush(); + + bytesWritten += count; + var ticks = DateTime.UtcNow.Ticks; + var elapsedTicks = ticks - start; + var elapsedSeconds = new TimeSpan(elapsedTicks).TotalSeconds; + var bytesPerSecond = GetWriteSpeed(); + var expectedTimeToWrite = bytesPerSecond > 0 ? count / bytesPerSecond : 0; + + //-----Tracking write speed------// + totalSeconds += elapsedSeconds; + totalKbWritten += (double)count / BytesPerKilobyte; + //-------------------------------// + + Logger.Log(LogLevel.Verbose, $"Count: {count}, ElapsedSeconds: {elapsedSeconds}, BytesPerSecond: {bytesPerSecond}, ExpectedTimeToWrite: {expectedTimeToWrite}"); + + //To maintain a specific write/sec rate we need to wait if we are writing too quickly + if (elapsedSeconds < expectedTimeToWrite || expectedTimeToWrite <= 0) + { + int sleepTime = (int)((expectedTimeToWrite - elapsedSeconds) * SecondMs); + //sleepTime should never exceed the time left in the current interval + if (intervalTimeRemainingMs > 0 && (expectedTimeToWrite <= 0 || sleepTime > (int)intervalTimeRemainingMs)) + { + sleepTime = (int)intervalTimeRemainingMs; + } + + //-----Tracking write speed------// + totalSeconds += (float)sleepTime/SecondMs; + //------------------------------// + + if (sleepTime > 0) + { + Logger.Log(LogLevel.Verbose, "Sleeping for " + sleepTime + "ms to regulate speed for config " + fs.Name); + await Task.Delay(sleepTime, cancellationToken); + } + } + + return bytesWritten; + } + } +} diff --git a/Runtime/ModIO.Implementation/Implementation.Platform/Classes/ManagedFileWriter.cs.meta b/Runtime/ModIO.Implementation/Implementation.Platform/Classes/ManagedFileWriter.cs.meta new file mode 100644 index 0000000..9ae9522 --- /dev/null +++ b/Runtime/ModIO.Implementation/Implementation.Platform/Classes/ManagedFileWriter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2a8d0988ad7798343a2f474914423707 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/ModIO.Implementation/Implementation.Platform/Classes/SystemIOWrapper.cs b/Runtime/ModIO.Implementation/Implementation.Platform/Classes/SystemIOWrapper.cs index 9582ec8..9dd5d38 100644 --- a/Runtime/ModIO.Implementation/Implementation.Platform/Classes/SystemIOWrapper.cs +++ b/Runtime/ModIO.Implementation/Implementation.Platform/Classes/SystemIOWrapper.cs @@ -8,6 +8,7 @@ namespace ModIO.Implementation.Platform { + /// Wrapper for System.IO that handles exceptions and matches our interface. internal static class SystemIOWrapper { @@ -213,7 +214,7 @@ public static async Task WriteFileAsync(string filePath, byte[] data) { try { - using (var fileStream = File.Open(filePath, FileMode.Create)) + using (var fileStream = new FileStreamWrapper(File.Open(filePath, FileMode.Create))) { fileStream.Position = 0; await fileStream.WriteAsync(data, 0, data.Length); @@ -269,7 +270,7 @@ public static Result WriteFile(string filePath, byte[] data) { try { - using (var fileStream = File.Open(filePath, FileMode.Create)) + using (var fileStream = new FileStreamWrapper(File.Open(filePath, FileMode.Create))) { fileStream.Position = 0; fileStream.Write(data, 0, data.Length); @@ -715,6 +716,9 @@ public static ResultAnd> ListAllFiles(string directoryPath) /// Deletes a file. public static Result DeleteFileGetResult(string path) { + if (!File.Exists(path)) + return new Result { code = ResultCode.IO_FileDoesNotExist }; + return DeleteFile(path) ? ResultBuilder.Success : new Result() { code = ResultCode.IO_FileCouldNotBeDeleted }; diff --git a/Runtime/ModIO.Implementation/Implementation.Platform/Interfaces/ModIOFileStream.cs b/Runtime/ModIO.Implementation/Implementation.Platform/Interfaces/ModIOFileStream.cs index 90a6c33..0a53421 100644 --- a/Runtime/ModIO.Implementation/Implementation.Platform/Interfaces/ModIOFileStream.cs +++ b/Runtime/ModIO.Implementation/Implementation.Platform/Interfaces/ModIOFileStream.cs @@ -1,3 +1,4 @@ +using System.Threading; using System.Threading.Tasks; namespace ModIO.Implementation @@ -10,7 +11,7 @@ internal abstract class ModIOFileStream : System.IO.Stream public abstract Task> ReadAllBytesAsync(); public abstract ResultAnd ReadAllBytes(); - public abstract Task WriteAllBytesAsync(byte[] buffer); + public abstract Task WriteAllBytesAsync(byte[] buffer, CancellationToken token = new CancellationToken()); public abstract Result WriteAllBytes(byte[] buffer); } } diff --git a/Runtime/ModIO.Implementation/Implementation.WSS/Classes/Wss.cs b/Runtime/ModIO.Implementation/Implementation.WSS/Classes/Wss.cs index 8951288..d913ae1 100644 --- a/Runtime/ModIO.Implementation/Implementation.WSS/Classes/Wss.cs +++ b/Runtime/ModIO.Implementation/Implementation.WSS/Classes/Wss.cs @@ -73,6 +73,8 @@ static async Task WaitForAccessToken() // HACK this is kind of hacky, but we're not given the user profile, we need // to silently retrieve it await ModIOUnityImplementation.GetCurrentUser(delegate { }); + + ModIOUnityEvents.OnUserAuthenticated(); } catch(Exception e) { diff --git a/Runtime/ModIO.Implementation/Interfaces/IModioSsoPlatform.cs b/Runtime/ModIO.Implementation/Interfaces/IModioSsoPlatform.cs new file mode 100644 index 0000000..173fd2a --- /dev/null +++ b/Runtime/ModIO.Implementation/Interfaces/IModioSsoPlatform.cs @@ -0,0 +1,9 @@ +using System; + +namespace ModIO.Implementation.Platform +{ + public interface IModioSsoPlatform + { + public void PerformSso(TermsHash? displayedTerms, Action onComplete, string optionalThirdPartyEmailAddressUsedForAuthentication = null); + } +} diff --git a/Runtime/ModIO.Implementation/Interfaces/IModioSsoPlatform.cs.meta b/Runtime/ModIO.Implementation/Interfaces/IModioSsoPlatform.cs.meta new file mode 100644 index 0000000..275cc4a --- /dev/null +++ b/Runtime/ModIO.Implementation/Interfaces/IModioSsoPlatform.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: ea5d08d67b0f41cc862819e0a00232b7 +timeCreated: 1711340423 \ No newline at end of file diff --git a/Runtime/ModIO.Implementation/Statics/DataStorage.cs b/Runtime/ModIO.Implementation/Statics/DataStorage.cs index bc6c202..449ec88 100644 --- a/Runtime/ModIO.Implementation/Statics/DataStorage.cs +++ b/Runtime/ModIO.Implementation/Statics/DataStorage.cs @@ -5,12 +5,14 @@ using ModIO.Implementation.API.Objects; using ModIO.Implementation.Platform; using ModIO.Util; +using Plugins.mod.io; namespace ModIO.Implementation { /// Static interface for reading and writing files. internal static class DataStorage { + // TODO Revisit this later, as most of it's benefits are now met with the mutex. Maybe expand this to more generic tasks or for ModManagement internal static TaskQueueRunner taskRunner = new TaskQueueRunner(1, true, PlatformConfiguration.SynchronizedDataJobs); @@ -18,6 +20,8 @@ internal static class DataStorage public static Mutex GetFileWriteMutex() => FileWriteMutex; + static string TempImagesFolderPath => $@"{temp.RootDirectory}/images"; + #region Data Services /// Persistent data storage service. @@ -94,6 +98,37 @@ public static Result LoadUserData() #endregion // User IO +#region Tags + + static string GenerateTagsPath() => $"{persistent.RootDirectory}/tags.json"; + + public static async Task SaveTags(GameTagOptionObject[] tags) + { + string filePath = GenerateTagsPath(); + byte[] data = IOUtil.GenerateUTF8JSONData(tags); + + return await taskRunner.AddTask(TaskPriority.HIGH, 1, async () => await persistent.WriteFileAsync(filePath, data)); + } + + public static async Task> LoadTags() + { + string filePath = GenerateTagsPath(); + GameTagOptionObject[] tags = Array.Empty(); + + if (!persistent.FileExists(filePath)) + return ResultAnd.Create(ResultBuilder.Create(ResultCode.IO_FileDoesNotExist), tags); + + ResultAnd readResult = await persistent.ReadFileAsync(filePath); + Result result = readResult.result; + + if (result.Succeeded()) + IOUtil.TryParseUTF8JSONData(readResult.value, out tags, out result); + + return ResultAnd.Create(result, tags); + } + +#endregion // Tags + #region Mod Browsing /// Generates the file path for an image URL. @@ -113,10 +148,9 @@ public static string GenerateImageCacheFilePath(string imageURL) // URL: https://blog.codinghorror.com/url-shortening-hashes-in-practice/ string filename = IOUtil.GenerateMD5(imageURL); - return $@"{temp.RootDirectory}/images/{filename}.png"; + return Path.Combine(TempImagesFolderPath, $"{filename}.png"); } - /// Stores an image to the temporary cache. public static Result DeleteStoredImage(string imageURL) { // - generate file path - @@ -126,11 +160,19 @@ public static Result DeleteStoredImage(string imageURL) return ResultBuilder.Create(ResultCode.Internal_InvalidParameter); } - Result result = temp.DeleteFile(imageURL); + Result result = temp.DeleteFile(filePath); return result; } + public static void DeleteAllTempImages() + { + if (temp.DirectoryExists(TempImagesFolderPath)) + { + temp.DeleteDirectory(TempImagesFolderPath); + } + } + public static ResultAnd GetImageFileReadStream(string imageURL) { ModIOFileStream stream = temp.OpenReadStream(GenerateImageCacheFilePath(imageURL), out Result result); @@ -170,24 +212,15 @@ public static async Task> TryRetrieveImageBytes(string imageUR #region Mod Management - /// Generates the path for the extraction directory. - public static string GenerateExtractionDirectoryPath() - { - return $@"{persistent.RootDirectory}/installation"; - } - /// Generates the path for an installation directory. - public static string GenerateInstallationDirectoryPath(long modId, long modfileId) + private static string GeneratePersistentInstallationDirectoryPath(long modId, long modfileId) { return $@"{persistent.RootDirectory}/mods/{modId}_{modfileId}"; } - // REVIEW @Jackson TODO Please implement (if this is how you'd use it) - /// Generates the path for an installation directory. - public static string GenerateModfileDetailsDirectoryPath(string directory) + private static string GenerateTemporaryInstallationDirectoryPath(long modId, long modfileId) { - Logger.Log(LogLevel.Verbose, "Not Implemented Yet"); - return directory; + return $@"{temp.RootDirectory}/mods/temp/{modId}_{modfileId}"; } /// Generates the path for a modfile archive. @@ -196,20 +229,29 @@ public static string GenerateModfileArchiveFilePath(long modId, long modfileId) return $@"{temp.RootDirectory}/{modId}_{modfileId}.zip"; } + public static bool TryGetInstallationDirectory(long modId, long modfileId, out string directoryPath) + { + if (TempModSetManager.IsUnsubscribedTempMod(new ModId(modId))) + return TryGetTempInstallationDirectory(modId, modfileId, out directoryPath); + else + return TryGetSubscribedInstallationDirectory(modId, modfileId, out directoryPath); + } + /// Tests if a mod installation directory exists. - public static bool TryGetInstallationDirectory(long modId, long modfileId, - out string directoryPath) + private static bool TryGetSubscribedInstallationDirectory(long modId, long modfileId, out string directoryPath) { - directoryPath = GenerateInstallationDirectoryPath(modId, modfileId); + directoryPath = GeneratePersistentInstallationDirectoryPath(modId, modfileId); return persistent.DirectoryExists(directoryPath); } - // REVIEW @Jackson TODO Please implement - /// Tests if a modfile details directory exists. - public static bool TryGetModfileDetailsDirectory(string directoryPath, - out string properDirectory) + private static bool TryGetTempInstallationDirectory(long modId, long modfileId, out string directoryPath) + { + directoryPath = GenerateTemporaryInstallationDirectoryPath(modId, modfileId); + return persistent.DirectoryExists(directoryPath); + } + + public static bool IsDirectoryValid(string directoryPath) { - properDirectory = GenerateModfileDetailsDirectoryPath(directoryPath); return persistent.DirectoryExists(directoryPath); } @@ -235,28 +277,74 @@ public static bool TryDeleteModfileArchive(long modId, long modfileId, out Resul return true; } + public static bool TryDeleteInstalledMod(long modId, long modfileId, out Result result) + { + if(TempModSetManager.IsUnsubscribedTempMod(new ModId(modId))) + return TryDeleteInstalledTempMod(modId, modfileId, out result); + else + return TryDeleteInstalledPersistentMod(modId, modfileId, out result); + } + /// Deletes the installation directory matching the given mod-modfile /// pair. - public static bool TryDeleteInstalledMod(long modId, long modfileId, out Result result) + private static bool TryDeleteInstalledPersistentMod(long modId, long modfileId, out Result result) { - string directory = GenerateInstallationDirectoryPath(modId, modfileId); + string directory = GeneratePersistentInstallationDirectoryPath(modId, modfileId); result = persistent.DeleteDirectory(directory); return (result.Succeeded()); } + /// Deletes the temp installation directory matching the given mod-modfile + /// pair. + private static bool TryDeleteInstalledTempMod(long modId, long modfileId, out Result result) + { + string directory = GenerateTemporaryInstallationDirectoryPath(modId, modfileId); + + result = persistent.DeleteDirectory(directory); + + return (result.Succeeded()); + } + + /// Deletes the temp installation directory + private static void DeleteInstalledTempModDirectory() + { + string directory = $@"{temp.RootDirectory}/mods/temp/"; + persistent.DeleteDirectory(directory); + } + + public static bool MoveTempModToInstallDirectory(ModId modId, long fileId) + { + var tempModDir = GenerateTemporaryInstallationDirectoryPath(modId, fileId); + if (persistent.DirectoryExists(tempModDir)) + { + persistent.MoveDirectory(tempModDir, GeneratePersistentInstallationDirectoryPath(modId, fileId)); + return true; + } + return false; + } + + /// Generates the path for the extraction directory. + private static string GenerateExtractionDirectoryPath(long modId) + { + if(TempModSetManager.IsUnsubscribedTempMod(new ModId(modId))) + return $@"{temp.RootDirectory}/installation"; + else + return $@"{persistent.RootDirectory}/installation"; + } + /// Deletes the extraction directory. - public static void DeleteExtractionDirectory() + public static void DeleteExtractionDirectory(long modId) { - persistent.DeleteDirectory(GenerateExtractionDirectoryPath()); + persistent.DeleteDirectory(GenerateExtractionDirectoryPath(modId)); } /// Moves extraction directory to the given installation location. public static Result MakeInstallationFromExtractionDirectory(long modId, long modfileId) { - string extractionDirPath = GenerateExtractionDirectoryPath(); - string installDirPath = GenerateInstallationDirectoryPath(modId, modfileId); + string extractionDirPath = GenerateExtractionDirectoryPath(modId); + TryGetInstallationDirectory(modId, modfileId, out string installDirPath); Result result; try @@ -401,10 +489,10 @@ public static ModIOFileStream OpenArchiveReadStream(long modId, long modfileId, } /// Opens an archive output stream. - public static ModIOFileStream OpenArchiveEntryOutputStream(string relativePath, + public static ModIOFileStream OpenArchiveEntryOutputStream(long modId, string relativePath, out Result result) { - string absPath = $@"{GenerateExtractionDirectoryPath()}/{relativePath}"; + string absPath = $@"{GenerateExtractionDirectoryPath(modId)}/{relativePath}"; return persistent.OpenWriteStream(absPath, out result); } diff --git a/Runtime/ModIO.Implementation/Statics/FilterUtil.cs b/Runtime/ModIO.Implementation/Statics/FilterUtil.cs index b4ac945..26d33d3 100644 --- a/Runtime/ModIO.Implementation/Statics/FilterUtil.cs +++ b/Runtime/ModIO.Implementation/Statics/FilterUtil.cs @@ -60,16 +60,13 @@ public static string ConvertToURL(SearchFilter searchFilter) } url = url.Trim(','); } + // add users we are looking for - if(searchFilter.users != null && searchFilter.users.Count > 0) - { - url += "&submitted_by="; - foreach(long user in searchFilter.users) - { - url += $"{user},"; - } - url = url.Trim(','); - } + int users = searchFilter.users?.Count ?? 0; + if (users != 0) + url += $"&submitted_by{(users == 1 ? "=" : Filtering.In)}{string.Join(",", searchFilter.users)}"; + + // add maturity option if(!searchFilter.showMatureContent) { url += "&maturity_option=0"; diff --git a/Runtime/ModIOUnity.cs b/Runtime/ModIOUnity.cs index aee23d7..288f26e 100644 --- a/Runtime/ModIOUnity.cs +++ b/Runtime/ModIOUnity.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using UnityEngine; +using Logger = ModIO.Implementation.Logger; #pragma warning disable 4014 // Ignore warnings about calling async functions from non-async code @@ -17,7 +18,8 @@ public static class ModIOUnity #region Initialization and Maintenance /// true if the plugin has been initialized. - public static bool IsInitialized() => ModIOUnityImplementation.isInitialized; + public static bool IsInitialized(bool attemptAutoInitializeIfNeeded = false) => + attemptAutoInitializeIfNeeded ? ModIOUnityImplementation.IsInitialized(out _) : ModIOUnityImplementation.isInitialized; /// Use to send log messages to instead of Unity.Debug.Log(string). /// The delegate for receiving log messages @@ -35,6 +37,7 @@ public static class ModIOUnity /// /// Data used by the plugin to connect with the mod.io service. /// Data used by the plugin to interact with the platform. + /// Data used by the plugin's default UI to decide what features to show /// /// ServerSettings serverSettings = new ServerSettings { /// serverURL = "https://api.test.mod.io/v1", @@ -60,8 +63,9 @@ public static class ModIOUnity /// public static Result InitializeForUser(string userProfileIdentifier, ServerSettings serverSettings, - BuildSettings buildSettings) => - ModIOUnityImplementation.InitializeForUser(userProfileIdentifier, serverSettings, buildSettings); + BuildSettings buildSettings, + UISettings uiSettings = default) => + ModIOUnityImplementation.InitializeForUser(userProfileIdentifier, serverSettings, buildSettings, uiSettings); /// Initializes the Plugin for the specified user and loads the state of mods installed on the system, as well as the subscribed mods the user has installed on this device. /// @@ -104,6 +108,12 @@ public static Result InitializeForUser(string userProfileIdentifier, /// public static void Shutdown(Action shutdownComplete) => ModIOUnityImplementation.Shutdown(shutdownComplete); + /// + ///

Pings the server.

+ ///

Result.Succeeded() will be true if a response was received.

+ ///
+ public static void Ping(Action callback) => ModIOUnityImplementation.Ping(callback); + #endregion // Initialization and Maintenance #region Authentication @@ -721,7 +731,7 @@ public static void AuthenticateUserViaDiscord(string discordToken, /// You will first need to get the terms of use and hash from the ModIOUnity.GetTermsOfUse() /// method. /// - /// the user's google token + /// google auth code or id token /// the user's email address (Can be null) /// the TermsHash retrieved from ModIOUnity.GetTermsOfUse() /// Callback to be invoked when the operation completes @@ -752,7 +762,7 @@ public static void AuthenticateUserViaDiscord(string discordToken, /// // Once we have the Terms of Use and hash we can attempt to authenticate /// void Authenticate_Example() /// { - /// ModIOUnity.AuthenticateUserViaGoogle(googleToken, "johndoe@gmail.com", modIOTermsOfUse.hash, AuthenticationCallback); + /// ModIOUnity.AuthenticateUserViaGoogle(token, "johndoe@gmail.com", modIOTermsOfUse.hash, AuthenticationCallback); /// } /// /// void AuthenticationCallback(Result result) @@ -767,16 +777,80 @@ public static void AuthenticateUserViaDiscord(string discordToken, /// } /// } ///
- public static void AuthenticateUserViaGoogle(string googleToken, + public static void AuthenticateUserViaGoogle(string token, string emailAddress, TermsHash? hash, Action callback) { ModIOUnityImplementation.AuthenticateUser( - googleToken, AuthenticationServiceProvider.Google, emailAddress, hash, null, null, + token, AuthenticationServiceProvider.Google, + emailAddress, hash, null, null, null, 0, callback); + } + + /// + /// Attempts to authenticate a user via the Apple API. + /// + /// + /// You will first need to get the terms of use and hash from the ModIOUnity.GetTermsOfUse() + /// method. + /// + /// Apple auth code + /// the user's email address (Can be null) + /// the TermsHash retrieved from ModIOUnity.GetTermsOfUse() + /// Callback to be invoked when the operation completes + /// + /// + /// + /// // First we get the Terms of Use to display to the user and cache the hash + /// void GetTermsOfUse_Example() + /// { + /// ModIOUnity.GetTermsOfUse(GetTermsOfUseCallback); + /// } + /// + /// void GetTermsOfUseCallback(ResultAnd<TermsOfUse> response) + /// { + /// if (response.result.Succeeded()) + /// { + /// Debug.Log("Successfully retrieved the terms of use: " + response.value.termsOfUse); + /// + /// // Cache the terms of use (which has the hash for when we attempt to authenticate) + /// modIOTermsOfUse = response.value; + /// } + /// else + /// { + /// Debug.Log("Failed to retrieve the terms of use"); + /// } + /// } + /// + /// // Once we have the Terms of Use and hash we can attempt to authenticate + /// void Authenticate_Example() + /// { + /// ModIOUnity.AuthenticateUserViaApple(authCode, "johndoe@gmail.com", modIOTermsOfUse.hash, AuthenticationCallback); + /// } + /// + /// void AuthenticationCallback(Result result) + /// { + /// if (result.Succeeded()) + /// { + /// Debug.Log("Successfully authenticated user"); + /// } + /// else + /// { + /// Debug.Log("Failed to authenticate"); + /// } + /// } + /// + public static void AuthenticateUserViaApple(string authCode, + string emailAddress, + TermsHash? hash, + Action callback) + { + ModIOUnityImplementation.AuthenticateUser( + authCode, AuthenticationServiceProvider.AppleId, emailAddress, hash, null, null, null, 0, callback); } + /// /// Attempts to authenticate a user via the Oculus API. /// @@ -1027,6 +1101,21 @@ public static void GetTagCategories(Action> callback) ModIOUnityImplementation.GetGameTags(callback); } + /// + ///

Ensure you have called or before using this method.

+ ///

Note: All plugin functionality requires English tags. Localized tags can displayed to players.

+ ///
+ /// in the plugin's currently configured language if it exists, otherwise . + /// + public static string GetTagLocalized(string tag) => GetTagLocalized(tag, Settings.server.languageCode); + + /// + ///

Ensure you have called or before using this method.

+ ///

Note: All plugin functionality requires English tags. Localized tags can displayed to players.

+ ///
+ /// in the provided if it exists, otherwise . + public static string GetTagLocalized(string tag, string languageCode) => ModIOUnityImplementation.GetTagLocalized(tag, languageCode); + /// /// Uses a SearchFilter to retrieve a specific Mod Page and returns the ModProfiles and /// total number of mods based on the Search Filter. @@ -1401,6 +1490,7 @@ public static SubscribedMod[] GetSubscribedMods(out Result result) /// Result.IsAuthenticationError() from the Result will equal true. /// /// callback with the Result and the UserProfile + /// True if we allow the last saved user data if the server cannot be reached. Note that Result will still be a NetworkError /// /// /// @@ -1423,9 +1513,9 @@ public static SubscribedMod[] GetSubscribedMods(out Result result) /// } /// } /// - public static void GetCurrentUser(Action> callback) + public static void GetCurrentUser(Action> callback, bool allowOfflineUser = false) { - ModIOUnityImplementation.GetCurrentUser(callback); + ModIOUnityImplementation.GetCurrentUser(callback, allowOfflineUser); } /// @@ -1704,6 +1794,16 @@ public static Result ForceUninstallMod(ModId modId) return ModIOUnityImplementation.ForceUninstallMod(modId); } + /// + /// Clear the "download failed" state on a mod and allow DownloadManager to try downloading it again + /// + /// + /// + public static Result RetryDownload(ModId modId) + { + return ModIOUnityImplementation.RetryDownload(modId); + } + /// /// Checks if the automatic management process is currently awake and performing a mod /// management operation, such as installing, downloading, uninstalling, updating. @@ -1859,6 +1959,97 @@ public static void DownloadNow(ModId modId, Action callback) ModIOUnityImplementation.DownloadNow(modId, callback); } + /// + /// Get all metadata stored by the game developer for this mod as searchable key value pairs. Successful request will return an array of Metadata KVP Objects. + /// + /// + /// + /// + /// + /// + /// long modId; + /// void Example() + /// { + /// ModIOUnityAsync.GetModKvpMetadata(modId, (r)=> + /// { + /// if (r.result.Succeeded()) + /// { + /// Debug.Log("Successfully received metadata for modId"); + /// foreach(var kvp in r.value) + /// { + /// Debug.Log($"Key: {kvp.key}, Value: {kvp.value}"); + /// } + /// } + /// else + /// { + /// Debug.Log("Failed to get metadata for modId."); + /// } + /// }); + /// } + /// + public static void GetModKvpMetadata(long modId, Action>> callback) => ModIOUnityImplementation.GetModKvpMetadata(modId, callback); + + /// + /// Add metadata for this mod as searchable key value pairs. Metadata is useful to define how a mod works, or other information you need to display and manage the mod. + /// Successful request will return Message Object. For example: A mod might change gravity and the rate of fire of weapons, you could define these properties as key + /// value pairs. We recommend the mod upload tool you create defines and submits metadata behind the scenes, because if these settings affect gameplay, invalid + /// information may cause problems. + /// + /// Metadata can also be stored as metadata_blob in the Mod Object. + /// + /// + /// + /// + /// + /// + /// + /// long modId; + /// Dictionary<string, string> metadata; + /// void Example() + /// { + /// Result result = await ModIOUnityAsync.AddModKvpMetadata(modId, metadata, (result)=> + /// { + /// if (result.Succeeded()) + /// { + /// Debug.Log("Successfully added metadata."); + /// } + /// else + /// { + /// Debug.Log("Failed to add metadata."); + /// } + /// }); + /// } + /// + public static void AddModKvpMetadata(long modId, Dictionary metadata, Action callback) => ModIOUnityImplementation.AddModKvpMetadata(modId, metadata, callback); + + /// + /// Delete key value pairs metadata defined for this mod. Successful request will return 204 No Content. + /// + /// + /// + /// + /// + /// + /// long modId; + /// Dictionary<string, string> metadata; + /// void Example() + /// { + /// ModIOUnityAsync.DeleteModKvpMetadata(modId, metadata, (result)=> + /// { + /// if (result.Succeeded()) + /// { + /// Debug.Log("Successfully deleted metadata"); + /// } + /// else + /// { + /// Debug.Log("Failed to delete metadata."); + /// } + /// }); + /// } + /// + public static void DeleteModKvpMetadata(long modId, Dictionary metadata, Action callback) => ModIOUnityImplementation.DeleteModKvpMetadata(modId, metadata, callback); + + #endregion // Mod Management #region Mod Uploading @@ -2683,8 +2874,6 @@ public static void Report(Report report, Action callback) #region Monetization - public static void GetTokenPacks(Action> callback) => ModIOUnityImplementation.GetTokenPacks(callback); - /// /// Convert an in-game consumable that a user has purchased on Steam, Xbox, or Psn into a users /// mod.io inventory. This endpoint will consume the entitlement on behalf of the user against @@ -2696,9 +2885,9 @@ public static void Report(Report report, Action callback) /// /// /// - /// private void Example(string token) + /// private void Example() /// { - /// ModIOUnity.SyncEntitlements(token); + /// ModIOUnity.SyncEntitlements(); /// } /// void Callback(ResultAnd<Entitlement[]> response) /// { @@ -2727,6 +2916,7 @@ public static void SyncEntitlements(Action> callback) /// The id of the mod the user wants to purchase. /// The amount that was shown to the user for the purchase. /// A unique string. Must be alphanumeric and cannot contain unique characters except for - + /// Automatically subscribe to the mod after purchase /// callback with the result of the operation /// /// @@ -2752,9 +2942,9 @@ public static void SyncEntitlements(Action> callback) /// } /// } /// - public static void PurchaseMod(ModId modId, int displayAmount, string idempotent, Action> callback) + public static void PurchaseMod(ModId modId, int displayAmount, string idempotent, bool subscribeOnPurchase, Action> callback) { - ModIOUnityImplementation.PurchaseMod(modId, displayAmount, idempotent, callback); + ModIOUnityImplementation.PurchaseMod(modId, displayAmount, idempotent, subscribeOnPurchase, callback); } /// @@ -2813,29 +3003,173 @@ public static void GetUserWalletBalance(Action> callback) ModIOUnityImplementation.GetUserWalletBalance(callback); } + #endregion + +#region Service to Service + /// - /// Get all for a specific mod + /// Requests a User Delegation Token on behalf of a authenticated user. + /// This token should then be sent to your secure backend server + /// where you can then use it for specific endpoints. /// - /// The mod to get users for /// callback with the result of the operation - public static void GetModMonetizationTeam(ModId modId, Action> callback) - { - ModIOUnityImplementation.GetModMonetizationTeam(callback, modId); - } + public static void RequestUserDelegationToken(Action> callback) => ModIOUnityImplementation.RequestUserDelegationToken(callback); +#endregion + #region TempModSet /// - /// Set all for a specific mod + /// Creates a Temp mod set /// - /// The mod to set users for - /// All users and their splits + /// Mods used for this set. /// callback with the result of the operation - public static void AddModMonetizationTeam(ModId modId, ICollection team, Action callback) - { - ModIOUnityImplementation.AddModMonetizationTeam(callback, modId, team); - } - #endregion + /// + /// + /// + /// + /// + /// + /// ModId[] modIds; + /// void Example() + /// { + /// ModIOUnity.CreateTempModSet(modIds, callback); + /// } + /// + /// void Callback(Result result) + /// { + /// if (result.Succeeded()) + /// { + /// Debug.Log("Successful"); + /// } + /// else + /// { + /// Debug.Log("Failed"); + /// } + /// } + /// + public static void CreateTempModSet(ModId[] modIds, Action callback) => ModIOUnityImplementation.CreateTempModSet(modIds, callback); + + /// + /// Removes a Temp mod set + /// + /// + /// + /// + /// + /// + /// void Example() + /// { + /// ModIOUnity.DeleteTempModSet(callback); + /// } + /// + /// void Callback(Result result) + /// { + /// if (result.Succeeded()) + /// { + /// Debug.Log("Successful"); + /// } + /// else + /// { + /// Debug.Log("Failed"); + /// } + /// } + /// + public static Result DeleteTempModSet() => ModIOUnityImplementation.DeleteTempModSet(); + + /// + /// Adds mods to a Temp mod set + /// + /// Mods used for this set. + /// callback with the result of the operation + /// + /// + /// + /// + /// + /// + /// ModId[] modIds; + /// void Example() + /// { + /// ModIOUnity.AddModToTempModSet(modIds, callback); + /// } + /// + /// void Callback(Result result) + /// { + /// if (result.Succeeded()) + /// { + /// Debug.Log("Successful"); + /// } + /// else + /// { + /// Debug.Log("Failed"); + /// } + /// } + /// + public static void AddModsToTempModSet(ModId[] modIds, Action callback) => ModIOUnityImplementation.AddModsToTempModSet(modIds, callback); + + /// + /// Removes mods from a Temp mod set + /// + /// + /// Mods used for this set. + /// + /// + /// + /// + /// ModId[] modIds; + /// void Example() + /// { + /// ModIOUnity.RemoveModsFromTempModSet(modIds, callback); + /// } + /// + /// void Callback(Result result) + /// { + /// if (result.Succeeded()) + /// { + /// Debug.Log("Successful"); + /// } + /// else + /// { + /// Debug.Log("Failed"); + /// } + /// } + /// + public static Result RemoveModsFromTempModSet(IEnumerable modIds) => ModIOUnityImplementation.RemoveModsFromTempModSet(modIds); + + /// + /// Gets an array of temp mods that are installed on the current device. + /// + /// + /// Note that these will not be subscribed by the current user. If you wish to get all + /// of the current user's installed mods use ModIOUnity.GetSubscribedMods() and check the + /// SubscribedMod.status equals SubscribedModStatus.Installed. + /// + /// an out Result to inform whether or not it was able to get temp installed mods + /// an array of InstalledMod for each existing temp mod installed on the current device (and not subscribed by the current user) + /// + /// + /// + /// + /// + /// + /// + /// void Example() + /// { + /// InstalledMod[] mods = ModIOUnity.GetTempSystemInstalledMods(out Result result); + /// + /// if (result.Succeeded()) + /// { + /// Debug.Log("found " + mods.Length.ToString() + " temp mods installed"); + /// } + /// else + /// { + /// Debug.Log("failed to get temp installed mods"); + /// } + /// } + /// + public static InstalledMod[] GetTempSystemInstalledMods(out Result result) => ModIOUnityImplementation.GetTempInstalledMods(out result); + #endregion//TempModSet } } diff --git a/Runtime/ModIOUnityAsync.cs b/Runtime/ModIOUnityAsync.cs index 3f82006..2a8836b 100644 --- a/Runtime/ModIOUnityAsync.cs +++ b/Runtime/ModIOUnityAsync.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.Threading.Tasks; using UnityEngine; +using Logger = ModIO.Implementation.Logger; #pragma warning disable 4014 // Ignore warnings about calling async functions from non-async code @@ -25,6 +26,12 @@ public static class ModIOUnityAsync /// public static async Task Shutdown() => await ModIOUnityImplementation.Shutdown(() => { }); + /// + ///

Pings the server.

+ ///

Result.Succeeded() will be true if a response was received.

+ ///
+ public static Task Ping() => ModIOUnityImplementation.Ping(); + #endregion // Initialization and Maintenance #region Authentication @@ -253,8 +260,8 @@ public static async Task AuthenticateUserViaSteam(string steamToken, /// } ///
public static async Task AuthenticateUserViaEpic(string epicToken, - string emailAddress, - TermsHash? hash) + string emailAddress, + TermsHash? hash) { return await ModIOUnityImplementation.AuthenticateUser( epicToken, AuthenticationServiceProvider.Steam, emailAddress, hash, null, null, @@ -308,9 +315,9 @@ public static async Task AuthenticateUserViaEpic(string epicToken, /// } /// public static async Task AuthenticateUserViaPlayStation(string authCode, - string emailAddress, - TermsHash? hash, - PlayStationEnvironment environment) + string emailAddress, + TermsHash? hash, + PlayStationEnvironment environment) { return await ModIOUnityImplementation.AuthenticateUser( authCode, AuthenticationServiceProvider.PlayStation, emailAddress, hash, null, null, @@ -591,7 +598,7 @@ public static async Task AuthenticateUserViaDiscord(string discordToken, /// You will first need to get the terms of use and hash from the ModIOUnity.GetTermsOfUse() /// method. /// - /// the user's steam token + /// google auth code or id token /// the user's email address (Can be null) /// the TermsHash retrieved from ModIOUnity.GetTermsOfUse() /// @@ -617,7 +624,7 @@ public static async Task AuthenticateUserViaDiscord(string discordToken, /// // Once we have the Terms of Use and hash we can attempt to authenticate /// async void Authenticate_Example() /// { - /// Result result = await ModIOUnityAsync.AuthenticateUserViaGoogle(googleToken, "johndoe@gmail.com", modIOTermsOfUse.hash); + /// Result result = await ModIOUnityAsync.AuthenticateUserViaGoogle(token, "johndoe@gmail.com", modIOTermsOfUse.hash); /// /// if (result.Succeeded()) /// { @@ -629,15 +636,70 @@ public static async Task AuthenticateUserViaDiscord(string discordToken, /// } /// } /// - public static async Task AuthenticateUserViaGoogle(string googleToken, + public static async Task AuthenticateUserViaGoogle(string token, string emailAddress, TermsHash? hash) { return await ModIOUnityImplementation.AuthenticateUser( - googleToken, AuthenticationServiceProvider.Google, emailAddress, hash, null, null, + token, AuthenticationServiceProvider.Google, + emailAddress, hash, null, null, null, 0); + } + + /// + /// Attempts to authenticate a user via the Apple API. + /// + /// + /// You will first need to get the terms of use and hash from the ModIOUnity.GetTermsOfUse() + /// method. + /// + /// Apple auth code + /// the user's email address (Can be null) + /// the TermsHash retrieved from ModIOUnity.GetTermsOfUse() + /// + /// + /// // First we get the Terms of Use to display to the user and cache the hash + /// async void GetTermsOfUse_Example() + /// { + /// ResultAnd<TermsOfUser> response = await ModIOUnityAsync.GetTermsOfUse(); + /// + /// if (response.result.Succeeded()) + /// { + /// Debug.Log("Successfully retrieved the terms of use: " + response.value.termsOfUse); + /// + /// // Cache the terms of use (which has the hash for when we attempt to authenticate) + /// modIOTermsOfUse = response.value; + /// } + /// else + /// { + /// Debug.Log("Failed to retrieve the terms of use"); + /// } + /// } + /// + /// // Once we have the Terms of Use and hash we can attempt to authenticate + /// async void Authenticate_Example() + /// { + /// Result result = await ModIOUnityAsync.AuthenticateUserViaApple(authCode, "johndoe@gmail.com", modIOTermsOfUse.hash); + /// + /// if (result.Succeeded()) + /// { + /// Debug.Log("Successfully authenticated user"); + /// } + /// else + /// { + /// Debug.Log("Failed to authenticate"); + /// } + /// } + /// + public static async Task AuthenticateUserViaApple(string authCode, + string emailAddress, + TermsHash? hash) + { + return await ModIOUnityImplementation.AuthenticateUser( + authCode, AuthenticationServiceProvider.AppleId, emailAddress, hash, null, null, null, 0); } + /// /// Attempts to authenticate a user via the oculus API. /// @@ -1094,6 +1156,7 @@ public static async Task> GetCurrentUserRatingFor(ModId mod #endregion // Mod Browsing #region User Management + /// /// Used to submit a rating for a specified mod. /// @@ -1206,6 +1269,7 @@ public static async Task UnsubscribeFromMod(ModId modId) /// This requires the current session to have an authenticated user, otherwise /// Result.IsAuthenticationError() from the Result will equal true. /// + /// True if we allow the last saved user data if the server cannot be reached. Note that Result will still be a NetworkError /// /// /// @@ -1224,9 +1288,9 @@ public static async Task UnsubscribeFromMod(ModId modId) /// } /// } /// - public static async Task> GetCurrentUser() + public static async Task> GetCurrentUser(bool allowOfflineUser = false) { - return await ModIOUnityImplementation.GetCurrentUser(); + return await ModIOUnityImplementation.GetCurrentUser(allowOfflineUser); } /// @@ -1287,6 +1351,7 @@ public static async Task> GetMutedUsers() { return await ModIOUnityImplementation.GetMutedUsers(); } + #endregion #region Mod Management @@ -1414,9 +1479,97 @@ public static async Task RemoveDependenciesFromMod(ModId modId, ICollect return await ModIOUnityImplementation.RemoveDependenciesFromMod(modId, dependencies); } + /// + /// Get all metadata stored by the game developer for this mod as searchable key value pairs. Successful request will return an array of Metadata KVP Objects. + /// + /// + /// + /// + /// + /// + /// long modId; + /// void Example() + /// { + /// ResultAnd<MetadataKvp[]> r = await ModIOUnityAsync.GetModKvpMetadata(modId); + /// + /// if (r.result.Succeeded()) + /// { + /// Debug.Log("Successfully received metadata for modId"); + /// foreach(var kvp in r.value) + /// { + /// Debug.Log($"Key: {kvp.key}, Value: {kvp.value}"); + /// } + /// } + /// else + /// { + /// Debug.Log("Failed to get metadata for modId."); + /// } + /// } + /// + public static async Task>> GetModKvpMetadata(long modId) => await ModIOUnityImplementation.GetModKvpMetadata(modId); + + /// + /// Add metadata for this mod as searchable key value pairs. Metadata is useful to define how a mod works, or other information you need to display and manage the mod. + /// Successful request will return Message Object. For example: A mod might change gravity and the rate of fire of weapons, you could define these properties as key + /// value pairs. We recommend the mod upload tool you create defines and submits metadata behind the scenes, because if these settings affect gameplay, invalid + /// information may cause problems. + /// + /// Metadata can also be stored as metadata_blob in the Mod Object. + /// + /// + /// + /// + /// + /// + /// + /// long modId; + /// Dictionary<string, string> metadata + /// void Example() + /// { + /// Result result = await ModIOUnityAsync.AddModKvpMetadata(modId, metadata); + /// + /// if (result.Succeeded()) + /// { + /// Debug.Log("Successfully added metadata."); + /// } + /// else + /// { + /// Debug.Log("Failed to add metadata."); + /// } + /// } + /// + public static async Task AddModKvpMetadata(long modId, Dictionary metadata) => await ModIOUnityImplementation.AddModKvpMetadata(modId, metadata); + + /// + /// Delete key value pairs metadata defined for this mod. Successful request will return 204 No Content. + /// + /// + /// + /// + /// + /// + /// long modId; + /// Dictionary<string, string> metadata; + /// void Example() + /// { + /// Result result = await ModIOUnityAsync.DeleteModKvpMetadata(modId, metadata); + /// + /// if (result.Succeeded()) + /// { + /// Debug.Log("Successfully deleted metadata"); + /// } + /// else + /// { + /// Debug.Log("Failed to delete metadata."); + /// } + /// } + /// + public static async Task DeleteModKvpMetadata(long modId, Dictionary metadata) => await ModIOUnityImplementation.DeleteModKvpMetadata(modId, metadata); + #endregion // Mod Management #region Mod Uploading + /// /// Creates a new mod profile on the mod.io server based on the details provided from the /// ModProfileDetails object provided. Note that you must have a logo, name and summary @@ -1704,6 +1857,7 @@ public static async Task DeleteTags(ModId modId, string[] tags) { return await ModIOUnityImplementation.DeleteTags(modId, tags); } + #endregion // Mod Uploading #region Multipart @@ -1915,7 +2069,6 @@ public static async Task CompleteMultipartUploadSession(ModId modId, str return await ModIOUnityImplementation.CompleteMultipartUploadSession(modId, uploadId); } - #endregion #region Media Download @@ -1999,8 +2152,6 @@ public static async Task Report(Report report) #region Monetization - public static async Task> GetTokenPacks() => await ModIOUnityImplementation.GetTokenPacks(); - /// /// Convert an in-game consumable that a user has purchased on Steam, Xbox, or Psn into a users /// mod.io inventory. This endpoint will consume the entitlement on behalf of the user against @@ -2011,9 +2162,9 @@ public static async Task Report(Report report) /// /// /// - /// private async void Example(string token) + /// private async void Example() /// { - /// var response = await ModIOUnity.SyncEntitlements(token); + /// var response = await ModIOUnity.SyncEntitlements(); /// if (response.result.Succeeded()) /// { /// Debug.Log("Sync Entitlements Success"); @@ -2024,29 +2175,7 @@ public static async Task Report(Report report) /// } /// } /// - public static async Task> SyncEntitlements() - { - return await ModIOUnityImplementation.SyncEntitlements(); - } - - /// - /// Get users in a monetization team for a specific mod - /// - /// The mod to get users for - public static async Task> GetModMonetizationTeam(ModId modId) - { - return await ModIOUnityImplementation.GetModMonetizationTeam(modId); - } - - /// - /// Set all for a specific mod - /// - /// The mod to set users for - /// All users and their splits - public static async Task AddModMonetizationTeam(ModId modId, ICollection team) - { - return await ModIOUnityImplementation.AddModMonetizationTeam(modId, team); - } + public static async Task> SyncEntitlements() => await ModIOUnityImplementation.SyncEntitlements(); /// /// Complete a marketplace purchase. A Successful request will return the newly created Checkout @@ -2058,6 +2187,7 @@ public static async Task AddModMonetizationTeam(ModId modId, ICollection /// The id of the mod the user wants to purchase. /// The amount that was shown to the user for the purchase. /// A unique string. Must be alphanumeric and cannot contain unique characters except for -. + /// Automatically subscribe to the mod after purchase /// /// /// string idempotent = $"aUniqueKey"; @@ -2076,9 +2206,9 @@ public static async Task AddModMonetizationTeam(ModId modId, ICollection /// } /// } /// - public static async Task> PurchaseMod(ModId modId, int displayAmount, string idempotent) + public static async Task> PurchaseMod(ModId modId, int displayAmount, string idempotent, bool subscribeOnPurchase) { - return await ModIOUnityImplementation.PurchaseMod(modId, displayAmount, idempotent); + return await ModIOUnityImplementation.PurchaseMod(modId, displayAmount, idempotent, subscribeOnPurchase); } /// @@ -2104,7 +2234,75 @@ public static async Task> GetUserWalletBalance() { return await ModIOUnityImplementation.GetUserWalletBalance(); } - #endregion + +#endregion + +#region Service to Service + + /// + /// Requests a User Delegation Token on behalf of a authenticated user. + /// This token should then be sent to your secure backend server + /// where you can then use it for specific endpoints. + /// + public static async Task> RequestUserDelegationToken() => await ModIOUnityImplementation.RequestUserDelegationToken(); + +#endregion + +#region TempModSet + + /// + /// Creates a Temp mod set + /// + /// Mods used for this set. + /// + /// + /// + /// + /// + /// + /// ModId[] modIds; + /// void Example() + /// { + /// Result result = await ModIOUnity.CreateTempModSet(modIds); + /// if (result.Succeeded()) + /// { + /// Debug.Log("Successful"); + /// } + /// else + /// { + /// Debug.Log("Failed"); + /// } + /// } + /// + public static async Task CreateTempModSet(ModId[] modIds) => await ModIOUnityImplementation.CreateTempModSet(modIds); + + /// + /// Adds mods to a Temp mod set + /// + /// Mods used for this set. + /// + /// + /// + /// + /// + /// + /// ModId[] modIds; + /// void Example() + /// { + /// Result result = await ModIOUnity.AddModToTempModSet(modIds); + /// if (result.Succeeded()) + /// { + /// Debug.Log("Successful"); + /// } + /// else + /// { + /// Debug.Log("Failed"); + /// } + /// } + /// + public static async Task AddModsToTempModSet(ModId[] modIds) => await ModIOUnityImplementation.AddModsToTempModSet(modIds); + +#endregion //TempModSet } } diff --git a/Runtime/ModIOUnityEvents.cs b/Runtime/ModIOUnityEvents.cs new file mode 100644 index 0000000..4f2f6be --- /dev/null +++ b/Runtime/ModIOUnityEvents.cs @@ -0,0 +1,42 @@ +using System; +using ModIO.Implementation; + +namespace ModIO +{ + public static class ModIOUnityEvents + { + /// + /// Call the passed method when the plugin is initialized. Calls immediately if already initialized + /// + public static event Action PluginInitialized + { + add + { + PluginInitializedInternal += value; + if(ModIOUnityImplementation.isInitialized) + value.Invoke(); + } + remove => PluginInitializedInternal -= value; + } + static event Action PluginInitializedInternal; + + internal static void OnPluginInitialized() => PluginInitializedInternal?.Invoke(); + + public static event Action UserAuthenticationChanged; + public static event Action UserEntitlementsChanged; + internal static void OnUserAuthenticated(UserProfile? user = null) => UserAuthenticationChanged?.Invoke(user); + internal static void OnUserRemoved() => UserAuthenticationChanged?.Invoke(null); + internal static void OnUserEntitlementsChanged() => UserEntitlementsChanged?.Invoke(); + + public static bool TryGetCachedMod(ModId modId, out ModProfile modProfile) => ModCollectionManager.TryGetModProfile(modId, out modProfile); + + public static event Action ModSubscriptionIntentChanged; + public static event Action ModSubscriptionInfoChanged; + public static event Action ModPurchasedChanged; + internal static void InvokeModSubscriptionChanged(ModId modId, bool isSubscribed) => ModSubscriptionIntentChanged?.Invoke(modId, isSubscribed); + internal static void InvokeModSubscriptionInfoChanged(ModId modId) => ModSubscriptionInfoChanged?.Invoke(modId); + internal static void InvokeModPurchasedChanged(ModId modId, bool isPurchased) => ModPurchasedChanged?.Invoke(modId, isPurchased); + + public static void RemoveModManagementEventDelegate(ModManagementEventDelegate modManagementEventDelegate) => ModManagement.modManagementEventDelegate -= modManagementEventDelegate; + } +} diff --git a/Runtime/ModIOUnityEvents.cs.meta b/Runtime/ModIOUnityEvents.cs.meta new file mode 100644 index 0000000..4a2897a --- /dev/null +++ b/Runtime/ModIOUnityEvents.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 8eb5fd5c869d48dbb5e51ff1fca80cc7 +timeCreated: 1706483468 \ No newline at end of file diff --git a/Runtime/Structs/BuildSettings.cs b/Runtime/Structs/BuildSettings.cs index 399fd44..065ce59 100644 --- a/Runtime/Structs/BuildSettings.cs +++ b/Runtime/Structs/BuildSettings.cs @@ -21,6 +21,9 @@ public BuildSettings(BuildSettings buildSettings) this.userPortal = buildSettings.userPortal; this.requestCacheLimitKB = buildSettings.requestCacheLimitKB; this.defaultPortal = buildSettings.defaultPortal; + writeSpeedInKbPerSecond = buildSettings.writeSpeedInKbPerSecond; + bytesPerWrite = buildSettings.bytesPerWrite; + writeSpeedReductionThreshold = buildSettings.writeSpeedReductionThreshold; } /// Level to log at. @@ -34,7 +37,16 @@ public BuildSettings(BuildSettings buildSettings) // TODO Needs to be implemented alongside RequestCache.cs /// Size limit for the request cache. - public uint requestCacheLimitKB; + [Delayed] public uint requestCacheLimitKB; + + /// The speed at which will be maintained when performing write operations + public int writeSpeedInKbPerSecond = 0; + + /// The max number of bytes that will be written in one write operation + public int bytesPerWrite = 0; + + /// The threshold as a percentage of the total budget of one interval, at which write operations will start to slow down. + public float writeSpeedReductionThreshold = .75f; public void SetDefaultPortal() { diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/CheckoutProcess.cs b/Runtime/Structs/CheckoutProcess.cs similarity index 100% rename from Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/CheckoutProcess.cs rename to Runtime/Structs/CheckoutProcess.cs diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/CheckoutProcess.cs.meta b/Runtime/Structs/CheckoutProcess.cs.meta similarity index 100% rename from Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/CheckoutProcess.cs.meta rename to Runtime/Structs/CheckoutProcess.cs.meta diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/Error.cs b/Runtime/Structs/Error.cs similarity index 100% rename from Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/Error.cs rename to Runtime/Structs/Error.cs diff --git a/Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/Error.cs.meta b/Runtime/Structs/Error.cs.meta similarity index 100% rename from Runtime/ModIO.Implementation/Implementation.API/Implementation.API.Objects/Error.cs.meta rename to Runtime/Structs/Error.cs.meta diff --git a/Runtime/Structs/ModDependencies.cs b/Runtime/Structs/ModDependencies.cs index 3f44fbb..a80f1b6 100644 --- a/Runtime/Structs/ModDependencies.cs +++ b/Runtime/Structs/ModDependencies.cs @@ -1,4 +1,5 @@ using System; +using ModIO.Implementation.API.Objects; namespace ModIO { @@ -12,6 +13,16 @@ public struct ModDependencies { public ModId modId; public string modName; + public string modNameId; public DateTime dateAdded; + public int dependencyDepth; + + public DownloadReference logoImage_320x180; + public DownloadReference logoImage_640x360; + public DownloadReference logoImage_1280x720; + public DownloadReference logoImageOriginal; + + //TODO: this may not be filled reliably + public Modfile modfile; } } diff --git a/Runtime/Structs/ModMonetizationTeamDetails.cs b/Runtime/Structs/ModMonetizationTeamDetails.cs deleted file mode 100644 index c6e43dd..0000000 --- a/Runtime/Structs/ModMonetizationTeamDetails.cs +++ /dev/null @@ -1,17 +0,0 @@ -namespace ModIO -{ - public class ModMonetizationTeamDetails - { - /// Unique ID of the user. - public long userId; - - /// User monetization split. - public int split; - - public ModMonetizationTeamDetails(long userId, int split) - { - this.userId = userId; - this.split = split; - } - } -} diff --git a/Runtime/Structs/ModMonetizationTeamDetails.cs.meta b/Runtime/Structs/ModMonetizationTeamDetails.cs.meta deleted file mode 100644 index 3d60dd2..0000000 --- a/Runtime/Structs/ModMonetizationTeamDetails.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 3b5e4be5513e474a88eb4703877d52c6 -timeCreated: 1705015668 \ No newline at end of file diff --git a/Runtime/Structs/ModProfile.cs b/Runtime/Structs/ModProfile.cs index c2010cf..7b8e47f 100644 --- a/Runtime/Structs/ModProfile.cs +++ b/Runtime/Structs/ModProfile.cs @@ -26,9 +26,11 @@ public readonly struct ModProfile public readonly DateTime dateAdded; public readonly DateTime dateUpdated; public readonly DateTime dateLive; + public readonly bool hasDependencies; public readonly DownloadReference[] galleryImagesOriginal; public readonly DownloadReference[] galleryImages320x180; public readonly DownloadReference[] galleryImages640x360; + public readonly DownloadReference[] galleryImages1280x720; public readonly DownloadReference logoImage320x180; public readonly DownloadReference logoImage640x360; public readonly DownloadReference logoImage1280x720; @@ -97,9 +99,11 @@ public ModProfile( DateTime dateAdded, DateTime dateUpdated, DateTime dateLive, + bool dependencies, DownloadReference[] galleryImagesOriginal, DownloadReference[] galleryImages_320x180, DownloadReference[] galleryImages_640x360, + DownloadReference[] galleryImages_1280x720, DownloadReference logoImage_320x180, DownloadReference logoImage_640x360, DownloadReference logoImage_1280x720, @@ -141,9 +145,11 @@ Modfile modfile this.dateAdded = dateAdded; this.dateUpdated = dateUpdated; this.dateLive = dateLive; + this.hasDependencies = dependencies; this.galleryImagesOriginal = galleryImagesOriginal; this.galleryImages320x180 = galleryImages_320x180; this.galleryImages640x360 = galleryImages_640x360; + this.galleryImages1280x720 = galleryImages_1280x720; this.logoImage320x180 = logoImage_320x180; this.logoImage640x360 = logoImage_640x360; this.logoImage1280x720 = logoImage_1280x720; diff --git a/Runtime/Structs/Result.cs b/Runtime/Structs/Result.cs index f7ca716..b8e21ef 100644 --- a/Runtime/Structs/Result.cs +++ b/Runtime/Structs/Result.cs @@ -20,12 +20,23 @@ public struct Result /// public string message => ResultCode.GetErrorCodeMeaning(code); + /// + /// A string message explaining the result API error code in more detail (If one exists). + /// + public string apiMessage => ResultCode.GetErrorCodeMeaning(code_api); + /// /// The error code for the result. /// 0 = Success /// public uint errorCode => code; + /// + /// The API reference error code for the result. + /// 0 = No API error + /// + public uint apiCode => code_api; + public bool Succeeded() { return code == ResultCode.Success; @@ -52,7 +63,7 @@ public bool IsAuthenticationError() public bool IsInvalidSecurityCode() { - return code_api == ResultCode.RESTAPI_11012 || code_api == ResultCode.RESTAPI_11014; + return code_api == ResultCode.RESTAPI_EmailExchangeCodeExpired || code_api == ResultCode.RESTAPI_EmailExchangeInvalidCode; } public bool IsInvalidEmailAddress() @@ -86,5 +97,15 @@ public bool IsStorageSpaceInsufficient() public bool IsRateLimited() => code == ResultCode.RESTAPI_RateLimitExceededGlobal || code == ResultCode.RESTAPI_RateLimitExceededEndpoint; + + public override string ToString() + { + if (Succeeded()) return "Success"; + + if(apiCode != 0) + return $"Result({code}:{apiCode}): {message}; {apiMessage}"; + + return $"Result({code}): {message}"; + } } } diff --git a/Runtime/Structs/ServerSettings.cs b/Runtime/Structs/ServerSettings.cs index 07d05c4..72d1423 100644 --- a/Runtime/Structs/ServerSettings.cs +++ b/Runtime/Structs/ServerSettings.cs @@ -18,6 +18,7 @@ public ServerSettings(ServerSettings serverSettings) this.gameKey = serverSettings.gameKey; this.disableUploads = serverSettings.disableUploads; this.languageCode = serverSettings.languageCode; + this.useCommandLineArgumentOverrides = serverSettings.useCommandLineArgumentOverrides; } /// URL for the mod.io server to connect to. @@ -31,11 +32,14 @@ public ServerSettings(ServerSettings serverSettings) /// /// Language code for the localizing message responses. - /// See https://docs.mod.io/#localization for possible values. + /// See https://docs.mod.io/restapiref/#localization for possible values. /// public string languageCode; /// Disables uploading mods and modfiles for this build. public bool disableUploads; + + /// Enables the use of command line arguments to override server settings. + public bool useCommandLineArgumentOverrides; } } diff --git a/Runtime/Structs/TagCategory.cs b/Runtime/Structs/TagCategory.cs index b6f041c..9a3afaf 100644 --- a/Runtime/Structs/TagCategory.cs +++ b/Runtime/Structs/TagCategory.cs @@ -1,4 +1,6 @@ -namespace ModIO +using System.Collections.Generic; + +namespace ModIO { /// /// Represents a particular category of tags. @@ -10,7 +12,13 @@ public struct TagCategory { public string name; + /// Localized category name, keyed by language code. + public Dictionary nameLocalized; public Tag[] tags; + /// Localized tags, keyed by language code.
Order matches , however English value is also available using tagsLocalized["en"].
+ /// + /// + public Dictionary[] tagsLocalized; public bool multiSelect; public bool hidden; public bool locked; diff --git a/Runtime/Structs/TermsOfUseLink.cs b/Runtime/Structs/TermsOfUseLink.cs index 275ba12..828c90e 100644 --- a/Runtime/Structs/TermsOfUseLink.cs +++ b/Runtime/Structs/TermsOfUseLink.cs @@ -9,6 +9,7 @@ namespace ModIO [Serializable] public struct TermsOfUseLink { + public string apiName; public string name; public string url; public bool required; diff --git a/Runtime/Structs/UISettings.cs b/Runtime/Structs/UISettings.cs new file mode 100644 index 0000000..5a1fa0c --- /dev/null +++ b/Runtime/Structs/UISettings.cs @@ -0,0 +1,9 @@ +namespace ModIO +{ + [System.Serializable] + public struct UISettings + { + public bool ShowMonetizationUI; + public bool ShowEnabledModToggle; + } +} diff --git a/Runtime/Structs/UISettings.cs.meta b/Runtime/Structs/UISettings.cs.meta new file mode 100644 index 0000000..7dfe6ce --- /dev/null +++ b/Runtime/Structs/UISettings.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: ae795a1c84c041019736956908d193b8 +timeCreated: 1711579548 \ No newline at end of file diff --git a/Runtime/Structs/UserProfile.cs b/Runtime/Structs/UserProfile.cs index 0267c51..d4f478d 100644 --- a/Runtime/Structs/UserProfile.cs +++ b/Runtime/Structs/UserProfile.cs @@ -16,17 +16,20 @@ public struct UserProfile /// This is the unique Id of the user. ///
public long userId; - + /// /// The display name of the user's account they authenticated with. Eg if they authenticated /// with Steam it would be their Steam username. /// public string portal_username; - + public DownloadReference avatar_original; public DownloadReference avatar_50x50; public DownloadReference avatar_100x100; public string timezone; public string language; + + public static bool operator ==(UserProfile left, UserProfile right) => left.userId == right.userId; + public static bool operator !=(UserProfile left, UserProfile right) => left.userId != right.userId; } } diff --git a/Runtime/Structs/Wallet.cs b/Runtime/Structs/Wallet.cs index 61cdcc5..2b47f60 100644 --- a/Runtime/Structs/Wallet.cs +++ b/Runtime/Structs/Wallet.cs @@ -5,7 +5,7 @@ namespace ModIO ///
/// /// ; - public struct Wallet + public class Wallet { public string type; public string currency; diff --git a/Runtime/Utility/EnumExtensions.cs b/Runtime/Utility/EnumExtensions.cs new file mode 100644 index 0000000..8c3c473 --- /dev/null +++ b/Runtime/Utility/EnumExtensions.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; + +namespace ModIO.Util +{ + public static class EnumExtensions + { + public static IEnumerable ExtractBitFlagsFromEnum(this T value) where T : Enum + { + foreach(T foo in Enum.GetValues(typeof(T))) + { + int fooInt = Convert.ToInt32(foo); + int valueAsInt = Convert.ToInt32(value); + + if(fooInt != 0 && (valueAsInt & fooInt) != 0) + { + yield return foo.ToString(); + } + } + } + + } +} diff --git a/Runtime/Utility/EnumExtensions.cs.meta b/Runtime/Utility/EnumExtensions.cs.meta new file mode 100644 index 0000000..9fd01f8 --- /dev/null +++ b/Runtime/Utility/EnumExtensions.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d5bf920372bf92a4abc047a010bdcc0c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Utility/ModioMainThreadHelper.cs b/Runtime/Utility/ModioMainThreadHelper.cs new file mode 100644 index 0000000..9bb9107 --- /dev/null +++ b/Runtime/Utility/ModioMainThreadHelper.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Concurrent; +using System.Threading; +using UnityEngine; + +namespace ModIO.Util +{ + /// + /// A slightly more robust and static friendly version of MonoDispatcher + /// + public class ModioMainThreadHelper : MonoBehaviour + { + static ModioMainThreadHelper _instance; + static readonly ConcurrentQueue PendingActions = new ConcurrentQueue(); + + Thread _mainThread; + + /// + /// The action will be called immediately if we're already on the Unity thread, + /// + /// + public static void Run(Action runOnMainThread) + { + EnsureInstance(); + + if (!ReferenceEquals(_instance, null) && _instance._mainThread.ManagedThreadId == Thread.CurrentThread.ManagedThreadId) + { + //Invoke immediately; we're already on the main thread + runOnMainThread(); + return; + } + + PendingActions.Enqueue(runOnMainThread); + } + + /// + /// Call this from the main thread before calling Run(action) later + /// You could alternately put an instance in the scene yourself + /// + public static void EnsureInstance() + { + if (_instance == null) + { + _instance = FindObjectOfType(); + } + if (_instance == null) + { + _instance = new GameObject(nameof(ModioMainThreadHelper)).AddComponent(); + } + } + + void Awake() + { + _instance = this; + + _mainThread = Thread.CurrentThread; + + DontDestroyOnLoad(this); + } + + void Update() + { + while (PendingActions.TryDequeue(out var action)) + { + action?.Invoke(); + } + } + } +} diff --git a/Runtime/Utility/ModioMainThreadHelper.cs.meta b/Runtime/Utility/ModioMainThreadHelper.cs.meta new file mode 100644 index 0000000..710bae6 --- /dev/null +++ b/Runtime/Utility/ModioMainThreadHelper.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d79e00d4d8244c18af934b268d3da195 +timeCreated: 1715564592 \ No newline at end of file diff --git a/Runtime/Utility/MonoSingleton.cs b/Runtime/Utility/MonoSingleton.cs index 351e655..0140e9c 100644 --- a/Runtime/Utility/MonoSingleton.cs +++ b/Runtime/Utility/MonoSingleton.cs @@ -4,15 +4,17 @@ namespace ModIO.Util { public class MonoSingleton : MonoBehaviour, ISimpleMonoSingleton where T : MonoBehaviour { - protected static T _instance; + public static bool HasInstance => _instance != null; + static T _instance; public static T Instance { - get { + get + { if(_instance == null) { throw new UnityException("This singleton is not instanced. Maybe you need to initiate this code, perhaps via a prefab?"); } - + return _instance; } @@ -23,6 +25,11 @@ private set { protected virtual void Awake() { + if (_instance != null) + { + Debug.LogError($"Attempting to initiate {gameObject.name} as a singleton instance of {typeof(T).ToString()}, when there already exists one."); + } + SetupSingleton(); } diff --git a/Runtime/Utility/SelfInstancingMonoSingleton.cs b/Runtime/Utility/SelfInstancingMonoSingleton.cs index 4cc1a6b..8495ab7 100644 --- a/Runtime/Utility/SelfInstancingMonoSingleton.cs +++ b/Runtime/Utility/SelfInstancingMonoSingleton.cs @@ -27,9 +27,8 @@ public static T Instance { return _instance; } - var go = new GameObject(); + var go = new GameObject(typeof(T).ToString()); _instance = go.AddComponent(); - go.name = _instance.ToString(); } return _instance; @@ -55,7 +54,6 @@ public void SetupSingleton() } _instance = this as T; - _instance.name = this.ToString(); } protected virtual void OnDestroy() diff --git a/Runtime/Utility/SimpleMessageHub.cs b/Runtime/Utility/SimpleMessageHub.cs index 5c43ecf..4ac579f 100644 --- a/Runtime/Utility/SimpleMessageHub.cs +++ b/Runtime/Utility/SimpleMessageHub.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; namespace ModIO.Util { @@ -68,7 +69,7 @@ public void Publish(T message) where T : class, ISimpleMessage var t = typeof(T); if(dictionary.ContainsKey(t)) { - foreach(var item in dictionary[t]) + foreach(var item in dictionary[t].ToList()) { item(message); } @@ -100,7 +101,7 @@ override protected void OnDestroy() dictionary.Clear(); } - public void ClearTypeSubscriptions() + public void ClearSubscriptionType() { if(dictionary.ContainsKey(typeof(T))) { diff --git a/Runtime/Utility/SimplePool.cs b/Runtime/Utility/SimplePool.cs new file mode 100644 index 0000000..cf81195 --- /dev/null +++ b/Runtime/Utility/SimplePool.cs @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +namespace ModIO.Util +{ + public class SimplePool : SelfInstancingMonoSingleton + { + public Dictionary> pool = new Dictionary>(); + + public T Get(string name, Func constructor) where T : MonoBehaviour + { + if(pool.TryGetValue(name, out var list)) + { + if(list.Count > 0) + { + var obj = list.First() as T; + list.RemoveAt(0); + obj.gameObject.SetActive(true); + + return obj; + } + } + else + { + pool.Add(name, new List()); + } + + T item = constructor(); + return item; + + //Size of the prefab getting messed up when instantiated and set to a canvas with scaling? + //Use SetParent(transform, false) to fix! + } + + public void Return(string id, T item) where T : MonoBehaviour + { + item.gameObject.SetActive(false); + item.gameObject.transform.SetParent(null); + try + { + pool[id].Add(item); + } + catch(System.Exception ex) + { + Debug.Log($"Error return item {item.name} ({id}) exception {ex}"); + } + } + + public void PrePool(string name, Func constructor, int num) where T : MonoBehaviour + { + var list = new List(); + for(int i = 0; i < num; i++) + list.Add(Get(name, constructor)); + + list.ForEach(x => Return(name, x)); + } + } +} diff --git a/Runtime/Utility/SimplePool.cs.meta b/Runtime/Utility/SimplePool.cs.meta new file mode 100644 index 0000000..d03a9f0 --- /dev/null +++ b/Runtime/Utility/SimplePool.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b34077a0be488014bb99fc2253872d93 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Utility/SimpleSingleton.cs b/Runtime/Utility/SimpleSingleton.cs index 7aa6c8c..5aef35b 100644 --- a/Runtime/Utility/SimpleSingleton.cs +++ b/Runtime/Utility/SimpleSingleton.cs @@ -1,4 +1,6 @@ -using System; + +using System; +using UnityEngine; namespace ModIO.Util { @@ -26,5 +28,7 @@ public static T Instance _instance = value; } } + + public void Instantiate() { } } } diff --git a/Runtime/Utility/Utility.cs b/Runtime/Utility/Utility.cs index e8b36cd..99ed473 100644 --- a/Runtime/Utility/Utility.cs +++ b/Runtime/Utility/Utility.cs @@ -124,14 +124,10 @@ public static string GetModStatusAsString(SubscribedMod mod) /// base 64 encoded string from the provided steam app ticket public static string EncodeEncryptedSteamAppTicket(byte[] ticketData, uint ticketSize) { - //------------------------------- Trim the app ticket --------------------------------// - byte[] trimmedTicket = new byte[ticketSize]; - Array.Copy(ticketData, trimmedTicket, ticketSize); - string base64Ticket = null; try { - base64Ticket = Convert.ToBase64String(trimmedTicket); + base64Ticket = Convert.ToBase64String(ticketData, 0, (int)ticketSize); } catch(Exception exception) { diff --git a/UI/Color Scheme/UI Component Prefabs/InputField.prefab b/UI/Color Scheme/UI Component Prefabs/InputField.prefab index 31c7932..0d333a4 100644 --- a/UI/Color Scheme/UI Component Prefabs/InputField.prefab +++ b/UI/Color Scheme/UI Component Prefabs/InputField.prefab @@ -3,9 +3,8 @@ --- !u!1 &3583501032904820050 GameObject: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 3608357505246666942, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - m_PrefabInstance: {fileID: 263549898427606508} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: @@ -23,9 +22,8 @@ GameObject: --- !u!224 &3583501032904820051 RectTransform: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 3608357505246666943, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - m_PrefabInstance: {fileID: 263549898427606508} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3583501032904820050} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} @@ -43,18 +41,16 @@ RectTransform: --- !u!222 &3583501032904820062 CanvasRenderer: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 3608357505246666930, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - m_PrefabInstance: {fileID: 263549898427606508} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3583501032904820050} m_CullTransparentMesh: 0 --- !u!114 &3583501032904820061 MonoBehaviour: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 3608357505246666929, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - m_PrefabInstance: {fileID: 263549898427606508} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3583501032904820050} m_Enabled: 1 @@ -65,6 +61,8 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] @@ -90,13 +88,12 @@ MonoBehaviour: 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_outlineColor: - serializedVersion: 2 - rgba: 4278190080 m_fontSize: 24 m_fontSizeBase: 24 m_fontWeight: 400 @@ -104,7 +101,9 @@ MonoBehaviour: m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 - m_textAlignment: 513 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 m_characterSpacing: 0 m_wordSpacing: 0 m_lineSpacing: 0 @@ -114,10 +113,8 @@ MonoBehaviour: m_enableWordWrapping: 0 m_wordWrappingRatios: 0.4 m_overflowMode: 0 - m_firstOverflowCharacterIndex: -1 m_linkedTextComponent: {fileID: 0} - m_isLinkedTextComponent: 0 - m_isTextTruncated: 0 + parentLinkedComponent: {fileID: 0} m_enableKerning: 1 m_enableExtraPadding: 1 checkPaddingRequired: 0 @@ -125,48 +122,25 @@ MonoBehaviour: m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 - m_ignoreRectMaskCulling: 0 - m_ignoreCulling: 1 m_horizontalMapping: 0 m_verticalMapping: 0 m_uvLineOffset: 0 m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 m_VertexBufferAutoSizeReduction: 1 - m_firstVisibleCharacter: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 m_margin: {x: 0, y: 0, z: 0, w: 0} - m_textInfo: - textComponent: {fileID: 3583501032904820061} - characterCount: 1 - spriteCount: 0 - spaceCount: 0 - wordCount: 1 - linkCount: 0 - lineCount: 1 - pageCount: 1 - materialCount: 1 m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 - m_spriteAnimator: {fileID: 0} m_hasFontAssetChanged: 0 - m_subTextObjects: - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!114 &3583501032904820060 MonoBehaviour: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 3608357505246666928, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - m_PrefabInstance: {fileID: 263549898427606508} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3583501032904820050} m_Enabled: 1 @@ -178,9 +152,8 @@ MonoBehaviour: --- !u!1 &3583501033932969197 GameObject: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 3608357504252113153, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - m_PrefabInstance: {fileID: 263549898427606508} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: @@ -198,9 +171,8 @@ GameObject: --- !u!224 &3583501033932969198 RectTransform: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 3608357504252113154, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - m_PrefabInstance: {fileID: 263549898427606508} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3583501033932969197} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} @@ -218,18 +190,16 @@ RectTransform: --- !u!222 &3583501033932969193 CanvasRenderer: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 3608357504252113157, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - m_PrefabInstance: {fileID: 263549898427606508} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3583501033932969197} m_CullTransparentMesh: 0 --- !u!114 &3583501033932969192 MonoBehaviour: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 3608357504252113156, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - m_PrefabInstance: {fileID: 263549898427606508} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3583501033932969197} m_Enabled: 1 @@ -240,6 +210,8 @@ MonoBehaviour: 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: [] @@ -253,7 +225,7 @@ MonoBehaviour: m_fontMaterials: [] m_fontColor32: serializedVersion: 2 - rgba: 2147483647 + rgba: 2164260863 m_fontColor: {r: 1, g: 1, b: 1, a: 0.5} m_enableVertexGradient: 0 m_colorMode: 3 @@ -265,13 +237,12 @@ MonoBehaviour: 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_outlineColor: - serializedVersion: 2 - rgba: 4278190080 m_fontSize: 24 m_fontSizeBase: 24 m_fontWeight: 400 @@ -279,7 +250,9 @@ MonoBehaviour: m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 - m_textAlignment: 513 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 m_characterSpacing: 0 m_wordSpacing: 0 m_lineSpacing: 0 @@ -289,10 +262,8 @@ MonoBehaviour: m_enableWordWrapping: 0 m_wordWrappingRatios: 0.4 m_overflowMode: 0 - m_firstOverflowCharacterIndex: -1 m_linkedTextComponent: {fileID: 0} - m_isLinkedTextComponent: 0 - m_isTextTruncated: 0 + parentLinkedComponent: {fileID: 0} m_enableKerning: 1 m_enableExtraPadding: 1 checkPaddingRequired: 0 @@ -300,48 +271,25 @@ MonoBehaviour: m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 - m_ignoreRectMaskCulling: 0 - m_ignoreCulling: 1 m_horizontalMapping: 0 m_verticalMapping: 0 m_uvLineOffset: 0 m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 m_VertexBufferAutoSizeReduction: 1 - m_firstVisibleCharacter: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 m_margin: {x: 0, y: 0, z: 0, w: 0} - m_textInfo: - textComponent: {fileID: 3583501033932969192} - characterCount: 13 - spriteCount: 0 - spaceCount: 1 - wordCount: 2 - linkCount: 0 - lineCount: 1 - pageCount: 1 - materialCount: 1 m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 - m_spriteAnimator: {fileID: 0} m_hasFontAssetChanged: 0 - m_subTextObjects: - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!114 &3583501033932969199 MonoBehaviour: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 3608357504252113155, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - m_PrefabInstance: {fileID: 263549898427606508} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3583501033932969197} m_Enabled: 1 @@ -405,12 +353,14 @@ MonoBehaviour: m_GameObject: {fileID: 3583501034654577055} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + 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: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] @@ -423,6 +373,7 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!114 &3583501034654577049 MonoBehaviour: m_ObjectHideFlags: 0 @@ -491,12 +442,14 @@ MonoBehaviour: m_GameObject: {fileID: 6288028450745375127} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + 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: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] @@ -509,6 +462,7 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!114 &3583501034491646527 MonoBehaviour: m_ObjectHideFlags: 0 @@ -563,9 +517,8 @@ RectTransform: --- !u!1 &6288028452663676796 GameObject: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 6119197495652215440, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - m_PrefabInstance: {fileID: 263549898427606508} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: @@ -583,9 +536,8 @@ GameObject: --- !u!224 &6288028452663676799 RectTransform: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 6119197495652215443, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - m_PrefabInstance: {fileID: 263549898427606508} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6288028452663676796} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} @@ -605,18 +557,16 @@ RectTransform: --- !u!222 &6288028452663676035 CanvasRenderer: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 6119197495652215151, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - m_PrefabInstance: {fileID: 263549898427606508} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6288028452663676796} m_CullTransparentMesh: 0 --- !u!114 &6288028452663676033 MonoBehaviour: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 6119197495652215149, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - m_PrefabInstance: {fileID: 263549898427606508} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6288028452663676796} m_Enabled: 1 @@ -626,6 +576,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -635,17 +586,20 @@ MonoBehaviour: m_NormalColor: {r: 1, g: 1, b: 1, a: 0} 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: Highlighted m_DisabledTrigger: Disabled m_Interactable: 1 m_TargetGraphic: {fileID: 1465265955689522173} @@ -654,6 +608,7 @@ MonoBehaviour: m_Placeholder: {fileID: 3583501033932969192} m_VerticalScrollbar: {fileID: 0} m_VerticalScrollbarEventHandler: {fileID: 0} + m_LayoutGroup: {fileID: 0} m_ScrollSensitivity: 1 m_ContentType: 0 m_InputType: 0 @@ -708,9 +663,8 @@ MonoBehaviour: --- !u!114 &4361742436300990387 MonoBehaviour: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 4548728663795401311, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - m_PrefabInstance: {fileID: 263549898427606508} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6288028452663676796} m_Enabled: 1 @@ -718,6 +672,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 65f053af8f7d2fc4c9ce3f4452f26201, type: 3} m_Name: m_EditorClassIdentifier: + editOnFocus: 0 inputFieldTitle: Search inputFieldPlaceholderText: Search... keyboardtype: 1 @@ -725,9 +680,8 @@ MonoBehaviour: --- !u!1 &6288028452739536916 GameObject: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 6119197495593074168, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - m_PrefabInstance: {fileID: 263549898427606508} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: @@ -743,9 +697,8 @@ GameObject: --- !u!224 &6288028452739536919 RectTransform: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 6119197495593074171, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - m_PrefabInstance: {fileID: 263549898427606508} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6288028452739536916} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} @@ -765,22 +718,22 @@ RectTransform: --- !u!114 &6288028452739536918 MonoBehaviour: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 6119197495593074170, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - m_PrefabInstance: {fileID: 263549898427606508} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6288028452739536916} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -146154839, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} m_Name: m_EditorClassIdentifier: + m_Padding: {x: 0, y: 0, z: 0, w: 0} + m_Softness: {x: 0, y: 0} --- !u!1 &8471170308171773233 GameObject: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 8514043821895717085, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - m_PrefabInstance: {fileID: 263549898427606508} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: @@ -798,9 +751,8 @@ GameObject: --- !u!224 &1591359431281854446 RectTransform: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 1566678471178707458, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - m_PrefabInstance: {fileID: 263549898427606508} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8471170308171773233} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} @@ -818,28 +770,28 @@ RectTransform: --- !u!222 &4024907407051286576 CanvasRenderer: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 3779371978146663900, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - m_PrefabInstance: {fileID: 263549898427606508} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8471170308171773233} m_CullTransparentMesh: 1 --- !u!114 &1465265955689522173 MonoBehaviour: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 1728813413893064209, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - m_PrefabInstance: {fileID: 263549898427606508} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8471170308171773233} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 0.02745098, g: 0.75686276, b: 0.84705883, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] @@ -852,12 +804,12 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!114 &6174691219766199438 MonoBehaviour: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 6203912787354018146, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - m_PrefabInstance: {fileID: 263549898427606508} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8471170308171773233} m_Enabled: 1 @@ -866,137 +818,3 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: type: 4 ---- !u!1001 &263549898427606508 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 6288028451827600422} - m_Modifications: - - target: {fileID: 4548728663795401311, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: inputFieldTitle - value: Search - objectReference: {fileID: 0} - - target: {fileID: 4548728663795401311, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: inputFieldPlaceholderText - value: Search... - objectReference: {fileID: 0} - - target: {fileID: 4548728663795401311, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: keyboardtype - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6119197495652215440, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: m_Name - value: InputField (TMP) - objectReference: {fileID: 0} - - target: {fileID: 6119197495652215443, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6119197495652215443, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6119197495652215443, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6119197495652215443, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6119197495652215443, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6119197495652215443, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6119197495652215443, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6119197495652215443, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6119197495652215443, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6119197495652215443, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6119197495652215443, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6119197495652215443, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6119197495652215443, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6119197495652215443, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6119197495652215443, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: m_SizeDelta.y - value: 48 - objectReference: {fileID: 0} - - target: {fileID: 6119197495652215443, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6119197495652215443, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: m_AnchorMin.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6119197495652215443, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: m_AnchorMax.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6119197495652215443, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: m_AnchorMax.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6119197495652215443, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6119197495652215443, guid: c7116525927426f48accdb6f43c34b35, - type: 3} - propertyPath: m_Pivot.y - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: c7116525927426f48accdb6f43c34b35, type: 3} diff --git a/UI/Examples/ExampleGlyphSetter.cs b/UI/Examples/ExampleGlyphSetter.cs index e4fa56f..656b4f9 100644 --- a/UI/Examples/ExampleGlyphSetter.cs +++ b/UI/Examples/ExampleGlyphSetter.cs @@ -10,7 +10,20 @@ public class ExampleGlyphSetter : MonoBehaviour void Awake() { - StartCoroutine(CheckForControllers()); + GlyphPlatforms glyphs = Application.platform switch + { + RuntimePlatform.PS4 => GlyphPlatforms.PLAYSTATION_4, + RuntimePlatform.XboxOne => GlyphPlatforms.XBOX, + RuntimePlatform.Switch => GlyphPlatforms.NINTENDO_SWITCH, + RuntimePlatform.GameCoreXboxSeries => GlyphPlatforms.XBOX, + RuntimePlatform.GameCoreXboxOne => GlyphPlatforms.XBOX, + RuntimePlatform.PS5 => GlyphPlatforms.PLAYSTATION_5, + _ => GlyphPlatforms.PC + }; + + Glyphs.Instance.ChangeGlyphs(glyphs); + + if (glyphs == GlyphPlatforms.PC) StartCoroutine(CheckForControllers()); } IEnumerator CheckForControllers() diff --git a/UI/Examples/ModIOBrowser.prefab b/UI/Examples/ModIOBrowser.prefab index 160167d..0e311be 100644 --- a/UI/Examples/ModIOBrowser.prefab +++ b/UI/Examples/ModIOBrowser.prefab @@ -458,18 +458,18 @@ GameObject: type: 3} m_PrefabInstance: {fileID: 437648027396171941} m_PrefabAsset: {fileID: 0} ---- !u!224 &3248977626930042377 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 3099736033961590444, guid: 54d3625bf28508944853cce5c940c30c, - type: 3} - m_PrefabInstance: {fileID: 437648027396171941} - m_PrefabAsset: {fileID: 0} --- !u!1 &3248977626930042382 stripped GameObject: m_CorrespondingSourceObject: {fileID: 3099736033961590443, guid: 54d3625bf28508944853cce5c940c30c, type: 3} m_PrefabInstance: {fileID: 437648027396171941} m_PrefabAsset: {fileID: 0} +--- !u!224 &3248977626930042377 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 3099736033961590444, guid: 54d3625bf28508944853cce5c940c30c, + type: 3} + m_PrefabInstance: {fileID: 437648027396171941} + m_PrefabAsset: {fileID: 0} --- !u!1001 &486699777932171572 PrefabInstance: m_ObjectHideFlags: 0 @@ -978,69 +978,69 @@ PrefabInstance: objectReference: {fileID: 8989088974132902757} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: a358e4ee54a35874e85a5115d9b91b58, type: 3} ---- !u!1 &7055042685535865180 stripped +--- !u!1 &8989088974029530188 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 8928170981636048839, guid: a358e4ee54a35874e85a5115d9b91b58, + m_CorrespondingSourceObject: {fileID: 7399448335370840791, guid: a358e4ee54a35874e85a5115d9b91b58, type: 3} m_PrefabInstance: {fileID: 1877921627258965659} m_PrefabAsset: {fileID: 0} ---- !u!1 &1893516736350351233 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 20451694917722394, guid: a358e4ee54a35874e85a5115d9b91b58, +--- !u!224 &8989088974029530189 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 7399448335370840790, guid: a358e4ee54a35874e85a5115d9b91b58, type: 3} m_PrefabInstance: {fileID: 1877921627258965659} m_PrefabAsset: {fileID: 0} ---- !u!1 &3328724869292898985 stripped +--- !u!1 &4840592677501763395 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 3764365408090289202, guid: a358e4ee54a35874e85a5115d9b91b58, + m_CorrespondingSourceObject: {fileID: 6422848446705840600, guid: a358e4ee54a35874e85a5115d9b91b58, type: 3} m_PrefabInstance: {fileID: 1877921627258965659} m_PrefabAsset: {fileID: 0} ---- !u!1 &1893516734520461365 stripped +--- !u!1 &1893516736350351233 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 20451694296090286, guid: a358e4ee54a35874e85a5115d9b91b58, + m_CorrespondingSourceObject: {fileID: 20451694917722394, guid: a358e4ee54a35874e85a5115d9b91b58, type: 3} m_PrefabInstance: {fileID: 1877921627258965659} m_PrefabAsset: {fileID: 0} ---- !u!1 &4640771623417470035 stripped +--- !u!1 &1893516734520461365 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 6514706386063561416, guid: a358e4ee54a35874e85a5115d9b91b58, + m_CorrespondingSourceObject: {fileID: 20451694296090286, guid: a358e4ee54a35874e85a5115d9b91b58, type: 3} m_PrefabInstance: {fileID: 1877921627258965659} m_PrefabAsset: {fileID: 0} ---- !u!224 &8989088974029530189 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 7399448335370840790, guid: a358e4ee54a35874e85a5115d9b91b58, +--- !u!114 &4612648473570860654 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 6488803726650446069, guid: a358e4ee54a35874e85a5115d9b91b58, type: 3} m_PrefabInstance: {fileID: 1877921627258965659} m_PrefabAsset: {fileID: 0} ---- !u!1 &1893516734505421756 stripped + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b55ab1eaffd41c24da914363d6dc169b, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &4640771623417470035 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 20451694282229031, guid: a358e4ee54a35874e85a5115d9b91b58, + m_CorrespondingSourceObject: {fileID: 6514706386063561416, guid: a358e4ee54a35874e85a5115d9b91b58, type: 3} m_PrefabInstance: {fileID: 1877921627258965659} m_PrefabAsset: {fileID: 0} ---- !u!1 &8989088974029530188 stripped +--- !u!1 &3328724869292898985 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 7399448335370840791, guid: a358e4ee54a35874e85a5115d9b91b58, + m_CorrespondingSourceObject: {fileID: 3764365408090289202, guid: a358e4ee54a35874e85a5115d9b91b58, type: 3} m_PrefabInstance: {fileID: 1877921627258965659} m_PrefabAsset: {fileID: 0} ---- !u!114 &4612648473570860654 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 6488803726650446069, guid: a358e4ee54a35874e85a5115d9b91b58, +--- !u!1 &1893516734505421756 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 20451694282229031, guid: a358e4ee54a35874e85a5115d9b91b58, type: 3} m_PrefabInstance: {fileID: 1877921627258965659} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b55ab1eaffd41c24da914363d6dc169b, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!1 &4840592677501763395 stripped +--- !u!1 &7055042685535865180 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 6422848446705840600, guid: a358e4ee54a35874e85a5115d9b91b58, + m_CorrespondingSourceObject: {fileID: 8928170981636048839, guid: a358e4ee54a35874e85a5115d9b91b58, type: 3} m_PrefabInstance: {fileID: 1877921627258965659} m_PrefabAsset: {fileID: 0} @@ -1289,6 +1289,12 @@ GameObject: type: 3} m_PrefabInstance: {fileID: 3351761392141205643} m_PrefabAsset: {fileID: 0} +--- !u!224 &1893516735634251278 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 3802382007037501061, guid: d745b8f4ef0816244ba1585f4f34293b, + type: 3} + m_PrefabInstance: {fileID: 3351761392141205643} + m_PrefabAsset: {fileID: 0} --- !u!114 &445053123 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 3351761392250452040, guid: d745b8f4ef0816244ba1585f4f34293b, @@ -1301,21 +1307,15 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1 &5095037789043063184 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 7509449899451644187, guid: d745b8f4ef0816244ba1585f4f34293b, - type: 3} - m_PrefabInstance: {fileID: 3351761392141205643} - m_PrefabAsset: {fileID: 0} --- !u!1 &3463848345469516931 stripped GameObject: m_CorrespondingSourceObject: {fileID: 2202777596087434248, guid: d745b8f4ef0816244ba1585f4f34293b, type: 3} m_PrefabInstance: {fileID: 3351761392141205643} m_PrefabAsset: {fileID: 0} ---- !u!224 &1893516735634251278 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 3802382007037501061, guid: d745b8f4ef0816244ba1585f4f34293b, +--- !u!1 &5095037789043063184 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7509449899451644187, guid: d745b8f4ef0816244ba1585f4f34293b, type: 3} m_PrefabInstance: {fileID: 3351761392141205643} m_PrefabAsset: {fileID: 0} @@ -2103,21 +2103,9 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: e7c972a3b0c92ba4f8be9938d0c63a43, type: 3} ---- !u!114 &1234396549239151596 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 2481775387260960443, guid: e7c972a3b0c92ba4f8be9938d0c63a43, - type: 3} - m_PrefabInstance: {fileID: 3697592250992239959} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8989088974670517170} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f9a181712313aa74597d2fd0cad977f4, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!224 &8989088974670517171 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 5760055837242226404, guid: e7c972a3b0c92ba4f8be9938d0c63a43, +--- !u!1 &8746700689914033435 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 5346609901548097612, guid: e7c972a3b0c92ba4f8be9938d0c63a43, type: 3} m_PrefabInstance: {fileID: 3697592250992239959} m_PrefabAsset: {fileID: 0} @@ -2127,33 +2115,39 @@ GameObject: type: 3} m_PrefabInstance: {fileID: 3697592250992239959} m_PrefabAsset: {fileID: 0} ---- !u!1 &1893516736281489272 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 2960945230090701359, guid: e7c972a3b0c92ba4f8be9938d0c63a43, +--- !u!224 &8989088974670517171 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 5760055837242226404, guid: e7c972a3b0c92ba4f8be9938d0c63a43, type: 3} m_PrefabInstance: {fileID: 3697592250992239959} m_PrefabAsset: {fileID: 0} ---- !u!1 &8659479706839099516 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 5439462582072642859, guid: e7c972a3b0c92ba4f8be9938d0c63a43, +--- !u!114 &1234396549239151596 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 2481775387260960443, guid: e7c972a3b0c92ba4f8be9938d0c63a43, type: 3} m_PrefabInstance: {fileID: 3697592250992239959} m_PrefabAsset: {fileID: 0} ---- !u!114 &7136981664223330426 stripped + m_GameObject: {fileID: 8989088974670517170} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f9a181712313aa74597d2fd0cad977f4, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1345671315508899556 stripped MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 5790463146231801133, guid: e7c972a3b0c92ba4f8be9938d0c63a43, + m_CorrespondingSourceObject: {fileID: 2449030627395505075, guid: e7c972a3b0c92ba4f8be9938d0c63a43, type: 3} m_PrefabInstance: {fileID: 3697592250992239959} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Script: {fileID: 11500000, guid: 811030f917147504589eb74c563a0d3a, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1 &8746700689914033435 stripped +--- !u!1 &8111701777903851331 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 5346609901548097612, guid: e7c972a3b0c92ba4f8be9938d0c63a43, + m_CorrespondingSourceObject: {fileID: 4882730228293317140, guid: e7c972a3b0c92ba4f8be9938d0c63a43, type: 3} m_PrefabInstance: {fileID: 3697592250992239959} m_PrefabAsset: {fileID: 0} @@ -2163,24 +2157,30 @@ GameObject: type: 3} m_PrefabInstance: {fileID: 3697592250992239959} m_PrefabAsset: {fileID: 0} ---- !u!1 &8111701777903851331 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 4882730228293317140, guid: e7c972a3b0c92ba4f8be9938d0c63a43, - type: 3} - m_PrefabInstance: {fileID: 3697592250992239959} - m_PrefabAsset: {fileID: 0} ---- !u!114 &1345671315508899556 stripped +--- !u!114 &7136981664223330426 stripped MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 2449030627395505075, guid: e7c972a3b0c92ba4f8be9938d0c63a43, + m_CorrespondingSourceObject: {fileID: 5790463146231801133, guid: e7c972a3b0c92ba4f8be9938d0c63a43, type: 3} m_PrefabInstance: {fileID: 3697592250992239959} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 811030f917147504589eb74c563a0d3a, type: 3} + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &8659479706839099516 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 5439462582072642859, guid: e7c972a3b0c92ba4f8be9938d0c63a43, + type: 3} + m_PrefabInstance: {fileID: 3697592250992239959} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1893516736281489272 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 2960945230090701359, guid: e7c972a3b0c92ba4f8be9938d0c63a43, + type: 3} + m_PrefabInstance: {fileID: 3697592250992239959} + m_PrefabAsset: {fileID: 0} --- !u!1001 &3983697154900495466 PrefabInstance: m_ObjectHideFlags: 0 @@ -3469,9 +3469,9 @@ GameObject: type: 3} m_PrefabInstance: {fileID: 5896202355328681047} m_PrefabAsset: {fileID: 0} ---- !u!1 &8989088973867553284 stripped +--- !u!1 &8989088974647900553 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 3273039434092746323, guid: d54a705255921934c9d7e49fdc181f47, + m_CorrespondingSourceObject: {fileID: 3273039434906648030, guid: d54a705255921934c9d7e49fdc181f47, type: 3} m_PrefabInstance: {fileID: 5896202355328681047} m_PrefabAsset: {fileID: 0} @@ -3487,9 +3487,9 @@ GameObject: type: 3} m_PrefabInstance: {fileID: 5896202355328681047} m_PrefabAsset: {fileID: 0} ---- !u!1 &8989088974647900553 stripped +--- !u!1 &8989088973867553284 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 3273039434906648030, guid: d54a705255921934c9d7e49fdc181f47, + m_CorrespondingSourceObject: {fileID: 3273039434092746323, guid: d54a705255921934c9d7e49fdc181f47, type: 3} m_PrefabInstance: {fileID: 5896202355328681047} m_PrefabAsset: {fileID: 0} @@ -3893,6 +3893,18 @@ PrefabInstance: objectReference: {fileID: 8989088974132902757} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 984b45bb8f473594a90406837fcc03f6, type: 3} +--- !u!1 &8989088974680782485 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 3151635505209770847, guid: 984b45bb8f473594a90406837fcc03f6, + type: 3} + m_PrefabInstance: {fileID: 6269981554021496266} + m_PrefabAsset: {fileID: 0} +--- !u!224 &8989088974680782486 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 3151635505209770844, guid: 984b45bb8f473594a90406837fcc03f6, + type: 3} + m_PrefabInstance: {fileID: 6269981554021496266} + m_PrefabAsset: {fileID: 0} --- !u!114 &1410451707985475524 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 4940903284276904462, guid: 984b45bb8f473594a90406837fcc03f6, @@ -3905,6 +3917,12 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 25058e2ef49af6545a955cef5bced6cb, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &6263020595006076978 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 137864518997446136, guid: 984b45bb8f473594a90406837fcc03f6, + type: 3} + m_PrefabInstance: {fileID: 6269981554021496266} + m_PrefabAsset: {fileID: 0} --- !u!114 &1815057015430150696 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 5634869264469495778, guid: 984b45bb8f473594a90406837fcc03f6, @@ -3917,24 +3935,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d5ce6686d7065cf4986b2ed3e2773c96, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1 &6263020595006076978 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 137864518997446136, guid: 984b45bb8f473594a90406837fcc03f6, - type: 3} - m_PrefabInstance: {fileID: 6269981554021496266} - m_PrefabAsset: {fileID: 0} ---- !u!1 &8989088974680782485 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 3151635505209770847, guid: 984b45bb8f473594a90406837fcc03f6, - type: 3} - m_PrefabInstance: {fileID: 6269981554021496266} - m_PrefabAsset: {fileID: 0} ---- !u!224 &8989088974680782486 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 3151635505209770844, guid: 984b45bb8f473594a90406837fcc03f6, - type: 3} - m_PrefabInstance: {fileID: 6269981554021496266} - m_PrefabAsset: {fileID: 0} --- !u!1001 &6741842186263786144 PrefabInstance: m_ObjectHideFlags: 0 @@ -4125,12 +4125,6 @@ PrefabInstance: m_RemovedComponents: - {fileID: 686795022750109565, guid: b453efa2342c8cd42bacda122d59b301, type: 3} m_SourcePrefab: {fileID: 100100000, guid: b453efa2342c8cd42bacda122d59b301, type: 3} ---- !u!1 &8989088973532279178 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 2391549340146156330, guid: b453efa2342c8cd42bacda122d59b301, - type: 3} - m_PrefabInstance: {fileID: 6741842186263786144} - m_PrefabAsset: {fileID: 0} --- !u!224 &8989088973532279179 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 2391549340146156331, guid: b453efa2342c8cd42bacda122d59b301, @@ -4143,6 +4137,12 @@ GameObject: type: 3} m_PrefabInstance: {fileID: 6741842186263786144} m_PrefabAsset: {fileID: 0} +--- !u!1 &8989088973532279178 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 2391549340146156330, guid: b453efa2342c8cd42bacda122d59b301, + type: 3} + m_PrefabInstance: {fileID: 6741842186263786144} + m_PrefabAsset: {fileID: 0} --- !u!1001 &8018839883092652917 PrefabInstance: m_ObjectHideFlags: 0 @@ -4474,18 +4474,18 @@ PrefabInstance: m_RemovedComponents: - {fileID: 873207985097786796, guid: 4ebcda84dcabb7c478414af24f21764b, type: 3} m_SourcePrefab: {fileID: 100100000, guid: 4ebcda84dcabb7c478414af24f21764b, type: 3} ---- !u!1 &8989088974196407082 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 873207984212787038, guid: 4ebcda84dcabb7c478414af24f21764b, - type: 3} - m_PrefabInstance: {fileID: 8116026125585663092} - m_PrefabAsset: {fileID: 0} --- !u!224 &8989088974196407083 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 873207984212787039, guid: 4ebcda84dcabb7c478414af24f21764b, type: 3} m_PrefabInstance: {fileID: 8116026125585663092} m_PrefabAsset: {fileID: 0} +--- !u!1 &8989088974196407082 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 873207984212787038, guid: 4ebcda84dcabb7c478414af24f21764b, + type: 3} + m_PrefabInstance: {fileID: 8116026125585663092} + m_PrefabAsset: {fileID: 0} --- !u!1001 &8896866077704013097 PrefabInstance: m_ObjectHideFlags: 0 @@ -5175,33 +5175,27 @@ PrefabInstance: - {fileID: 3585114578929046476, guid: 6b45abbbd75a04c4eba1c3b9ad9e5ad7, type: 3} - {fileID: 930637906393483067, guid: 6b45abbbd75a04c4eba1c3b9ad9e5ad7, type: 3} m_SourcePrefab: {fileID: 100100000, guid: 6b45abbbd75a04c4eba1c3b9ad9e5ad7, type: 3} ---- !u!114 &1893516735333817471 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 7007350327746828630, guid: 6b45abbbd75a04c4eba1c3b9ad9e5ad7, +--- !u!1 &6753836796470259977 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 2792924766965019680, guid: 6b45abbbd75a04c4eba1c3b9ad9e5ad7, type: 3} m_PrefabInstance: {fileID: 8896866077704013097} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!1 &8989088974207088660 stripped +--- !u!1 &335910751553992226 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 560606090551311677, guid: 6b45abbbd75a04c4eba1c3b9ad9e5ad7, + m_CorrespondingSourceObject: {fileID: 9210249928777495307, guid: 6b45abbbd75a04c4eba1c3b9ad9e5ad7, type: 3} m_PrefabInstance: {fileID: 8896866077704013097} m_PrefabAsset: {fileID: 0} ---- !u!1 &6753836796470259977 stripped +--- !u!1 &6950018146090014768 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 2792924766965019680, guid: 6b45abbbd75a04c4eba1c3b9ad9e5ad7, + m_CorrespondingSourceObject: {fileID: 1948765754777378073, guid: 6b45abbbd75a04c4eba1c3b9ad9e5ad7, type: 3} m_PrefabInstance: {fileID: 8896866077704013097} m_PrefabAsset: {fileID: 0} ---- !u!114 &1893516735231219151 stripped +--- !u!114 &8989088974616621303 stripped MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 7007350328927686886, guid: 6b45abbbd75a04c4eba1c3b9ad9e5ad7, + m_CorrespondingSourceObject: {fileID: 560606089064887774, guid: 6b45abbbd75a04c4eba1c3b9ad9e5ad7, type: 3} m_PrefabInstance: {fileID: 8896866077704013097} m_PrefabAsset: {fileID: 0} @@ -5211,15 +5205,9 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!224 &8989088974283087999 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 560606090467960150, guid: 6b45abbbd75a04c4eba1c3b9ad9e5ad7, - type: 3} - m_PrefabInstance: {fileID: 8896866077704013097} - m_PrefabAsset: {fileID: 0} ---- !u!114 &8989088974616621303 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 560606089064887774, guid: 6b45abbbd75a04c4eba1c3b9ad9e5ad7, +--- !u!114 &7700590130810735432 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 1271696677494787681, guid: 6b45abbbd75a04c4eba1c3b9ad9e5ad7, type: 3} m_PrefabInstance: {fileID: 8896866077704013097} m_PrefabAsset: {fileID: 0} @@ -5229,15 +5217,9 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1 &6950018146090014768 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 1948765754777378073, guid: 6b45abbbd75a04c4eba1c3b9ad9e5ad7, - type: 3} - m_PrefabInstance: {fileID: 8896866077704013097} - m_PrefabAsset: {fileID: 0} ---- !u!114 &7700590130810735432 stripped +--- !u!114 &1893516735333817471 stripped MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 1271696677494787681, guid: 6b45abbbd75a04c4eba1c3b9ad9e5ad7, + m_CorrespondingSourceObject: {fileID: 7007350327746828630, guid: 6b45abbbd75a04c4eba1c3b9ad9e5ad7, type: 3} m_PrefabInstance: {fileID: 8896866077704013097} m_PrefabAsset: {fileID: 0} @@ -5253,12 +5235,30 @@ GameObject: type: 3} m_PrefabInstance: {fileID: 8896866077704013097} m_PrefabAsset: {fileID: 0} ---- !u!1 &335910751553992226 stripped +--- !u!1 &8989088974207088660 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 9210249928777495307, guid: 6b45abbbd75a04c4eba1c3b9ad9e5ad7, + m_CorrespondingSourceObject: {fileID: 560606090551311677, guid: 6b45abbbd75a04c4eba1c3b9ad9e5ad7, + type: 3} + m_PrefabInstance: {fileID: 8896866077704013097} + m_PrefabAsset: {fileID: 0} +--- !u!224 &8989088974283087999 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 560606090467960150, guid: 6b45abbbd75a04c4eba1c3b9ad9e5ad7, type: 3} m_PrefabInstance: {fileID: 8896866077704013097} m_PrefabAsset: {fileID: 0} +--- !u!114 &1893516735231219151 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7007350328927686886, guid: 6b45abbbd75a04c4eba1c3b9ad9e5ad7, + type: 3} + m_PrefabInstance: {fileID: 8896866077704013097} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &9002323654564509994 PrefabInstance: m_ObjectHideFlags: 0 @@ -5398,12 +5398,6 @@ PrefabInstance: objectReference: {fileID: 1410451707985475524} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 0a464bb150d6dbe46b938abf56a57201, type: 3} ---- !u!224 &8989088974637467835 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 22805387498254737, guid: 0a464bb150d6dbe46b938abf56a57201, - type: 3} - m_PrefabInstance: {fileID: 9002323654564509994} - m_PrefabAsset: {fileID: 0} --- !u!114 &1893516735381758481 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 7397640514918816571, guid: 0a464bb150d6dbe46b938abf56a57201, @@ -5416,18 +5410,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!114 &8989088974966039233 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 22805388228484075, guid: 0a464bb150d6dbe46b938abf56a57201, - type: 3} - m_PrefabInstance: {fileID: 9002323654564509994} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!1 &6263020594378363610 stripped GameObject: m_CorrespondingSourceObject: {fileID: 3027568656160205808, guid: 0a464bb150d6dbe46b938abf56a57201, @@ -5440,6 +5422,24 @@ GameObject: type: 3} m_PrefabInstance: {fileID: 9002323654564509994} m_PrefabAsset: {fileID: 0} +--- !u!224 &8989088974637467835 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 22805387498254737, guid: 0a464bb150d6dbe46b938abf56a57201, + type: 3} + m_PrefabInstance: {fileID: 9002323654564509994} + m_PrefabAsset: {fileID: 0} +--- !u!114 &8989088974966039233 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 22805388228484075, guid: 0a464bb150d6dbe46b938abf56a57201, + type: 3} + m_PrefabInstance: {fileID: 9002323654564509994} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &9002439468039494841 PrefabInstance: m_ObjectHideFlags: 0 @@ -5579,15 +5579,15 @@ PrefabInstance: objectReference: {fileID: 8989088974132902757} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 767ce36082d6519459c23650a28a5f29, type: 3} ---- !u!1 &2327659950358824763 stripped +--- !u!1 &4937160983271311031 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 6675060994369772418, guid: 767ce36082d6519459c23650a28a5f29, + m_CorrespondingSourceObject: {fileID: 4065421421365254670, guid: 767ce36082d6519459c23650a28a5f29, type: 3} m_PrefabInstance: {fileID: 9002439468039494841} m_PrefabAsset: {fileID: 0} ---- !u!1 &8989088974781053211 stripped +--- !u!1 &2327659950358824763 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 22727128957527458, guid: 767ce36082d6519459c23650a28a5f29, + m_CorrespondingSourceObject: {fileID: 6675060994369772418, guid: 767ce36082d6519459c23650a28a5f29, type: 3} m_PrefabInstance: {fileID: 9002439468039494841} m_PrefabAsset: {fileID: 0} @@ -5597,12 +5597,6 @@ RectTransform: type: 3} m_PrefabInstance: {fileID: 9002439468039494841} m_PrefabAsset: {fileID: 0} ---- !u!1 &4937160983271311031 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 4065421421365254670, guid: 767ce36082d6519459c23650a28a5f29, - type: 3} - m_PrefabInstance: {fileID: 9002439468039494841} - m_PrefabAsset: {fileID: 0} --- !u!1 &1893516735354700757 stripped GameObject: m_CorrespondingSourceObject: {fileID: 7397172900146470764, guid: 767ce36082d6519459c23650a28a5f29, @@ -5639,6 +5633,12 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f256e83bf0cc2d2429e619e70800b638, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &8989088974781053211 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 22727128957527458, guid: 767ce36082d6519459c23650a28a5f29, + type: 3} + m_PrefabInstance: {fileID: 9002439468039494841} + m_PrefabAsset: {fileID: 0} --- !u!1001 &9111109284383726520 PrefabInstance: m_ObjectHideFlags: 0 @@ -5781,6 +5781,11 @@ PrefabInstance: propertyPath: scheme value: objectReference: {fileID: 8989088974132902757} + - target: {fileID: 202241234799659895, guid: e504c2c7b46822f4a9fd6549967f71b8, + type: 3} + propertyPath: m_ChildControlWidth + value: 1 + objectReference: {fileID: 0} - target: {fileID: 262147874205983558, guid: e504c2c7b46822f4a9fd6549967f71b8, type: 3} propertyPath: scheme @@ -5801,6 +5806,16 @@ PrefabInstance: propertyPath: scheme value: objectReference: {fileID: 8989088974132902757} + - target: {fileID: 1990191562464318298, guid: e504c2c7b46822f4a9fd6549967f71b8, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3430078737957267641, guid: e504c2c7b46822f4a9fd6549967f71b8, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} - target: {fileID: 3458972671975240460, guid: e504c2c7b46822f4a9fd6549967f71b8, type: 3} propertyPath: scheme @@ -5836,6 +5851,51 @@ PrefabInstance: propertyPath: m_Color.r value: 1 objectReference: {fileID: 0} + - target: {fileID: 4169626031422301468, guid: e504c2c7b46822f4a9fd6549967f71b8, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4169626031422301468, guid: e504c2c7b46822f4a9fd6549967f71b8, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4404333536159968863, guid: e504c2c7b46822f4a9fd6549967f71b8, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4404333536159968863, guid: e504c2c7b46822f4a9fd6549967f71b8, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4956274285408832886, guid: e504c2c7b46822f4a9fd6549967f71b8, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4956274285408832886, guid: e504c2c7b46822f4a9fd6549967f71b8, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7130796017981728341, guid: e504c2c7b46822f4a9fd6549967f71b8, + type: 3} + propertyPath: m_text + value: "Connect with PSN\u2122" + objectReference: {fileID: 0} + - target: {fileID: 7221019453091957961, guid: e504c2c7b46822f4a9fd6549967f71b8, + type: 3} + propertyPath: m_ChildControlWidth + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7221019453091957961, guid: e504c2c7b46822f4a9fd6549967f71b8, + type: 3} + propertyPath: m_ChildForceExpandWidth + value: 1 + objectReference: {fileID: 0} - target: {fileID: 7272181641407465854, guid: e504c2c7b46822f4a9fd6549967f71b8, type: 3} propertyPath: Avatar_Main @@ -5921,33 +5981,65 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 7696296687459103876, guid: e504c2c7b46822f4a9fd6549967f71b8, + type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 0} - target: {fileID: 8197357445277052599, guid: e504c2c7b46822f4a9fd6549967f71b8, type: 3} propertyPath: scheme value: objectReference: {fileID: 8989088974132902757} + - target: {fileID: 8500900914818273053, guid: e504c2c7b46822f4a9fd6549967f71b8, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} - target: {fileID: 8812471963573315342, guid: e504c2c7b46822f4a9fd6549967f71b8, type: 3} propertyPath: scheme value: objectReference: {fileID: 8989088974132902757} + - target: {fileID: 8878182774722209015, guid: e504c2c7b46822f4a9fd6549967f71b8, + type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 0} + - target: {fileID: 9052917789439416598, guid: e504c2c7b46822f4a9fd6549967f71b8, + type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: e504c2c7b46822f4a9fd6549967f71b8, type: 3} ---- !u!1 &8989088973629451875 stripped +--- !u!1 &6263020594179064106 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 202241233251530203, guid: e504c2c7b46822f4a9fd6549967f71b8, + m_CorrespondingSourceObject: {fileID: 2926092444486032018, guid: e504c2c7b46822f4a9fd6549967f71b8, type: 3} m_PrefabInstance: {fileID: 9111109284383726520} m_PrefabAsset: {fileID: 0} ---- !u!224 &8989088973629451876 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 202241233251530204, guid: e504c2c7b46822f4a9fd6549967f71b8, +--- !u!1 &3463848346240956164 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 5648400314868477116, guid: e504c2c7b46822f4a9fd6549967f71b8, type: 3} m_PrefabInstance: {fileID: 9111109284383726520} m_PrefabAsset: {fileID: 0} ---- !u!1 &1893516734596061666 stripped +--- !u!1 &6263020594268687145 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 7221019452671754842, guid: e504c2c7b46822f4a9fd6549967f71b8, + m_CorrespondingSourceObject: {fileID: 2926092444445692049, guid: e504c2c7b46822f4a9fd6549967f71b8, + type: 3} + m_PrefabInstance: {fileID: 9111109284383726520} + m_PrefabAsset: {fileID: 0} +--- !u!1 &6263020595490939020 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 2926092445102242612, guid: e504c2c7b46822f4a9fd6549967f71b8, + type: 3} + m_PrefabInstance: {fileID: 9111109284383726520} + m_PrefabAsset: {fileID: 0} +--- !u!1 &688970901148247509 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 8646523145319169645, guid: e504c2c7b46822f4a9fd6549967f71b8, type: 3} m_PrefabInstance: {fileID: 9111109284383726520} m_PrefabAsset: {fileID: 0} @@ -5957,39 +6049,57 @@ GameObject: type: 3} m_PrefabInstance: {fileID: 9111109284383726520} m_PrefabAsset: {fileID: 0} ---- !u!1 &3463848345821676872 stripped +--- !u!1 &4160836995050148924 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 5648400315019566832, guid: e504c2c7b46822f4a9fd6549967f71b8, + m_CorrespondingSourceObject: {fileID: 5174471786643853188, guid: e504c2c7b46822f4a9fd6549967f71b8, type: 3} m_PrefabInstance: {fileID: 9111109284383726520} m_PrefabAsset: {fileID: 0} ---- !u!1 &6263020594179064106 stripped +--- !u!1 &4430532677703491455 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 2926092444486032018, guid: e504c2c7b46822f4a9fd6549967f71b8, + m_CorrespondingSourceObject: {fileID: 4831588756319519943, guid: e504c2c7b46822f4a9fd6549967f71b8, type: 3} m_PrefabInstance: {fileID: 9111109284383726520} m_PrefabAsset: {fileID: 0} ---- !u!1 &1893516736268411314 stripped +--- !u!1 &4641289288188786453 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 7221019454488820234, guid: e504c2c7b46822f4a9fd6549967f71b8, + m_CorrespondingSourceObject: {fileID: 4474332394398543021, guid: e504c2c7b46822f4a9fd6549967f71b8, type: 3} m_PrefabInstance: {fileID: 9111109284383726520} m_PrefabAsset: {fileID: 0} ---- !u!1 &3463848346240956164 stripped +--- !u!1 &5469553169985273516 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 5648400314868477116, guid: e504c2c7b46822f4a9fd6549967f71b8, + m_CorrespondingSourceObject: {fileID: 3861529083575919892, guid: e504c2c7b46822f4a9fd6549967f71b8, type: 3} m_PrefabInstance: {fileID: 9111109284383726520} m_PrefabAsset: {fileID: 0} ---- !u!1 &6263020594268687145 stripped +--- !u!1 &120273927630695086 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 2926092444445692049, guid: e504c2c7b46822f4a9fd6549967f71b8, + m_CorrespondingSourceObject: {fileID: 9212788004402213142, guid: e504c2c7b46822f4a9fd6549967f71b8, type: 3} m_PrefabInstance: {fileID: 9111109284383726520} m_PrefabAsset: {fileID: 0} ---- !u!1 &6263020595490939020 stripped +--- !u!1 &6263020595259177383 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 2926092445102242612, guid: e504c2c7b46822f4a9fd6549967f71b8, + m_CorrespondingSourceObject: {fileID: 2926092445535199775, guid: e504c2c7b46822f4a9fd6549967f71b8, + type: 3} + m_PrefabInstance: {fileID: 9111109284383726520} + m_PrefabAsset: {fileID: 0} +--- !u!1 &3463848345821676872 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 5648400315019566832, guid: e504c2c7b46822f4a9fd6549967f71b8, + type: 3} + m_PrefabInstance: {fileID: 9111109284383726520} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1893516736268411314 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7221019454488820234, guid: e504c2c7b46822f4a9fd6549967f71b8, + type: 3} + m_PrefabInstance: {fileID: 9111109284383726520} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1893516734596061666 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7221019452671754842, guid: e504c2c7b46822f4a9fd6549967f71b8, type: 3} m_PrefabInstance: {fileID: 9111109284383726520} m_PrefabAsset: {fileID: 0} @@ -6005,3 +6115,249 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 2c4cf586272b55a4497783f1478c1c6b, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!224 &8989088973629451876 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 202241233251530204, guid: e504c2c7b46822f4a9fd6549967f71b8, + type: 3} + m_PrefabInstance: {fileID: 9111109284383726520} + m_PrefabAsset: {fileID: 0} +--- !u!1 &8989088973629451875 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 202241233251530203, guid: e504c2c7b46822f4a9fd6549967f71b8, + type: 3} + m_PrefabInstance: {fileID: 9111109284383726520} + m_PrefabAsset: {fileID: 0} +--- !u!114 &2049403712591105766 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 120273927630695086} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 6 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 1 +--- !u!114 &6824915411601169537 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 688970901148247509} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 6 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 1 +--- !u!114 &6253250688324073207 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3463848345821676872} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 6 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 1 +--- !u!114 &7747607527870772737 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4160836995050148924} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 6 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 1 +--- !u!114 &6676434162388965144 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4430532677703491455} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 6 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 1 +--- !u!114 &6218716619431235264 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4641289288188786453} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 6 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 1 +--- !u!114 &2430041960638631900 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5469553169985273516} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 6 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 1 +--- !u!114 &1876514844686925505 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6263020593954170217} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 6 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 1 +--- !u!114 &3527011759082493994 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6263020595259177383} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 6 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 1 diff --git a/UI/Examples/Settings Panel.prefab b/UI/Examples/Settings Panel.prefab index 5bbb12e..e92f7cf 100644 --- a/UI/Examples/Settings Panel.prefab +++ b/UI/Examples/Settings Panel.prefab @@ -62,6 +62,7 @@ MonoBehaviour: 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: @@ -90,6 +91,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -233,6 +235,7 @@ MonoBehaviour: 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: @@ -382,6 +385,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -470,6 +474,7 @@ MonoBehaviour: m_EditorClassIdentifier: reference: Save text: {fileID: 3603840790787205346} + translatedLanguageFontPairingOverrides: {fileID: 0} --- !u!1 &1371959926254573078 GameObject: m_ObjectHideFlags: 0 @@ -530,6 +535,7 @@ MonoBehaviour: 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: @@ -664,6 +670,7 @@ MonoBehaviour: 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: @@ -738,6 +745,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -786,9 +794,9 @@ RectTransform: m_Father: {fileID: 8052715670319653616} 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: 327.21655, y: -20} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 327.21655, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &3468542564723114718 @@ -816,6 +824,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!114 &6911536427327211444 MonoBehaviour: m_ObjectHideFlags: 0 @@ -892,6 +901,7 @@ MonoBehaviour: 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: @@ -993,6 +1003,7 @@ MonoBehaviour: m_EditorClassIdentifier: reference: Settings text: {fileID: 5783389130814483861} + translatedLanguageFontPairingOverrides: {fileID: 0} --- !u!1 &1744693725485625371 GameObject: m_ObjectHideFlags: 0 @@ -1053,6 +1064,7 @@ MonoBehaviour: 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: @@ -1166,6 +1178,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &2239556262950952142 GameObject: m_ObjectHideFlags: 0 @@ -1200,9 +1213,9 @@ RectTransform: m_Father: {fileID: 1456695893281337159} 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: 600, y: -154.78534} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 600, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 1} --- !u!222 &1896377868095533367 @@ -1252,6 +1265,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &2278137537223970128 GameObject: m_ObjectHideFlags: 0 @@ -1314,6 +1328,7 @@ MonoBehaviour: 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: @@ -1422,6 +1437,7 @@ MonoBehaviour: m_EditorClassIdentifier: reference: Api Key text: {fileID: 5300820425371804859} + translatedLanguageFontPairingOverrides: {fileID: 0} --- !u!1 &2410508579377774099 GameObject: m_ObjectHideFlags: 0 @@ -1484,6 +1500,7 @@ MonoBehaviour: 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: @@ -1512,6 +1529,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -1655,6 +1673,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1744,6 +1763,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1832,6 +1852,7 @@ MonoBehaviour: m_EditorClassIdentifier: reference: Test Server Url text: {fileID: 1590270955685724625} + translatedLanguageFontPairingOverrides: {fileID: 0} --- !u!1 &2635887046338906308 GameObject: m_ObjectHideFlags: 0 @@ -1964,6 +1985,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2052,6 +2074,7 @@ MonoBehaviour: m_EditorClassIdentifier: reference: Quit text: {fileID: 5420132540437997327} + translatedLanguageFontPairingOverrides: {fileID: 0} --- !u!1 &2804925445535669477 GameObject: m_ObjectHideFlags: 0 @@ -2113,6 +2136,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2201,6 +2225,7 @@ MonoBehaviour: m_EditorClassIdentifier: reference: 'Api Key:' text: {fileID: 8626479583384763867} + translatedLanguageFontPairingOverrides: {fileID: 0} --- !u!1 &2926822929235955524 GameObject: m_ObjectHideFlags: 0 @@ -2263,6 +2288,7 @@ MonoBehaviour: 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: @@ -2291,6 +2317,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -2435,6 +2462,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2523,6 +2551,7 @@ MonoBehaviour: m_EditorClassIdentifier: reference: 'Initialize for User:' text: {fileID: 2358853862206910019} + translatedLanguageFontPairingOverrides: {fileID: 0} --- !u!1 &3130848899744774082 GameObject: m_ObjectHideFlags: 0 @@ -2583,6 +2612,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.02745098, g: 0.75686276, b: 0.84705883, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2662,6 +2692,7 @@ MonoBehaviour: 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: @@ -2690,6 +2721,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 4 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 1310809829852079882} @@ -2721,6 +2753,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 5085556148731710505} + m_TargetAssemblyTypeName: m_MethodName: SetServerUrl m_Mode: 5 m_Arguments: @@ -2929,6 +2962,7 @@ MonoBehaviour: 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: @@ -3004,6 +3038,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -3092,6 +3127,7 @@ MonoBehaviour: m_EditorClassIdentifier: reference: 'Game Id:' text: {fileID: 3733236609856419454} + translatedLanguageFontPairingOverrides: {fileID: 0} --- !u!1 &3514680008351358685 GameObject: m_ObjectHideFlags: 0 @@ -3204,6 +3240,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.02745098, g: 0.75686276, b: 0.84705883, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -3254,7 +3291,7 @@ RectTransform: 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_AnchoredPosition: {x: 600, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 1} --- !u!222 &4951268481463544967 @@ -3290,6 +3327,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!114 &6173312570045682500 MonoBehaviour: m_ObjectHideFlags: 0 @@ -3364,6 +3402,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -3414,7 +3453,7 @@ RectTransform: 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_AnchoredPosition: {x: 600, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 1} --- !u!114 &2590186387742093371 @@ -3442,6 +3481,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!114 &5316670738069707947 MonoBehaviour: m_ObjectHideFlags: 0 @@ -3516,6 +3556,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -3650,6 +3691,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -3724,6 +3766,7 @@ MonoBehaviour: 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: @@ -3863,6 +3906,7 @@ MonoBehaviour: 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: @@ -3891,6 +3935,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 4 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -3922,6 +3967,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 5085556148731710505} + m_TargetAssemblyTypeName: m_MethodName: Close m_Mode: 1 m_Arguments: @@ -4130,6 +4176,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -4204,6 +4251,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -4365,6 +4413,7 @@ MonoBehaviour: 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: @@ -4431,6 +4480,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!114 &5085556148731710505 MonoBehaviour: m_ObjectHideFlags: 0 @@ -4444,8 +4494,11 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: gameIdInputField: {fileID: 6596741876507488206} + gameIdInputPlaceholder: {fileID: 1988501046616898682} apiKeyInputField: {fileID: 6175510146537269925} + apiKeyInputPlaceholder: {fileID: 5300820425371804859} initUserInputField: {fileID: 3256177613688875937} + initUserInputPlaceholder: {fileID: 0} currentServerUrlText: {fileID: 4085204414925621438} currentGameIdText: {fileID: 732163342894521533} buttons: [] @@ -4503,6 +4556,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -4540,6 +4594,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 0} + m_TargetAssemblyTypeName: m_MethodName: VolumeSliderChange m_Mode: 0 m_Arguments: @@ -4610,6 +4665,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.02745098, g: 0.75686276, b: 0.84705883, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -4684,6 +4740,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -4732,9 +4789,9 @@ RectTransform: m_Father: {fileID: 1456695893281337159} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 600, y: -274.78534} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 600, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 1} --- !u!222 &2676778572789902030 @@ -4784,6 +4841,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &5923865825023240550 GameObject: m_ObjectHideFlags: 0 @@ -4846,6 +4904,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &6053270648009131751 GameObject: m_ObjectHideFlags: 0 @@ -4921,6 +4980,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -5009,6 +5069,7 @@ MonoBehaviour: m_EditorClassIdentifier: reference: Back text: {fileID: 8550056663514682192} + translatedLanguageFontPairingOverrides: {fileID: 0} --- !u!1 &6053660312078620900 GameObject: m_ObjectHideFlags: 0 @@ -5075,6 +5136,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -5177,6 +5239,7 @@ MonoBehaviour: m_EditorClassIdentifier: reference: Audio text: {fileID: 8720342358653616389} + translatedLanguageFontPairingOverrides: {fileID: 0} --- !u!1 &6149630358961688959 GameObject: m_ObjectHideFlags: 0 @@ -5238,6 +5301,7 @@ MonoBehaviour: 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: @@ -5397,6 +5461,7 @@ MonoBehaviour: 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: @@ -5425,6 +5490,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 4 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 3366457585414553612} @@ -5456,6 +5522,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 5085556148731710505} + m_TargetAssemblyTypeName: m_MethodName: SaveSettings m_Mode: 1 m_Arguments: @@ -5467,6 +5534,7 @@ MonoBehaviour: m_BoolArgument: 0 m_CallState: 2 - m_Target: {fileID: 5085556148731710505} + m_TargetAssemblyTypeName: m_MethodName: Close m_Mode: 1 m_Arguments: @@ -5651,7 +5719,7 @@ RectTransform: 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_AnchoredPosition: {x: 600, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 1} --- !u!222 &36405001188233560 @@ -5701,6 +5769,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &7132800219883547499 GameObject: m_ObjectHideFlags: 0 @@ -5761,6 +5830,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -5809,9 +5879,9 @@ RectTransform: m_Father: {fileID: 3570737505105526238} 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: 223.59947, y: -20} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 223.59947, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &6082510718050631796 @@ -5839,6 +5909,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!114 &8069397939761520171 MonoBehaviour: m_ObjectHideFlags: 0 @@ -5915,6 +5986,7 @@ MonoBehaviour: 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: @@ -6023,6 +6095,7 @@ MonoBehaviour: m_EditorClassIdentifier: reference: Game Id text: {fileID: 1988501046616898682} + translatedLanguageFontPairingOverrides: {fileID: 0} --- !u!1 &7724410961152080415 GameObject: m_ObjectHideFlags: 0 @@ -6083,6 +6156,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -6222,6 +6296,7 @@ MonoBehaviour: 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: @@ -6250,6 +6325,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 4 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -6281,6 +6357,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 5085556148731710505} + m_TargetAssemblyTypeName: m_MethodName: SetServerUrl m_Mode: 5 m_Arguments: @@ -6429,20 +6506,6 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_ShowMaskGraphic: 1 ---- !u!114 &1912564371781873657 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7947345996345629186} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} - m_Name: - m_EditorClassIdentifier: - reference: Language - text: {fileID: 7578326722718555710} --- !u!1 &8388518338912708618 GameObject: m_ObjectHideFlags: 0 @@ -6570,6 +6633,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -6658,6 +6722,7 @@ MonoBehaviour: m_EditorClassIdentifier: reference: Production Server Url text: {fileID: 3548902828184112239} + translatedLanguageFontPairingOverrides: {fileID: 0} --- !u!1 &8944064981378629140 GameObject: m_ObjectHideFlags: 0 @@ -6744,9 +6809,9 @@ RectTransform: m_Father: {fileID: 3874361175814237407} 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: 173.59947, y: -20} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 173.59947, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &6582955299535371095 @@ -6774,6 +6839,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!114 &3219684805487622212 MonoBehaviour: m_ObjectHideFlags: 0 @@ -6798,57 +6864,57 @@ PrefabInstance: - target: {fileID: 3943750464946847986, guid: 50b3a7c8f9573ab4bb339bf803ddeff7, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3943750464946847986, guid: 50b3a7c8f9573ab4bb339bf803ddeff7, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3943750464946847986, guid: 50b3a7c8f9573ab4bb339bf803ddeff7, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 40.57 objectReference: {fileID: 0} - target: {fileID: 3943750464946847986, guid: 50b3a7c8f9573ab4bb339bf803ddeff7, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 15.22 objectReference: {fileID: 0} - target: {fileID: 3943750464946847986, guid: 50b3a7c8f9573ab4bb339bf803ddeff7, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 171.51 objectReference: {fileID: 0} - target: {fileID: 3943750464946847986, guid: 50b3a7c8f9573ab4bb339bf803ddeff7, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -20 objectReference: {fileID: 0} - target: {fileID: 4502623724393616370, guid: 50b3a7c8f9573ab4bb339bf803ddeff7, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4502623724393616370, guid: 50b3a7c8f9573ab4bb339bf803ddeff7, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4502623724393616370, guid: 50b3a7c8f9573ab4bb339bf803ddeff7, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 53.59 objectReference: {fileID: 0} - target: {fileID: 4502623724393616370, guid: 50b3a7c8f9573ab4bb339bf803ddeff7, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 13.41 objectReference: {fileID: 0} - target: {fileID: 4502623724393616370, guid: 50b3a7c8f9573ab4bb339bf803ddeff7, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -20 objectReference: {fileID: 0} - target: {fileID: 6947373515689822312, guid: 50b3a7c8f9573ab4bb339bf803ddeff7, type: 3} @@ -7046,3 +7112,18 @@ RectTransform: type: 3} m_PrefabInstance: {fileID: 666998284809360982} m_PrefabAsset: {fileID: 0} +--- !u!114 &1912564371781873657 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7947345996345629186} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} + m_Name: + m_EditorClassIdentifier: + reference: Language + text: {fileID: 7578326722718555710} + translatedLanguageFontPairingOverrides: {fileID: 0} diff --git a/UI/Fonts/TMPro Fonts/EuclidCircularB-Regular SDF.asset b/UI/Fonts/TMPro Fonts/EuclidCircularB-Regular SDF.asset index 4ea2967..e8877cd 100644 --- a/UI/Fonts/TMPro Fonts/EuclidCircularB-Regular SDF.asset +++ b/UI/Fonts/TMPro Fonts/EuclidCircularB-Regular SDF.asset @@ -14,7 +14,7 @@ MonoBehaviour: m_EditorClassIdentifier: hashCode: -492980377 material: {fileID: 21319758026491476} - materialHashCode: 1317595148 + materialHashCode: 1627744615 m_Version: 1.1.0 m_SourceFontFileGUID: 0774b14b39d939b4f80ff528506c94ba m_SourceFontFile_EditorRef: {fileID: 0} @@ -1810,6 +1810,8 @@ MonoBehaviour: m_AtlasTextures: - {fileID: 28126284263176200} m_AtlasTextureIndex: 0 + m_IsMultiAtlasTexturesEnabled: 0 + m_ClearDynamicDataOnBuild: 0 m_UsedGlyphRects: - m_X: 0 m_Y: 0 @@ -2501,7 +2503,12 @@ MonoBehaviour: m_FontFeatureTable: m_GlyphPairAdjustmentRecords: [] fallbackFontAssets: [] - m_FallbackFontAssetTable: [] + m_FallbackFontAssetTable: + - {fileID: 11400000, guid: 4afb23d6b3294fd4cb26f6a15a24512e, type: 2} + - {fileID: 11400000, guid: 88c74fd7de9447d4a900a9f23a1558e3, type: 2} + - {fileID: 11400000, guid: 52dff060b78cae44aa1d0f3f8fabbf91, type: 2} + - {fileID: 11400000, guid: ee7cdf41d361f3741a0bff55d72eec00, type: 2} + - {fileID: 11400000, guid: 9f1995d8047baa640b7cd04c0f39e327, type: 2} m_CreationSettings: sourceFontFileName: sourceFontFileGUID: 0774b14b39d939b4f80ff528506c94ba @@ -2596,6 +2603,7 @@ Material: - _BumpFace: 0 - _BumpOutline: 0 - _ColorMask: 15 + - _CullMode: 0 - _Diffuse: 0.5 - _FaceDilate: 0 - _FaceUVSpeedX: 0 @@ -2648,6 +2656,7 @@ Material: - _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} + m_BuildTextureStacks: [] --- !u!28 &28126284263176200 Texture2D: m_ObjectHideFlags: 0 @@ -2660,15 +2669,20 @@ Texture2D: Hash: 00000000000000000000000000000000 m_ForcedFallbackFormat: 4 m_DownscaleFallback: 0 + m_IsAlphaChannelOptional: 0 serializedVersion: 2 m_Width: 512 m_Height: 512 m_CompleteImageSize: 262144 + m_MipsStripped: 0 m_TextureFormat: 1 m_MipCount: 1 m_IsReadable: 1 + m_IsPreProcessed: 0 + m_IgnoreMasterTextureLimit: 0 m_StreamingMipmaps: 0 m_StreamingMipmapsPriority: 0 + m_VTOnly: 0 m_AlphaIsTransparency: 0 m_ImageCount: 1 m_TextureDimension: 2 @@ -2682,9 +2696,11 @@ Texture2D: m_WrapW: 0 m_LightmapFormat: 0 m_ColorSpace: 0 + m_PlatformBlob: image data: 262144 _typelessdata: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c1314161513100b09020000000000000000000000000000000000000000000000000000040a0c1011121212120f0d07000000000000010b11131c1c1c1c1c0d0b05000000000000000000000b0b0b0b0b08060000000000070d0f121517191715130e0c06000000000000000000000000000000000000000000080e1020202020201d1b140b0000000000000000080e1020202020201d1b140b000000000000000000000000000000000001080b0f13171a1b1c1c1b1918130e0b07000000000000000000000000000000000000000000000000000000000000000812181a202020202015130d03000000000000000000000000000000000000080e1020202020201f0b080100000000000000000000000000000000000000010a1012202020202020201a0b0801000000000000000000000000000000000000000000000000060c0e1f2020202020201d0c0a03000000000000000a1012202020202020110f09000000000000000000000000000000000000000000000000020c121420202020201816100600000000000000000000000000010a10121d1d1d1d1d1d110f0a0000000000000000000000000000000000000000000000000000000000000a1012202020202020202020202020202020202020202020202020202020202020181610060000000000000a1012202020202020110f0900000000000000000c171f21282a2b2a2925201d150a0700000000000000000000000000000000000000000002080c181f2225262727272724221b100200000005131e252831313131312220190d000000000000080e1020202020201d1b140b050b101b2224272a2d2e2c2a282320190e0b050000000000000000000000000000000003111c23253535353535322f281c0e000000000003111c23253535353535322f281c0e00000000000000000000000000000808141c2024282c2f303132302f2d2823201c1308050000000000000000000000000000000000000000000000000000000b19252d2f35353535352a2720150700000000000000000000000000000003111c2325353535353534201d1509000000000000000000000000000000000005121d25273535353535353530201d1409000000000000000000000000000000000000000000010f1a21233435353535353532211e170b0000000004121d242735353535353526231c110300000000000000000000000000000000000000000006141f272935353535352d2a231709000000000000000000000005131e252832323232323227241d1204000000000000000000000000000000000000000000000000000004121d24273535353535353535353535353535353535353535353535353535353535352d2a23170900000004121d242735353535353526231c110300000000000c1c2a33373d3f40403e3a363228211a0f0100000000000000000000000000000000000009151d202a33373a3c3d3d3d3d3a362e20100000011323313a3d464646464638342b1d0d00000003111c23253535353535322f281c1820222d36393c3f4243423f3d38352c2220190e03000000000000000000000000000011212e373a4a4a4a4a4a47443a2c1c0b0000000011212e373a4a4a4a4a4a47443a2c1c0b000000000000000000000007111c23263035393d41444547474544423e3935302520190d040000000000000000000000000000000000000000000000000019293741454a4a4a4a4a3f3c32251503000000000000000000000000000011212e373a4a4a4a4a4a49353127190900000000000000000000000000000001122330393c4a4a4a4a4a4a4a45353126190900000000000000000000000000000000000000000f1f2c3539494a4a4a4a4a4a473633291b0b000000122230393c4a4a4a4a4a4a3b382f22110000000000000000000000000000000000000000031424323b3e4a4a4a4a4a423f3527170600000000000000000001132330393d4747474747473c393022120000000000000000000000000000000000000000000000000000122230393c4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a423f352717060000122230393c4a4a4a4a4a4a3b382f22110000000004172a3a474c53545655534f4b4538362d1c1408000000000000000000000000000000000d192731363a474c4f51525252524f4a3e2e1b07000b1e31414e525c5c5c5c5c4d483c2b1905000011212e373a4a4a4a4a4a47443a1e2b34373e4a4e525457595755524d493c38352b1e160b000000000000000000000000081c2e3f4b5060606060605d574a3a2814000000081c2e3f4b5060606060605d574a3a281400000000000000000008131c202f3836434b4f5256595b5c5c5b5957534e4a4336342b1f170c00000000000000000000000000000000000000000000000a1a3747545a6060606060544f4332200d00000000000000000000000000081c2e3f4b4f60606060605f4b443727150100000000000000000000000000000a1d30414d52606060606060605a4b44372614010000000000000000000000000000000000000b1b2c3d494e5f6060606060605c4b4639291703000a1d30404d51606060606060504c402f1c0900000000000000000000000000000000000000102132424f5460606060605852453523100000000000000000000a1e30414d525c5c5c5c5c5c514d40301d0a0000000000000000000000000000000000000000000000000a1d30404d51606060606060606060606060606060606060606060606060606060606060585245352310000a1d30404d51606060606060504c402f1c090000000a1f3347586168696b6a686560564e4a3d3026180800000000000000000000000000000d1d2a37444b535861656667676767645c4a36220d0011253a4e60687171717171625a4834200b00081c2e3f4b5060606060605d574a323b484d545c64676a6c6e6c6a68635a554d483c32281b1104000000000000000000000e23374b5d657575757575726857442f1b0600000e23374b5d657575757575726857442f1b00000000000000010f182530353f4c50546064686c6f707171706e6d686360544d483c33291c110300000000000000000000000000000000000000000316283854656f75757575756a614f3c2710000000000000000000000000000e23374b5d65757575757574605544311d0800000000000000000000000000001025394d5f67757575757575756f605544311d11000000000000000000000000000000000003162839495b637475757575757572615746331e0a001024394d5f67757575757575665e4c38230f0000000000000000000000000000000000000d1d2e3f4f606975757575756d63523f2a160000000000000000001025394d5f67727272727272665e4d3924110000000000000000000000000000000000000000000000001024394d5f677575757575757575757575757575757575757575757575757575757575756d63523f2a16001024394d5f67757575757575665e4c38230f0000000c21374c61767d7f807f7e7a756d635b4b43362614010000000000000000000000000a1a2a3b4855606871777a7b7c7c7c7d7a644f3a240f0013283d52687e868686868578624d38220d000e23374b5d657575757575726857454b59626a72797c7f8283817f7d78716a625a4b46392f22130600000000000000000010253a50657b8a8a8a8a8a87725d47321d08000010253a50657a8a8a8a8a8a87725d47321d00000000000006141f2d36434a525d656d74797d81848586878584827d79746b625a4c473a2f21120500000000000000000000000000000000000000091e3245566f838a8a8a8a8a7f6a543e2d1b070000000000000000000000021528384f657b8a8a8a8a8a8a73604b35200b000000000000000000000000000012273c52677c8a8a8a8a8a8a8a8473604b402f1d0d00000000000000000000000000000002101e32465763798a8a8a8a8a8a8a8676614b36210c0012273c51677c8a8a8a8a8a8a7b66503b2611000000000000000000000000000000000009192a3b4b5d697e8a8a8a8a8a816d58422d1800000000000000000012283d52677d8687878787877d66513f2f1c08000000000000000000000000000000000000000000000012273c51677c8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a816d58422d180012273c51677d8a8a8a8a8a8a7c66503b26110000000f24394f64798e949595938f8a82796a605443301c15000000000000000000000002152838485962747e868b8f9192929292816c57422c1700152a3f546a7f949b9b9b8d78634d38230e0010253a50657b8a8a8a8a8a87725d57606c777f878e919497989794928d867f786b61574c4031241507000000000000000010253a50657a8f9f9f9f9c87725d47321d08000010253a50657a8f9f9f9f9c87725d47321d0000000000081624313d4a546067717b82888e9296999a9c9c9a9997938e8880786d61584c40302312040000000000000000000000000000000000000b21364b60758a9f9f9f9f9c86715c4a3622090000000000000000000000091d3245566c82979f9f9fa88f7a654f3a251000000000000000000000000000001025394d5f6c8196a39f9f9fa295806b5e4c3c2b19090000000000000000000000000000102031424b6175869ca89f9f9f9f8a79635746331e0a0012273c51677c919f9f9f9f907b66503b261100000000000000000000000000000000011527374859657b8c9f9f9f9f97826d58422d180000000000000000000c21364c6176899c9c9c9c9b85715d4c382310000000000000000000000000000000000000000000000012273c51677c919f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f97826d58422d180012273c51677c919f9f9f9f907b66503b26110000000f24394f64798ea4abaaa8a99f978c7f72604b43331d0d00000000000000000000091d324556627786939c9faba6a7a7a797816c57422c1700152a3f546a7f94a9b1a28d78634d38230e0010253a50657a8f9f9f9f9c87725d6575818b949ca4a7a9acaeacaaa7a49c958a8075665e4e42332515050000000000000010253a50657a8fa5b5b29c87725d47321d08000010253a50657a8fa5b5b29c87725d47321d0000000008162634424e5c64727d8690979da6a7abaeb0b1b1b0aeaca8a69e958b8276655e4d4130221200000000000000000000000000000000000010263b50657b90a9bab5b6a48e79644f37261401000000000000000000000b20364b6075899eb3b5c6aa95806a553a291704000000000000000000000000000a1d30414b6074859ba7b8c0b59f8d7c665a48372715020000000000000000000000000c1c2d3e4e606d8298a4b6c2b19f927d685b4a392917030012273c51677c91a6b5b5a5907b66503b2611000000000000000000000000000000010f1d3144556277889daabbb5ad97826d58422d180000000000000000000a1f3346586b8096a9b1b1a3907b65503e2d1b070000000000000000000000000000000000000000000012273c51677c91a6b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5ad97826d58422d180012273c51677c91a6b5b5a5907b66503b26110000000f24394f64798ea4b6b9c7bab4ab9f95826d61503b2b18050000000000000000011426364b6074869ca4b1b5bab4b1afac97816c57422c1700152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5b5b29c8772677b87969faab1b6bbb4b3b5bcc9c2b5b1a99f95887c686050433323130100000000000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d00000005162634455160687985929ca4acb3b8c4c1c3c0bebcbdc0c2c5b8b3aa9f97887c675f4d402f1c0c0000000000000000000000000000000005182b3b566b8196abc7d3c2ab96816b5544311d080000000000000000000417293a51667c91a7b8ccc5b09b85705847331f0a0000000000000000000000000001121d3145566278899eabbcbcab9e8978625544311d12000000000000000000000008182a3a4a5c687e93a0b2c2b5a497826d5f4e3d2d1b0b000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000f1f30414b6073849aa6b7c8c2ad97826d58422d180000000000000000000417293a4d62778b9fb4c1af9a846f5c4a36220e0000000000000000000000000000000000000000000012273c51677c91a6bccacbc2bebababababababababababababababababababababaad97826d58422d180012273c51677c91a6bcbba5907b66503b26110000000f24394f64798ea0a1a4aab4babcb4a0947f6a594834200b0000000000000000081c3043546a7f95a4b5b9b3a99f9c9a9a97816c57422c1700152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29c87727d8d9ca5b4b3aca5aa9f9e9faba6adb3b9bab4a69d8c7e6a615041301f0f00000000000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d0000001323334451636c7e8c9ba3b1b5c2c8c2b5b1aeaba9a7a8aaafb4bac7bbb4a69d8c7d675e4c3a2a18040000000000000000000000000000000b2034485971869cb1c6dbc8b39d8874604b35200b0000000000000000000a1f3346586e8399aec5d6cab49f8b76614c37210c000000000000000000000000000002152738485a667c8d9fb5c0b8a79b8574604b40301e0e000000000000000000001325364758647a8b9fb4beb9a89c8675604b41311f0f00000012273c51677c91a6bcbba5907b66503b261100000000000000000000000000000b1b2d3d4d5f6c8196a2b4c4d4c2ad97826d58422d18000000000000000000000b203448596d8297abbcb3a28e79644f3c2c190600000000000000000000000000000000000000000012273c51677c91a6bccbbbaea9a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a597826d58422d180012273c51677c91a6bcbba5907b66503b26110000000f24394f647a8c8a8c8e959fa9b8beb49f8a77624d37220e00000000000000000b20354b6074889db3b9a89e928a878585857f69543f291400152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29c877b8c9fabb4a69d97908c8a898a8c91989ea7b4bbb7aa9f927f6a5f4d3d2c1909000000000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d00000c1c304150626c81939faab4c1c5b9b3aba39b9896939293959a9fa9b3b9c4b7aa9f8c7c665847331f0e0000000000000000000000000000000d22374c62778ca4b5c9decbb8a6907b66503929160300000000000000000c21364c61768a9fb4c9dfcfbcab917c67513c27120000000000000000000000000000000a1a2b3c4c5e6b8095a2b4c4b4a396816c5f4d3c2c1a0a00000000000000000d1c3043546176879da9babdb49e8a796356453223130100000012273c51677c91a6bcbba5907b66503b261100000000000000000000000000081829394a5b677d919eb0c0d1d7c2ad97826d58422d180000000000000000000005182b3b4e63798c9fb5c0ad98836e5a4935200c00000000000000000000000000000000000000000012273c51677c91a6bcc2ae9d948f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f816d58422d180012273c51677c91a6bcbba5907b66503b26110000000b20364b607476757679808b9da6b8baa996816c563c2c1906000000000000000f253a4f647a8fa6b7b39e8a7d747170707069614f3b271200152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab39e8a899eaaa89e9488817b77757375777c8289969faab8bbb49d927d675b49372614010000000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d000417293a4d5f6b80959fb4bbc8bdb0a79e968e8683817e7c7d80848a949ea7b5c1bbaa9e8977614c3c2c1906000000000000000000000000000013253652677d92a7c2d2e5d5c4ad98826d5746321e0a0000000000000005192b3c53687d93a9bacde2d9c9ac97826c573c2c19060000000000000000000000000000000e1e2f404b6073849aa6b7c1b09e917c675a49382816020000000000000d1d2e3f4a60728399a5b7c1b09f917d675b49382816050000000012273c51677c91a6bcbba5907b66503b261100000000000000000000000000132536465763798a9eb4bdcdded7c2ad97826d58422d1800000000000000000000000d2135495b6e8399aec0b49f8b78624d3a2a1804000000000000000000000000000000000000000012273c51677c91a6bcbea9947f7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a78634e38230e0012273c51677c91a6bcbba5907b66503b2611000000091d31455660616061646b79889db3c7b29d87725a4935200c0000000000000013293e53687e93a8c4a9937e6960545a5a5a544f43321f0c00152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab9a89e9ea8a49c8a7f756c656260556062666d76818b9ea6b7bcb49e8a79635544311d090000000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d000a1f334758677d919eafbdc6b9b39e96898179716e6b6967686b6f767f899ba3b5c2b8a797816c5a4935200c00000000000000000000000000071c3043546d8298adc2d8dedac9b49f8a76614b36210d000000000000000b2035485a70859aafc7d7dbddc7b29d87725b4935210c00000000000000000000000000000000121d3144556277889daabbbdb39e8978635645321e13010000000009192b3b4b5d6a7f94a1b3c3b5a396816c5f4d3d2c1a0a000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000d1c3043546175869ca8b9cddee0d7c2ad97826d58422d180000000000000000000000061a2c3d4f647a8fa2b4bbaa97816c5947341f0b000000000000000000000000000000000000000012273c51677c91a6bcbba5907b6665656565656565656565656565656565656565656565635b4935210c0012273c51677c91a6bcbba5907b66503b261100000002152738454b4c4b4c4f5b677d92abbcb6a58d78624d38230d00000000000001172c41566c8196abb9a88c76614c433645453f3b3224140300152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bac6b9b3b4a39b86786a6056504c4b444b4d5158616c7a889da5b7b9a89c8673604b3727150100000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d000c21374c6176889eb3bcc5b8a89e9181756c635b59565452535558616977859ba4b5c5b49f8c78634d38230e000000000000000000000000000b20354a6074889eb3c8cdc9c5c8baa8927d67523b2b18050000000000000d22384d62788c9fb5cac9c5c8cab7a58d78634d38230e00000000000000000000000000000000011426374759657b8c9fb4bfb9a89b8574604b41311f0f000000011426374859657b8c9fb4bfb8a79b8574604b41301f0e00000000000012273c51677c91a6bcbba5907b66503b261100000000000000000000000d1d2f3f4a60728399a4b6c6c5c8ccd5c2ad97826d58422d180000000000000000000000000f22374b5c70859ab0c2b49f8a77614c392816030000000000000000000000000000000000000012273c51677c91a6bcbba5907b66505050505050505050505050505050505050505050504e493d2c1a060012273c51677c91a6bcbba5907b66503b2611000000000a1a2731363735373c4b60758b9fb5c3a5907b65503b261000000000000003182d42586d8297adb39e897458473325303029271f14060000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bad6ccb8a79b8576625a4b453837353135373a474c5c6478879daabbb5a4927d675544311d0800000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d000e23384e63798799a1b4b8a79e8a7c6c60564e4a3d413e3d3e3a474c596275869cabbcbcab947f6a54372715020000000000000000000000000f24394e64798ea6b8c6b9b4b0b4c1af9a846f594834200b0000000000071a2d3e546a7f94abbcb9b4b0b4c1c3a8937e6953372715020000000000000000000000000000000009192a3b4b5d6a7f94a1b3c3b5a397816d5f4d3d2d1b0b00000e1d3144556277889daabbbcab9e89786256453123120000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000a1a2b3c4b5d6a7f94a1b3c1b5b0b3b8c5c2ad97826d58422d18000000000000000000000000081b2e3e51667b90a4b5baa995806a5746321e090000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a38352c1f0f000012273c51677c91a6bcbba5907b66503b261100000000000a151d2021202132455673889db2bca7927c67523d271200000000000004192e43596e8398aeb29d87725d3a2a171b1b14120c03000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bad2c2b39e89786258493c322822201d202229333e4a5a647a8c9fb4c2b29c8774604b35200b00000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d000c2135495b637683939fa99e8979665e4b4538362d2c29272829333b4857647a8d9fb5c9b09b85705544311d0800000000000000000000000316283854697f94a9c4b9a89e9ba3b4b49f8b77624c37220f00000000000d21364a5c71869cb1b9a89e9ba3b4c3ae99846e5544311d0800000000000000000000000000000000000d1d2e3f4a60728399a5b7c2b19f927d675b4a392916030e1e2f404b6073849aa6b8c0b59f8d7c665a48382715050000000000000012273c51677c91a6bcbba5907b66503b261100000000000000000002152738485a657b8c9fb4bfb5a39b9ea7b8c2ad97826d58422d18000000000000000000000000001020354a6073869cb1c3b39e8975614b3727150100000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b262525252525252525252525252525252525252523211a0f01000012273c51677c91a6bcbba5907b66503b261100000000000002090b0c0b1628385b70859ab0bda8937e68533e291300000000000004192e44596e8399aeb19c87725c47321d000500000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bac9b5a3917c675a483a2c1e160d0b080b0d171f2e3c4b5c6a7f94a7b8b6a5927d675237271502000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d00061a2c3d4958616e7e8b9d8c7b655b4d403228211a16141213171f2b394a5c70859ab0c5b59f8b75604b36200b0000000000000000000000091e3245566f849aafc4b49e8a859bb0bbaa947e69543d2d1a07000000011426364e64798ea4b5b49e8a859bb0c5b49e8975604b36200b000000000000000000000000000000000000111c3043546176879da9babdb49f8a79635746321e141a2b3c4c5e6b8096a2b4c4b4a296806b5e4c3c2b1a0a000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000010f1d3145566278889eaabbb8a69b86899eb3c2ad97826d58422d1800000000000000000000000000071c304354677d92a5b7b8a7937e695544311d0800000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26111010101010101010101010101010101010100e0c060000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000192f44596e8499aebea8937e69533e291400000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bac7b19b86715f4d3c2b1c0e02000000000004101e2e3e4b6175899eb3c3ae99836e5544311d08000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d00000f1f2c3a464c60697a877f695d4b3d301e160a0700000000040d1b2d3e556a7f94aabfbcab8c77624d37220d00000000000000000000000b21364b60758a9fb4c4ae99837e92a9bab19b86715b4a362108000000081c3043546b8096abc2ad97827f94aac5b9a88f7a654f3a2510000000000000000000000000000000000000001325364758647a8b9fb4bebaa89c8675614b4231202838495a667c8d9fb5c0b8a69a8473604b402f1e0e00000000000000000012273c51677c91a6bcbba5907b66503b261100000000000000000f2031414b6074859ba6b8bbaa9e8878889db3c2ad97826d58422d1800000000000000000000000000001325364b6074879db2c5b29d8774604b35201100000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5babaa9917c675241301e0e000000000000000000101e3246576a7f95aac4b39e8974604b36200b000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d0000010f1c2933424f5c647669614f3f2e1f1203000000000000000013283d52687d92a7bdc9a48f79644f3a240f000000000000000000000011263b50667b90a9bac4a9937e768a9fb4b5a38e79634e3626140100000b20354b6074889db2b7a6907b7a8fa7b8c6aa95806b553a2a17040000000000000000000000000000000000000818293a4a5c687e93a0b2c2b6a498826d604e3e2d3245566278899eabbcbcab9e88776255443122120000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000c1c2d3e4e5f6c8197a3b5bfb49f8c7b73889db3c2ad97826d58422d180000000000000000000000000000081d314455697e94a7b8b7a5927d6752402f1c09000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab49f8a76614b36211200000000000000000000031628394e63798ea6b7b9a88f7a65503a2510000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d000000000c171f323e4a5761574f433221110000000000000000000014293e54697e93a9bebaa58f7a65503a25100000000000000000000005182b3b566b8196abc7b7a68e796e8398aec1ab95806b5443301c08000316283850657b90a6b7b29d887374899eb3c5b09b85705847331f0a000000000000000000000000000000000000000c1c2d3e4e606d8298a4b6c2b2a0937e685c4a3a414b6074859ba7b9c0b49f8d7b655948372715040000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000818293a4a5c687d929fb1c1b2a1947f6a73889db3c2ad97826d58422d180000000000000000000000000000021527374b6176899eb3c3b19c86715e4c382310000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5baaf9a85705746321e0900000000000000000000000b21364a5b73889db3c6a9947e69543f2914000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d00000000000414202d39464b4639322414030000000000000000000c1a3040576d8297acc2c4a38e79634e39240e000000000000000000000b2034485971869cb1c6b39d8873667c91a7b8b29d8774604b35200b00091e3245566d8297adc1ab96806b6e8398aec3b49f8b76614c37210c0000000000000000000000000000000000000000102031424b6175869ca8b9beb49f8b7a6458474d5f6c8197a3b5c4b3a2957f6a5d4c3b2b1909000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000001325364758647a8a9fb4bdb6a499836e6173889db3c2ad97826d58422d18000000000000000000000000000000091e3246576b8095a9bab5a4907b66503e2e1b070000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5baab96816b56392816030000000000000000000000071a2d3d596f8499aec0ab96806b56412b16000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d00000000000002101b29323632291b14060000000000000000060f1c2a384d5e71869bb1c6b7a68c77624c37220d000000000000000000000d22374d62778ca4b5c2ad98826d6075899eb3b7a58f7a6550382816020b21364b6075899eb4b5a38e7963687e93a8c3bcab917c67513c2712000000000000000000000000000000000000000002141e32465763798a9eb4bdbaa99d877661545b677d929fb1c1b7a69a8472604b3f2f1d0d00000000000000000000000012273c51677c91a6bcbba5907b66503b261100000000000e1c3043546176879da9bab9a89c8676615e73889db3c2ad97826d58422d18000000000000000000000000000000031629394c61778a9fb4c2af9a84705c4a36220e0000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5baa9947f69543f2a1400000000000000000000000000182d42576d8297acc2ad98826d58432d18000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d00000000000000000b161e211e160b0000000000000001080f1a212d3a4756667c91a3b5c8b39d88735948341f0b0000000000000000000013253652687d92a7c2c2a7927d67566c8197acc3ac97826d5645321e09182a3a52677c91a8b9b19b86715b62788da5b6c9ac97826d573d2c1a06000000000000000000000000000000000000000003162939495b677d929fb1c1b7a59983726063798a9fb4bdbbaa9d88776154433021110000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000e1e2f404a60728399a5b6bdb49e8a7963575e73889db3c2ad97826d58422d1800000000000000000000000000000006192c3c4f64798ea9bac8b4a28f7a644f3c2c190600000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5baa8927d68533d281300000000000000000000000001162b40566b8095abc0af99846f5a442f1a000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d000000000000000000030a0c0a030000000000000608141c202c353d4a586175879db2c1c3ad98836e583b2a1805000000000000000000071c3043546d8398adc2b5a48c77624f657a8fa5b6b39e8975604b36210c1f3347586f8499aebbaa947e69545a72879db2c7b29d88725b4935210c0000000000000000000000000000000000000000000b1b2c3d4d5f6c8197a3b5c3b3a1947f6975869ca8babfb49f8c7b655947362614030000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000a1a2b3c4c5e6a7f95a1b3c0b09e917d675b4a5e73889db3c2ad97826d58422d180000000000000000000000000000000c2035495a6e8398adc7d1c0ae98836e5b4935210d00000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5baa8937e69533e291400000000000000000000000001172c41566c8196abc1ae98836e59432e19000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d000000000000000000000000000000000003090e19202630353d494e5b6376849aa5b7cab6a5917c67513c2712000000000000000000000b20354a6074889eb3c6b19c8671594b5d72879db2b9a8917c67523a2a1822374c61778b9fb4b49f8b77624c576c8197acc9b7a58d78634e38230e000000000000000000000000000000000000000000000f1f30414b6074859ba7b9bfb49f8c7a8298a4b6c3b3a1947f695d4b3a2a1808000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000003162838495a667c8d9fb5bfb4a296816c5f4d3d5e73889db3c2ad97826d58422d18000000000000000000000000000004182a3a4d62788b9fb4cadecab49f8c78634d3b2a1805000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5baaa95806a55402b1500000000000000000000000003172939586e8398adc1ac96816c57412c17000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d000000000000000000000000000000060a161e212b3536434b505b636d79879aa2b4c3beb29d8774604b35200b000000000000000000000f24394e64798ea6b8c7ab96816b563f556a8095aac1ae99846e5847331f2c3c53697e93aabbaf9a846f594851677c91abbcc3a8937e69533827150200000000000000000000000000000000000000000001131d3245566278899eb3bcbbaa9f8998a0b2c2b6a599836e614f3f2e1c0c00000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110002101e3245566278899eabbcb7a69a8473604b41485e73889db3c2ad97826d58422d1800000000000000000000000000000a1f3347586c8196aabbccc8ccbcab97816c5948341f0b000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5baad98826d583d2c1a0600000000000000000000000a1e33465770859bb0bfaa947f6a553f2a15000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d00000000000000000000000000060e19202832363c494d5460656e79828c9da5b4c0c1b2a0927d675544311d0800000000000000000003162839546a7f94a9c5baa9907b66503b4e63788da3b5b49f8b77614c372235495a70859bb0b9a8927d67523b4c61768b9fb4c4ae99846f5645311d090000000000000000000000000000000000000000000002152838495a667c919eb0c0baa89fa8b2bebaa99d8776614c433221100000000000000000000000000000000012273c51677c91a6bcbba5907b66503b261100102031424b6075859ba7b8bbaa9d887762554431485e73889db3c2ad97826d58422d1800000000000000000000000000031628394c61778a9fb4c5b8b3b8c5b49f8a77624c392917030000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29d88735b4935210d00000000000000000000000c21364c61768a9fb4c2a7927d67523d2812000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d0000000000000000000000020e19202c3538454b525a626a747b838c989faab6c3c0b4a398826e5f4d37261401000000000000000000091e3245576f859aafc4b49f8a76614b36495b70859bb0bbaa937e69533c2c384d63788da3b4b49e8976614b36475870859bb0c5b49e8975604b36200b00000000000000000000000000000000000000000000000a1a2c3c4c5e6b8096a2b4c4bab4bac6beb49f8b7a645846332514020000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110c1c2e3e4e606d8297a3b5beb49f8c7b6559483727485e73889db3c2ad97826d58422d1800000000000000000000000000091e3245576a8095a9bab8a79ea7b8baa995806b5746331e090000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab7a68e79634e3b2a18050000000000000000000a1a2e3e51667c91aabbb5a48c77624d37220d000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d0000000000000000000009151d2b353c494d5660676f78808790989fabb4bbc8bcb5a29b8576614c41301909000000000000000000000b21364b60768a9fb4c5af9a85705746323d54697e93aabbb09b85705b49353e556a7f95aac1ad98826d5746323a556b8095aac6b9a88f7a65503a25100000000000000000000000000000000000000000000000000e1e30404b6073849aa6b8cbc9cdc8b2a0937e685c4a3a291707000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611192a3a4a5c687e93a0b1c1b2a0937e695d4b3b2a33485e73889db3c2ad97826d58422d18000000000000000000000000011527374b6075889eb3bbaa9e899ea9bab39e8976614b3727150200000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bac4ac96816c5948341f140400000000000000081528384a5c6f849aafc8b19c8671594834200b000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d0000000000000000000e1927313c494d5a636b757d848c959da5aeb4bcc9c2b5ab9f968475615846332313000000000000000000000011263b50667b90a9bac5aa947f6a553928374c61778b9fb4b4a38d78634d384b5c72879cb2b7a6907b655039283a50657a8fa8b9c6aa95806b553a2a1804000000000000000000000000000000000000000000000000121d3144556277889eb3c8ddcebbaa98826d604e3e2d1c0c00000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b261426374759647a8b9fb4beb5a498826e604f3f2e1d33485e73889db3c2ad97826d58422d18000000000000000000000000081d314455697e93a7b8b49f8c7a8b9fb4b9a7947f695544311d0800000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bac9b49f8a77624c42321f170c05000000060d1826324556647a8fa2b3bbaa95806b563b2b1805000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d00000000000000000e1e2b37444b5a626d788189929a9fabb2b7c3cac2b6b1a49c8d80746157463a2917050000000000000000000005182b3b566b8196abc7b8a78f7a644f3a243447596f8499aec1aa95806a553e4f647a8fa5b6b39d8874604b3520364b6075899eb4c6b09b86715847331f0a000000000000000000000000000000000000000000000000011527374859697f94a9bed4cab49f8a77624d423120100000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b261d3144556177879da9bab9a89c8675614b4232211e33485e73889db3c2ad97826d58422d180000000000000000000000000b20354b6074879db2c0ad98836e8297abbcb29d8874604b36251300000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400000000000000192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bacdbaa999836e614f423329201815141619202b36434b6074859bb1c0b49f8b78634d38230e00000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d000000000000000e1e2c3c4955606b78828c969ea7afb5bcc9c8bbb4aea49c92867b6b60564639291b0b00000000000000000000000b2034485971869cb1c6b39e8974604b35202a3a52677c92a8b9b29d87725c4b556c8196acc2ab96806b5544311d3145566f8499afc4b59f8b77614c37220c0000000000000000000000000000000000000000000000000d1d3144556277889eb3c8ddcebbaa98836e604e3d2d1b0b00000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2630404b6073849aa5b7bcb39e89796357463224141e33485e73889db3c2ad97826d58422d180000000000000000000000091c2f4052677d92a5b7b4a28f7a64798c9fb5b7a6927d685443301c07000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e29140000000008120b1727375a6f8499afb09b86715b46311c060000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bad7c7b3a1937e69614c473a342b2b292b2c353c4854606c8197a3b5bbaa97826d5a4935200c00000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d0000000000000c1c2c3c495a6274808b989fabb3b8c5c9c3b6b2aa9f9990867d73655d4b4538291b0b0000000000000000000000000d22374d62778ca4b5c3ae98836e5443301c21364b6075899eb4b6a58f7a644f6074889eb3b5a48e79644e372615273854697e94a9c4bcab917c67523c271200000000000000000000000000000000000000000000000d1d2f404b6073849aa7b8ccc9cdc8b2a0937e685c4a39291603000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2c3d4c5e6b8095a2b4c0b09e917c665b49392816061e33485e73889db3c2ad97826d58422d1800000000000000000000000e23384c5e71869bb1c2af9a85705c6f8499aec1b19c8673604a352010000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e29140000000b19252d2933445570869bb0af9a846f5a452f1a050000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bad4cabfb49f8d7f6c61584d483b403e403c494d5a627281969fb1bfb49f8b78624d3c2c190600000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d000000000004182a3a495a637885959fa9b5bcc9c6bab4ada59c948b847b736860544b3f31271a0b0000000000000000000000000013253652687d92a7c2c3a8937e68533626141e3245576d8297adc3ac97816c56667b90a6b8b19c86715c4a36190e24394e63798ea6b7c9ac97826d573d2c1a0600000000000000000000000000000000000000000009192b3b4c5e6b8095a2b4c5b9b4b9c6beb49f8b7a645746321e13010000000000000000000000000000000012273c51677c91a6bcbba5907b66503b39495b667c8d9fb5c0b4a295806b5e4d3d2c1b0b001e33485e73889db3c2ad97826d58422d1800000000000000000000071b2d3e50657b90a3b5b6a4907b6651657b90a3b5b6a4907b66513f2e1b080000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e29140000081929374139464c6075899eb3ad98836e58432e19030000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bac3b7b2aeab9f93817669625957555455575a636b7883969fb0bdb3a1957f6a5a49351e0e0000000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d00000000000a1f3347586378889ba3b4bac7c3b7b2a89f978f877f776f6660544b43362f1d150a00000000000000000000000000071c3043546d8398adc2b6a58d78624d38230d16283950657b90a6b7b39e8975606d8398adbcab947f69543d2d1a0c21364a5b73889db3c8b29d88735b4935210c0000000000000000000000000000000000000000011426374859667c8d9fb5c0b9a89ea8b2bebaa99c8675614b42311f0f0000000000000000000000000000000012273c51677c91a6bcbba5907b66503b465763798a9eabbcb7a59a8473604b40301f0e00091e33485e73889db3c2ad97826d58422d18000000000000000000000d22364a5c6f849aafc2b19c8673604a5d71869bb0c2b09a85705d4b37220f0000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e2914000012253748545a5761677c91a7b8a8937e69533e2914000000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab7a59d99a1b49f97897f77706c6a696b6d7178808a99a1b0bdb5a5998372604b3c2c19000000000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d00000000091c2f404c6176879da6b5c1c3b7b2a59d948a827a726a6259504a4336302618110200000000000000000000000000000b20354a6074889eb3c7b29d87725a4935200c0b20354b6074889db2b8a7917c66768a9fb4b49f8b77624d37220f071a2d3d586d8298adc2b7a68e78634e39230e00000000000000000000000000000000000000000d1d3144556277899eabbcbbaa9e8998a0b2c2b6a498826d604e3d2d1b0b00000000000000000000000000000012273c51677c91a6bcbba5907b6650424b6175869ca8b9baa99d87776155443122120000091e33485e73889db3c2ad97826d58422d1800000000000000000006192c3c4f647a8ea2b4b8a6927d68544352677d92a5b7b4a28f7a644f3d2c1a0600000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e29140000182d4154666f73767d8a9eb4b19f8d78634d38230e000000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29d878499a2b1a79e948c8582807e8082868d959fa8b3bfb4a49c8776615443301e0e000000000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d000000000f23384c5e6e8399a5b7c4beb2a59d91877e766d655d544d483b3530251c1408000000000000000000000000000000000f24394f64798ea6b8c9ac97826c573c2c1906081c3043546b8096abc2ae98836e7d92a8baaf9a846f594834200b0012283d52677d92a7c2c4a9937e6954382815020000000000000000000000000000000000000d1d2f404b6073849aa7b8bfb49f8c7a8298a4b6c2b2a0927e685b4a39281603000000000000000000000000000012273c51677c91a6bcbba5907b66504f606e8298a4b5beb49f8b7a645947372614040000091e33485e73889db3c2ad97826d58422d180000000000000000000c2035495a6e8398adc0b39d8875604b364b6074879db2c0ae99836e5b4935210d00000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400001a30455a6f84888b929ea8aea297816c5a4935200c000000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29c8775849aa2b4b3ab9f9b97959395979ca4aab4bab8b3a29a867862584736261400000000000010253a50657a8fa5bab29c87725d47321d08000010253a50657a8fa5bab29c87725d47321d00000004182a3a50667b90a1b2c3bcafa098877c74696158504b3f37342b201c1308010000000000000000000000000000000003162839546a7f94a9c5bcab917c67513c271200011426364e64798ea4b5b49f8a76849aafbaa9927d68523b2b1905000d22374c62778ca4b5c4ae99846f5645321d09000000000000000000000000000000000009192b3b4c5e6b8095a2b4c3b3a1947f6975869ca9babeb49f8a79635746321e13010000000000000000000000000012273c51677c91a6bcbba5907b66505d697e93a0b2c1b1a0937e685c4a3a2a1909000000091e33485e73889db3c2ad97826d58422d18000000000000000004182a3a4d63788b9fb4baa8947f6a5645324455697f94a8b9b59f8c79634e3b2b1805000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400001d32485d72879da6a7b4ae9d948474604b3c2c1906000000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29c87727684939ea8b3b5b0acaaa9aaacb1b5c2b9b4a79e9384766259483a2a180800000000000010253a50657a8fa5aaaa9c87725d47321d08000010253a50657a8fa5bab29c87725d47321d0000000a1f3347586f8499afbfc0af9e9582766760554c463a372e2220180d0700000000000000000000000000000000000000091e3245576f859aafc4b49f8b76614c37210c00000821364a5c71869cb1baa9957f8d9fb4b49f8a76614b36210d00000b2034485971869cb1c6b49f8975604b36200b00000000000000000000000000000000011426374859667c8d9fb5c0b7a59983726063798a9fb4bebaa99c8675614b41311f0f0000000000000000000000000012273c51677c91a6bcbba5907b6659657b8c9fb4beb5a397826d604e3e2e1c0c00000000091e33485e73889db3c2ad97826d58422d1800000000000000000a1f3447596c8197aabbb49f8a76614c3828374c6176899eb3bcab97826d594834200b000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400001d32485d72879db2c4bfa9947f73605645321e0e00000000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29c8772616f7e8a979ea7aeb1b4bac7bab4b2ada89e97897e736158483b2b1c0c0000000000000010253a50657a8f9595959587725d47321d08000010253a50657a8fa5bab29c87725d47321d0000000c22374c61778b9fb5cab4a2957f6e61584b44373329231c110b050000000000000000000000000000000000000000000b21364b60768a9fb4c5b09b86705847331f0a0000071a2d3d546a7f94abbcb49f8a9fabbcad98836d5746331e0a000005182b3b566c8196abc8baa8907a65503b2510000000000000000000000000000000000d1d3144556277889eabbcbbaa9d877661545b687e92a0b2c2b6a498826d5f4e3d2c1b0a00000000000000000000000012273c51677c91a6bcbba5907b666277889daabbb8a79b8575604b423120100000000000091e33485e73889db3c2ad97826d58422d1800000000000000031628394c61778a9fb4bbaa96816c5847331e3346576b8096aabbb49f8b77624d3a2917040000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400001d32485d72879da9b0b4b39e887d675e4c39291703000000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29c87725d606878818991999c9fa9a3a99f9d9891898177696055463a2b1d0d00000000000000000d22384d62787f7f7f7f7f7e69533e291400000010253a50657a8fa5bab29c87725d47321d00000011263c51667b91abbcc8af9a8470614c463a31261f170b0800000000000000000000000000000000000000000000000011263b50667b90a9bac6aa95806b553a2a17040000000f22374d62778b9fb4bbaa9faabbb8a6907b66503929170300000011263b51667b90aabbc6ab95806b563a2a180400000000000000000000000000000d1d2f404b6073849aa6b8bfb49f8b7a6458474e606d8298a4b6c2b2a0927d685b4939281603000000000000000000000012273c51677c91a6bcbba5907b6673849aa6b7bcab9e8978625645322414020000000000091e33485e73889db3c2ad97826d58422d1800000000000000091e3246576a8095a9bab49f8b78624d3a2a1729394d62788b9fb4baa996806b5846331f0a0000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400001d32485d728791949aa2b1a69e917c665746331e0a000000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29c87725d4e5a626c757c8387898c8e8c8a87827c756c61584b4437291b0d0000000000000000000b2035485a626a6a6a6a6a69604f3b261200000010253a50657a8fa5bab29c87725d47321d000000152b40556a8095aac9bbaa907b66514333291d1409040000000000020b111414110b0200000000000000000000000005192b3b566c8196abc7baa88f7a65503a2510000000000b203448596f849aafc7bbb4bbc8b39e8874604b35200b000000000c21364b61768a9fb4c6b09b86715947341f0a0000000000000000000000000009192b3b4c5e6b8095a2b4c3b3a1947e695c4b3a424b6175869ca8b9beb49f8a79635745321e13010000000000000000000012273c51677c91a6bcbba5907b6b8096a2b4bfb59f8d7c665a4938281606000000000000091e33485e73889db3c2ad97826d58422d18000000000000011527374b6175899eb3c0ae98836e5a49351c0c2034485a6d8298adc0b39e8976614c3828150200000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e2914000010253a50657b7c7f85979fb1b39e8976614b36210c000000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29c87725d3c484d5660676e717577797774726d6660564c473a3127190b0000000000000000000005192b3c484d5555555555534f42321f0c00000010253a50657a8fa5bab29c87725d47321d000002172c42576c8197acc1b49f8a76604b3621170b0100000000000006141f262929261f140000000000000000000000000b2034485971869cb1c6b49f8975604b36200b0000000005192b3b53687d92a9bacdcacec2ab96816c5544311d0800000000091e32465770859aafc5b59f8b77614c37220c000000000000000000000000011426374859657b8d9fb5c0b6a599836e614f3e2e32465763798a9eb4bdbaa89c8675604b41301f0f0000000000000000000012273c51677c91a6bcbba5907b7d919eb0c0b3a1957f6a5e4c3c2b1a0a00000000000000091e33485e73889db3c2ad97826d58422d18000000000000081d314455697e93a7b8b4a28f7a644f3c2c1905192b3c4f64798ea2b4b9a8947f6a5645321d0800000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400000e23374b5d65676a738197aab8a7917c66513c2711000000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29c87725d473538454b52595460626361585d58514b4538332a1d15090000000000000000000000000e1e2b353840404040403e3b3224140200000010253a50657a8fa5bab29c87725d47321d000003182e43586d8398adc2b39d88735645321e0900000000000000021424313b3e3e3b311c1308000000000000000000000d22374d62778ca4b6c4af99846f5645311d0900000000000d21364c61768a9fb4c9decab6a48e79644f372715010000000003162839556a7f94aac5bcab927c67523d27120000000000000000000000000d1d3144556277889eabbcbaa99d8776614c4332202839495b677d929fb1c2b5a497826d5f4d3d2c1a0a00000000000000000012273c51677c91a6bcbea9947e8a9eb4bcb6a5998372604a402f1e0e0000000000000000091e33485e73889db3c2ad97826d58422d180000000000000b20354b6074879db2c2b09a85705c4a361e0e000d22364a5c6f849aafc2b39d8875604b36261401000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e29140000081c2e3f4b50515462778b9fb4ac97826c57422d17020000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29c87725d47322832363c36434a4c4e4c473a433c3632281f180c0100000000000000000000000000000e1920222a2a2a2a2a29261f14060000000010253a50657a8fa5bab29c87725d47321d000002172d42576c8297acc1b39d88735746331e0c0000000000000a151d31424e53534e423025180a00000000000000000013253652687d92a7c2c4a9947e69543827150200000000000a1e3346576e8398adc5d5c9b19c86715c4a3619090000000000000f243a4f647a8fa7b9c9ad97826d583d2d1a07000000000000000000000d1d2f404b6073849aa6b8beb49f8b7a6458463324141b2c3d4d5f6d8197a4b5c2b19f927d675b4938281602000000000000000012273c51677c91a6bcc9b49f8a9ea8b9baa99d8776615443302212000000000000000000091e33485e73889db3c2ad97826d58422d180000000000091c2f4052677d92a5b7b6a4917c66513e2e1b0000071b2d3e51667b90a4b6b7a6927d685443301c08000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400000011212e373a36475971869cb1ae99846f59442f1a040000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29c87725d4732151d2027253035373937332a2d26211e160a040000000000000000000000000000000000050b0d151a1e1d1814120c02000000000010253a50657a8fa5bab29c87725d47321d000000152b40556a8095aabfb59f8b76614b3a291b110b090b0d101a2832424e606969604a4336271a0b00000000000000071c3043546e8398adc3b7a68e79634e39240e0000000000000317293951667b91a7b8ccbcab947f6a543e2d1b000000000000000b20354b6074899eb3c8b29d88735b4a36210c00000000000000000009192b3b4c5e6b8095a2b4c3b2a0937e695c4a3a2917060f1f31414b6075869ca8b9bdb49e8a79635645321e13000000000000000012273c51677c91a6bccdbaa99fa9b9bdb49f8b7a64584736251304000000000000000000091e33485e73889db3c2ad97826d58422d1800000000000f23384c5e71869cb1c3b19c8673604a3520100000001020354a6073869cb1c4b19c8773604b352011000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400000003111c23252a3b5a6f859aafb09b85705b46301b060000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29c87725d47321d090b12131c202224221f1818110b090200000000000000000000000000000000000002101b22252f33322d221f180c000000000010253a50657a8fa5bab29c87725d47321d00000013283d53687d92a8c1bcab927d685846392e24201d2022242e38454b60697e7e6b60544538291b0b0000000000000b20354a6074889eb3c8b39d88735b4a36210c000000000000000b20364b6074889eb3c8b59f8c78624d38221000000000000000081d3144556e8399aec3b7a68e79634e39230e0000000000000000011426374859657b8d9fb4c0b6a598836e604f3e2d1c0c0001131e32455663798a9eb4bdb9a89c8674604b41301e0e0000000000000012273c51677c91a6bcd7c7bab4bac1b19f927d685c4a3a29180800000000000000000000091e33485e73889db3c2ad97826d58422d1800000000071b2d3e50667b90a4b5b8a6937d685443301c07000000071c304354687d92a6b8b6a4917c66513f2e1c080000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e29140000000000080e192f44596e8499aeb19c87715c47321c070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29c87725d47321d08000000070b0d0e0c0a04000000000000000000000000000000000000000000000513202e373a4448474237342a1d0d0000000010253a50657a8fa5bab29c87725d47321d0000000d23384d62788da3b5c9b29d877661574b3f39363235373a3f4b56606b7e8d9380726056463a29170400000000000f24394f64798ea7b8c2ad98826d583d2d1a0700000000000000081d3144556c8196acc3af9a85705a4835200b000000000000000114263753687e93a8c3c4a9947e695438281502000000000000000d1d3144556277889eabbcbaa99c8776614c4232201000000003162838495b677d929fb1c1b5a497816c5f4d3c2c1a0a00000000000012273c51677c91a6bcd1d7cdc9c5b5a397816c5f4e3e2d1c0c0000000000000000000000091e33485e73889db3c2ad97826d58422d18000000000d22364a5c6f849aafc2b39e8875604b36251300000000001325364b6075889db3c2b09b85705d4b37230f0000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29c87725d47321d0800000000000000000000000000000000000000000000000000000000000000001323303e4b4f595e5d574c473b2b1d0d00000010253a50657a8fa5bab29c87725d47321d0000000b2035485a70859bb0c1b7a59a8475655d534e4b454b4c4f545d6574808d9f9e968274615846331f0a0000000003162839546a7f94a9c5c2a7927d67523d28120000000000000000021527374f647a8fa5b6a9927d68533c2b190500000000000000000e23384d63788da5b7c4af99846f5645321d090000000000000d1d2f3f4b6073849aa6b8beb49f8b7a64574633241402000000000a1a2c3d4d5f6c8197a3b5c2b19f927d675b4938281502000000000012273c51677c91a6bcd1ead9c8b8a79b8574604b41312010000000000000000000000000091e33485e73889db3c2ad97826d58422d1800000006192c3c4f647a8ea2b4baa8947f6a56453218080000000000081d3245566a7f94a8bab4a38f7a654f3d2d1a0700000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29c87725d47321d08000000000000000000000000000000000000000000000000000000000000000d1d30414d5c646f73726d6159483b2b1905000010253a50657a8fa5bab29c87725d47321d00000006192b3c53687d93a3b5c3b4a29a867b706964605660626469717a86959fabb0a0988476614c36210c00000000091e32465770859aafc5b6a48c77624d37220d0000000000000000000922374b5c72879cb29f8a76614c36210e0000000000000000000c2035495a72879db2c7b49f8a75604b36200b000000000009192b3b4c5d6b8095a2b4c2b2a0937e685c4a392917060000000000000e1f30414b6074859ba8b9bdb49e8a79635645321d12000000000012273c51677c91a6bcd1e2cebbaa9e897862564531231302000000000000000000000000091e33485e73889db3c2ad97826d58422d180000000c2035495a6e8398aec0b49f8a77614c382816000000000000021528384c61778a9fb4c1ae99846f5b4a36210d00000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29c87725d47321d0800000000000000000000000000000000000000000000000000000000000005182b3b4d5f677a8488878277625948342009000010253a50657a8fa5bab29c87725d47321d000000000e20354b6073859ba9bac0b4a49c90857e79757475777a7f868f9ca4b5bcbeb2a095806b56402b16010000000c21364b61768a9fb4c6b19c8671594834200b000000000000000000081b2e3e556a8095aa98836e5846331f0a00000000000000000006192c3c576c8297acc9baa9907b65503b251000000000011426374859657b8d9fb4c0b6a498826d604e3e2d1b0b0000000000000000131d3245566378899eb3bdb9a89b8574604b41301e0e0000000012273c51677c91a6bcd1cfbfb49f8c7b655a483827150500000000000000000000000000091e33485e73889db3c2ad97826d58422d18000004182a3b4d63788c9fb4bcab96816c5847331a0a000000000000000a1f3347586c8197abbcb59f8c79634e3c2b1905000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29c87725d47321d080000000000000000000000000000000000000000000000000000000000000b20344859677d8c999d9c978878624d372614010010253a50657a8fa5bab29c87725d47321d00000000081c304354647a8b9faab9c2b6b1a39b938e8b898a8c8f949ca4b1b5c2bbb4a1988273604b35200b0000000011263b51667b90a9bac8ab96816c563b2b1805000000000000000000001023384d63788da3917b66513a2917040000000000000000000012273c51677c91abbcc7ab96806b563b2a1805000000081d3144556277889eabbcbaa99c8675614b4231201000000000000000000002152838495a677c919fb0c1b5a397816c5f4d3c2c1a0a00000012273c51677c91a6bcd3c3b3a1947f6a5d4b3c2b1a0a0000000000000000000000000000091e33485e73889db3c2ad97826d58422d1800000b1f3447596c8197abbcb49f8c78634d3a2a17000000000000000004172a3a4d63788c9fb4bcab98826d5a4834200c000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29c87725d47321d080000000000000000000000000000000000000000000000000000000000000d22374d6277899eabb3b2a699836e5544311d080010253a50657a8fa5bab29c87725d47321d00000000011426364a5c667c8c9ea8b4c0c1b5b0a8a3a89e9faaa4a9b1b6c2c1b4aa9f958373605544311d0800000005192b3c566c8196abc7bbaa907b66513b261100000000000000000000000c2035495a70859b8874604b36200b00000000000000000000000c21374c61768b9fb4bdb19b86715947341f0b0000091c2f3f4b6073849aa6b8beb49f8a7963574632241402000000000000000000000a1a2c3c4d5f6c8196a3b5c1b19f917d675a4938271502000012273c51677c91a6bcc6b6a4998372604a3f2f1d0d000000000000000000000000000000091e33485e73889db3bdad97826d58422d1800031628394c61778a9fb4c0ae98836e5a49351c0c0000000000000000000c2035495a6e8399aec1b49f8b78624d3a2917040012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000004192e44596e8399aebea8937e69533e291400000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29c87725d47321d0800000000000000000000000000000000000000000000000000000000000012273d52677d92a8b9c9c4b49f8974604b35200b0010253a50657a8fa5bab29c87725d47321d000000000008182d3e4c5e667c8a9aa2b0b4c0c4bec6b9b4b4bbc8bec9bcb4afa39b8b8074605544372715010000000b2034485a71879ca8a8a89f8a76614b36210c000000000000000000000006192c3c53697e93816c5544311d0800000000000000000000000a1f33475871869ba8a8a89f8b77624c37220d00000e23384c5d6a8095a2a8a8a8a0927e685b4a392916060000000000000000000000000e1e30404b6074859ba7a8a8a89e8978625645311d09000012273c51677c91a6a8a8a89c867661544330211100000000000000000000000000000000091e33485e73889da8a8a897826d58422d1800091e3246576b8095a9aaaaa28f7a644f3c2c190000000000000000000006192c3c4f657a8fa3aaaaaa96816b5847331f0a0012273c51677c91a6a8a8a5907b66503b26110000000000000000000000000000000000000000000000000012273c51677c91a6a8a8a5907b66503b26110000000000000000000004192e44596e8399aaaaa8937e69533e291400000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29c87725d47321d08000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9c2d2cbb8a68c77614c37220c0010253a50657a8fa5bab29c87725d47321d00000000000010202f404d5e667884919aa2aaafb3b9c5b9bac5b9b3b0ab9f9a9285796b60564537271909000000000d22384d62788d939393939384705746321e0a0000000000000000000000000e22374c61778a7a644f37271502000000000000000000000004172a3a566b809393939393927c67523d2712000010263b50657b8b939393939393826d604e3d2d1b0b0000000000000000000000000000121d3145566278899393939393938675604b36200b000012273c51677d91939393938a796357463625130300000000000000000000000000000000091e33485e73889393939393826d58422d18000c21364b617689959595959584705c4b371e0e00000000000000000000000e22374b5d708595959595958976614c37210c0012273c51677c9193939393907b66503b26110000000000000000000000000000000000000000000000000012273c51677c9193939393907b66503b26110000000000000000000004192e44596e8395959595937e69533e291400000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29c87725d47321d0800000000000000000000000000000000000000000000000000000000000011263b51667b90a4b5c2beb39d88735947341f0a0010253a50657a8fa5bab29c87725d47321d00000000000002122230404d5a62727c858e94999ea7a2a4a4a3a79e9a938b847d73635b4b453827190900000000000d22384d62787e7d7d7d7d7d7b654f392916030000000000000000000000000a1f3347586b816b5c4b371909000000000000000000000000000e23384d63787e7d7d7d7d7e7b644f3a250f000011273c51667c7e7d7d7d7d7d7e75614b42311f0f00000000000000000000000000000002152738485a647a7d7d7d7d7d7d7e78634d38230e00000d23384d62787e7d7d7d7d7b655b4a3929180800000000000000000000000000000000000012283d52677d7d7d7d7d7d7a65503a2510000e23394e63797f7f7f7f7f7f7a644f3e2e1b000000000000000000000000081b2e3f4f647a7f7f7f7f7f7f79634e39240e000d23384d62787e7d7d7d7d7e78624d38220d000000000000000000000000000000000000000000000000000d23384d62787e7d7d7d7d7e78624d38220d000000000000000000000012273c52677d7f7f7f7f7f7a644f3a240f00000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5bab29c87725d47321d080000000000000000000000000000000000000000000000000000000000000b20364b6074869ca4acaba0947f6a553a2a18040010253a50657b8fa5a5a59c87725d47321d00000000000000041222303c4954606770797f84898c8d8f8f8e8c89857e776f6760544a3d31271a0a0000000000000b2035485a62686868686868655d4b371b0b0000000000000000000000000004182a3a4b6075604b3e2e1b00000000000000000000000000000c2035495a63686868686868645c4b37220d00000f24394d5e666868686868686861574632241301000000000000000000000000000000000a1a2b3c4b5c6468686868686868635a4935200c00000c2035495a626868686868655d4b3d2d1b0b0000000000000000000000000000000000000010253a4d5f676868686868655d4b37230e000c2135495b636a6a6a6a6a6a645c4a362010000000000000000000000000001022374b5c646a6a6a6a6a6a635b4a36210c000c2035495a62686868686868625a4834200b000000000000000000000000000000000000000000000000000c2035495a62686868686868625a4834200b00000000000000000000001025394d5f676a6a6a6a6a645c4a36220d00000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8fa5a5a59c87725d47321d08000000000000000000000000000000000000000000000000000000000000091d314556637986929796908273604b36200c000010253a50657b8f8f8f8f8f87725d47321d000000000000000004121e2c36434a525c646a6f7476787a7a79777470696259524b43362d1d150a0000000000000005192b3c484d5353535353534f4b3f2e1b0000000000000000000000000000000c1d314556605645312010000000000000000000000000000006192c3c494d5353535353534f4b3e2e1b080000091d30404d51535353535353534b46392816060000000000000000000000000000000000000e1e2e3e4b4f535353535353534d493c2c1906000006192c3c494d53535353534f4b3f2e1f0f00000000000000000000000000000000000000000a1e31414d525353535353504b3f2e1c0800061a2c3d494e5555555555554f4a3e2e1b0200000000000000000000000000081b2e3e4b4f5555555555554e4a3d2d1a070006192c3c494d5353535353534d483c2b19050000000000000000000000000000000000000000000000000006192c3c494d5353535353534d483c2b190500000000000000000000000a1d30414d5255555555554f4a3e2d1b0700000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e0010253a50657a8f8f8f8f8f87725d47321d0800000000000000000000000000000000000000000000000000000000000002152738495b63747d81807b6e605544311d0800000c21364c61767a7a7a7a7a7a644f3a240f000000000000000000000e182530353d4a4e555460616364656362595b544c483b353026180f020000000000000000000e1e2b35383e3e3e3e3e3e3a372e211000000000000000000000000000000002152738454b45382715020000000000000000000000000000000e1e2c35383e3e3e3e3e3e3a372e201000000000122230393c3e3e3e3e3e3e3e3632281b0b000000000000000000000000000000000000000010202e373a3e3e3e3e3e3e3e38352c1e0e000000000e1e2c35383e3e3e3e3e3a372e2110010000000000000000000000000000000000000000011323313a3d3e3e3e3e3e3a372e21110000000f1f2c35394040404040403a362e201000000000000000000000000000000010202e373a40404040404039362d1f0f0000000e1e2c35383e3e3e3e3e3e38342b1d0d0000000000000000000000000000000000000000000000000000000e1e2c35383e3e3e3e3e3e38342b1d0d00000000000000000000000001132330393c40404040403a362d20100000000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e000c21364c61767a7a7a7a7a7a644f3a240f00000000000000000000000000000000000000000000000000000000000000000a1a2c3d495660686c6b665e4b443727150200000a1f334658616565656565645c4a36220d000000000000000000000008131c202d363936434a4c4d4f4f4e4d483b3e37342b201c14080000000000000000000000000e19202228282828282825221b1002000000000000000000000000000000000a1a27313631271a0a00000000000000000000000000000000000e19202328282828282825221b10020000000004121d242728282828282828211e160b00000000000000000000000000000000000000000002101b2224282828282828282320190e0000000000000e192023282828282825221b10030000000000000000000000000000000000000000000005131e2528282828282825231c1103000000010f1a21232a2a2a2a2a2a24221b100200000000000000000000000000000002101b22252a2a2a2a2a2a24211a0f01000000000e1920232828282828282220190d00000000000000000000000000000000000000000000000000000000000e1920232828282828282220190d000000000000000000000000000005131d25272a2a2a2a2a24221b10020000000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a9b8a28d78634d38230e000a1f334658616565656565645c4a36220d0000000000000000000000000000000000000000000000000000000000000000000f1f2c38454b535756504c40312719090000000417293a464c50505050504f4a3e2e1b0700000000000000000000000000070f1a212425303537383a3a3937342b292220180d08010000000000000000000000000000050b0d131313131313100e08000000000000000000000000000000000000000a151d201d150a00000000000000000000000000000000000000060c0e1313131313130f0d080000000000000000090f11131313131313130c0903000000000000000000000000000000000000000000000000070d0f131313131313130e0c060000000000000000060c0d1313131313100e0800000000000000000000000000000000000000000000000000010a10121313131313100e0800000000000000060c0e1515151515150f0d0700000000000000000000000000000000000000080d0f1515151515150e0c0700000000000000060c0d1313131313130d0b0500000000000000000000000000000000000000000000000000000000000000060c0d1313131313130d0b0500000000000000000000000000000000010a1012151c1f1b150f0d0700000000000000000004192e44596e8399aeb19c87725c47321d070000000000000000152a3f546a7f94a8a8a28d78634d38230e000417293a464c50505050504f4a3e2e1b07000000000000000000000000000000000000000000000000000000000000000000010f1a2832363d42413b382f1d150900000000000b1b2933363a3a3a3a3a3a362e201000000000000000000000000000000000070d0f131c202123252524222018140d0b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090b09020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151d202a31343028261e1306000000000000000004192e44596e8399aeb19c87725c47321d000000000000000000152a3f546a7f939393938d78634d38230e00000b1b2933363a3a3a3a3a3a362e20100000000000000000000000000000000000000000000000000000000000000000000000000a161e21282c2b26231c1202000000000000000b171f21252525252524221b10020000000000000000000000000000000000000000070b0c0e0f100e0d0b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a10122020202020200f0d07000000000000000000000000000000000000000001080b172020202020202020190b090200000000000000000000000000000000000000000000050b0d20202020202012100a01000000000000000000000000000000000000000000000a1012202020202020110f0900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009192731363f4649463d3a312417090000000000000004192e44596e8399aeb29c87725d36261411110f0d07000000000f24394e647a7e7d7d7d7e76614c36210c0000000b171f21252525252524221b10020000000000000000000000000000000000000000000000000000000000000000000000000002090b131716110f0900000000000000000000040a0c10101010100f0d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007111719202020201f0c090300000000000000070d0f202020202013110b02000000000000000000000000000000000000000000000004121d242735353535353524221b1002000000000000000000000000000000000008141c202c35353535353535352e211e160a00000000000000000000000000000000000000000d18203535353535353527251e13050000000000000000000000000000000000000004121d242735353535353526231c110300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009192737444b555b5e5b534e423527170300000000000003182e43586d8398adb39e887354433027262624211a0f0100000d21364a5c646868686868615746331e0a00000000040a0c10101010100f0d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0b0b0b0b0600000000000000000000000000000000000000000000000000030a0c1113151614110d0b0500000000000000000000000000000000000000000a18242b2e3535353534211e160b0000000002101b2224353535353528261f140600000000000000000000000000000000000000000000122230393c4a4a4a4a4a4a39362d2010000000000000000000000000000000000a18263035414a4a4a4a4a4a4a4a443632281a0a0000000000000000000000000000000000000d1d2b344a4a4a4a4a4a4a3d3930231301000000000000000000000000000000000000122230393c4a4a4a4a4a4a3b382f22110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011527374455606a7174706860524535211100000000000002172d42576c8297acb49f8a74604b3a3c3c3c39362d1f0f0000071a2d3e4a4e53535353534c4639291703000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c1215161819171614100b0802000000000000000000000000000000000000000000000000000000000000000000070b1b20202020201c0b08010000000000000000000000000000000000000001080b171e2126282b2b29272220180d0903000000000000000000000000000000000718283640434a4a4a4a4a3632281b0b00000010202d36394a4a4a4a4a3e3a3124140200000000000000000000000000000000000000000a1d30404d516060606060604f4a3e2d1b0700000000000000000000000000000c1a2836434b576060606060606060594b45382816020000000000000000000000000000000005182b3b485e606060606060524d41301e0a00000000000000000000000000000000000a1d30404d51606060606060504c402f1c0900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081d31445560747f8689857d6c63523f2e1c08000000000000152a40556a7f95aabbaa907b6558535151514e4a3d2d1a0700000f202d36393e3e3e3e3e3633291b0b000000000000080e1020202020201d1b140b000000000000000000000000030c1215202020202017140e0500000000000000000000000000080e1020202020201d1a140a0000000000000000000000000000000000000000000000000000040a0c171f21272a2c2d2e2d2b2925201d150b08010000000000000000000000000000000000000000000000000000000008131c2030353535353531201d1409000000000000000000000000000000000008141c202933363b3e40403e3c37342b211e160a000000000000000000000000000000112436465359606060605f4b463928160300071b2d3e4a4f6060606060534e42311f0b00000000000000000000000000000000000000001024394d5f67757575757575705c4a36220d000000000000000000000000000d1c29384554606c75757575757575756e605645321e09000000000000000000000000000000000b2034485970757575757575675f4d39251000000000000000000000000000000000001024394d5f67757575757575665e4c38230f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354b607384949b9e9b92816c5d4b37230e00000000000011273c51667c91aabbb09a84766b68666666645c4a36210d0000010f1a21242828282828211e170b000000000003111c23253535353535322f281c0e00000000000000000000071520272a35353535352c292216080000000000000000000003111c23253535353535322f271c0e0000000000000000000000000000000000000000000000050c181f222a33373c3f41434442403e3a363127201d140901000000000000000000000000000000000000000000000000000818253035454a4a4a4a4a463531261909000000000000000000000000000000111826303539464c5153555553514c483b3632281a130300000000000000000000000002172b4053646e7575757574615746321e09000d22364a5c70757575757568604e3a260b000000000000000000000000000000000000000012273c51677c8a8a8a8a8a8a7a644f39240f0000000000000000000000010f1d2b3a46566072818a8a8a8a8a8a8a8a8375604b36210b000000000000000000000000000000000d22374d62778a8a8a8a8a8a7d67523d2712000000000000000000000000000000000012273c51677c8a8a8a8a8a8a7b66503b261100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f556a7f94a2b0b3b09f8f7b65503a25100000000000000c22374c61778b9fb4b4a29a87807e7c7b7c7a644e39240f00000000070d0f13131313130c0a0300000000000011212e373a4a4a4a4a4a47443a2c1c0b0000000000000000031525323c3f4a4a4a4a4a413e3426160500000000000000000011212f383b4a4a4a4a4a47433a2c1c0a0000000000000000000000000000000000000000000d181f2a33373a474c5154565859575554504b44373531261d1409000000000000000000000000000000000000000000000000132536434a5b60606060605b4b443726140100000000000000000000000008131c2f36434b52576166686a6b69666259544b4538311e160a000000000000000000000004192e43596e838a8a8a8a8b75614b36210c000f24394f647a8a8a8a8a8a7e6853392816030000000000000000000000000000000000000012273c51677c919f9f9f9f8e79644f39240f0000000000000000000003101f2c3b4858617482969f9f9f9f9f9d958173605645321e09000000000000000000000000000000000d22374d62778c9f9f9f9f927c67523d2712000000000000000000000000000000000012273c51677c919f9f9f9f907b66503b2611000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061b31465b70859bb0c0c9bdab96806b56412b160000000000000a1f3347586f8499aabbb4a59d9693919191816c57422c170000000000000000000000000000000000000000081c2e3f4b5060606060605d574a3a281400000000000000000c2032434f54606060606056514434220e0000000000000000081c2f3f4b5060606060605c574a3a27140000000000000000000000000000000000000004111d2a343a474c555861676a6b6d6e6c6b69656055524b44373126190d00000000000000000000000000000000000000000000071c3043546070757575757571605544311d0e000000000000000000000009182530404c5460676f767b7d80807e7c77706960564e4132281a0c000000000000000000000012283d52677d92aa9fa9917c6651362614010b20354a6074889d9f9f99846f5746321e090000000000000000000000000000000000000012273c51677c91a6b5b5a48e79644f39240f0000000000000000000412212e3d495962768498a0b1bdbaaa9f937f6c60554538281602000000000000000000000000000000000d22374d62778ca2b5b5a7927c67523d2712000000000000000000000000000000000012273c51677c91a6b5b5a5907b66503b2611000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081e33485d73889db2c8d6c6ad98836d58432e1800000000000004182a3a4e63798b9fabb6b7b2aba8a6a697816c57422c1700000000000000000000000000000000000000000e23374b5d657575757575726857442f1b060000000000000012273c4f616a75757575756c62513e291400000000000000000e23384b5d657575757575726857432f1a0500000000000000000000000000000000000715222f3b474c58616a71777c7f81828382807e7a756f6760554b44372a1d100200000000000000000000000000000000000000000b20354a6074858a8a8a8a8a8573604b3c2b190600000000000000000009192736434a5e66737d848a9093959593918b857e75685f4b45382a1c0c000000000000000000000c21374c61768b9fb4ad97826d5443301c08071c3043546c8197acb49f8a76614b36210c0000000000000000000000000000000000000012273c51677c91a6bcb9a48e79644f39240f0000000000000000061422303f4b5b6378869aa2b2bfb8a99f8c7e6a614b4437281a0a00000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afbbc6b9a8947f6a543f2a15000000000000000c21364a5b687e8d9ca4aaaeafb0b0ac97816c57422c17000000000000000000000000000000000000000010253a50657a8a8a8a8a8a87725d47321d0800000000000000152a3f546a7f8a8a8a8a8a806c56412c17000000000000000010253b50657b8a8a8a8a8a86725c47321d070000000000000000000000000000000007152533404c59626b777f868b91949698999795938f89847d73686055483b2e21100100000000000000000000000000000000000000071c30435463798b9f9f9fa3947f695a483520130000000000000000011527374454606b7b8692999fa9a8aaaaa8ab9f9b93877d6e6056473a2a19090000000000000000000a1f3347586f859aafb39e8874604b35200b0013253650667b90a8b9a9917c66513626140100000000000000000000000000000000000012273c51677c91a6bcb9a48e79644f39240f0000000000000001152431404d5d6579879ca4b4c0b7a79e8b7c686050433126190a0000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010263b50657b909faaada89e8978624d37220d00000000000000071a2d3d4e60687c868f95989a9b9b9b97816c57422c17000000000000000000000000000000000000000010253a50657a8f9f9f9f9c87725d47321d0800000000000000152a3f546a7f949f9f9f96816c56412c17000000000000000010253b50657a909f9f9f9c87725c47321d070000000000000000000000000000000515253343505e6677818a959b9faba9abadaeacaaa9a89e9992877d7362594b3f2e1f0f0000000000000000000000000000000000000000132536495b6a8095a4b6b49f8a78624d41301c0c000000000000000b1d314455607280909ca4afb4bac7bcb5bcbcb5b0a69d92827461584737271501000000000000000004172a3a54697e93a9b8a68f7a644f3a250f000b20364b6075899eb3ad97826d5443301c0800000000000000000000000000000000000012273c51677c91a6bcb9a48e79644f39240f00000000000009151d33424e5e667b899da5b5c2b5a59d897b665e4e42331d1409000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e23384c5e697f8b949794897c66594834200b00000000000000000f1f31424e5e66737a808385868686867f6a543f2a15000000000000000000000000000000000000000010253a50657a8fa5b5b29c87725d47321d0800000000000000152a3f546a7f94a9b5ab96816c56412c17000000000000000010253b50657a90a5b5b19c87725c47321d070000000000000000000000000000001323334350626a7c89969fa8b0b4bcc9bab8b7b9bbc6b9b4aea49c928477655d4b3d2d1d0d0000000000000000000000000000000000000008182c3d4b6074869cabbaa899846f5f4d3a2a170400000000000b1b31424b607383959eb1b5b5b1a8a2ab9faba7afb4b7b2a0988576615544311d0f0000000000000000000d22384d62788da3b5ab95806b563c2c1906091d3145566e8398adb39e8874604b35200b00000000000000000000000000000000000012273c51677c91a6bcb9a48e79644f39240f00000000000a192731445060687c8b9ea7b7c0b4a49c8779645c4c403124150100000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b261100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091c2f404f6169797f827e78665e4c3b2b1905000000000000000001132431404c5560656a6e6f717171716a614f3c2713000000000000000000000000000000000000000010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c17000000000000000010253b50657a90a5bab19c87725c47321d0700000000000000000000000000000e1e314150626a808d9ea7b4babab4aea9a5a3a2a4a6aab0b5c1b6b2a29a887b655b4a3b2b1805000000000000000000000000000000000000000f1d324556657b8d9fb5b3a1927d675847331f11000000000417293a4e606c8197a1b0bab4a49c938d8b8a8d929aa2b3b8b2a39a8473604b3d2d1a0700000000000000000b2035485a71869bb1b19c86715b4935210c0215273852677c92aab8a68f7a644f3a250f00000000000000000000000000000000000012273c51677c91a6bcb9a48e79644f39240f000000000c1b2837444b626a7e8d9fa9b8beb2a29a8677635b4b3e2f2213060000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000112132434f5b636a6d69625a4c40301d0d000000000000000000000613222f37444b5055595a5b5b5b5b544f4332200d000000000000000000000000000000000000000010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c17000000000000000010253b50657a90a5bab19c87725c47321d070000000000000000000000000006192c3c4e606a80959fabb8bab4a99f9993908e8d8e90959ba3afb4c0b4a69d8a7963594834201100000000000000000000000000000000000000021528384b5d6d8297a6b8b39e8876614c3f2e1a0a0000000a1f334658687d929fb1baa99f93867e787575777d84909ea6b7b4a296816c5b4a36210e000000000000000005192b3c556a8095aab6a48d78634d38230e000c21364c61768a9fb4ab95806b563c2c1906000000000000000000000000000000000012273c51677c91a6bcb9a48e79644f39240f0000000e1c2a394555606d80939fabbabdb0a09884766259493d2e201204000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000031425323d4a4e5558544d483c3022120000000000000000000000000412192631353a404345464646463f3c32251503000000000000000000000000000000000000000010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c17000000000000000010253b50657a90a5bab19c87725c47321d07000000000000000000000000000c2135495b687d929eb5bcb7a99f968a847e7a7978797b80868f9aa2b4bcb7a89d8777624c3f2f1c08000000000000000000000000000000000000000a1a2e3f4c6176889db3b8a697826d5d4b3828160200011527374c6176899eb3baa89f8b7e736963606062676f7c889da5b7b49f8c79634e3c2c190600000000000000000f24394e64798ea5b7a9947e69543a2a17040a1f3346586f849aafb19c86715b4935210c060606060603010000000000000000000012273c51677c91a6bcb9a48e79644f39240f00010f1e2b3a4757607381959eb4bcbbaf9f9682746158483b2c1f100200000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b261100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007141f2d36393f423f38342b1d1204000000000000000000000000000009141d20252b2e30313131312a2720150700000000000000000000000000000000000000000010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c17000000000000000010253b50657a90a5bab19c87725c47321d07000000000000000000000000081b2e3f4d63798b9fb4bcb7a69d8b81776f6965636264666b717a84949fabbcb7a599836f5d4b38230f0000000000000000000000000000000000000000111f334758677d91a1b3b19f907b655645321e0f00081d3144556b8095a7b8b49f8a7b6860544d4b4b4d525e6678879da9baab99846f5a4935200c00000000040d14161c22364a5c72879db2af9a85705847331f1c1c17293a53697e93a8b6a48d78634d38231c1c1c1c1c1c18161006000000000000000012273c51677c91a6bcb9a48e79644f39240f03111f2d3c4858617583979fafbcbbb49d9481726056463a2b1d0f010000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b261100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010f1a21232a2d292220190d000000000000000000000000000000000001080b1015191a1c1c1c1c15130d030000000000000000000000000000000000000000000010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c17000000000000000010253b50657a90a5bab19c87725c47321d070000000000000000000000000e22374b5d6e8399aabbb8a69d887a6b625954504e4d4f51555d64727f8d9fb4beb3a1907b65503d2d1a07000000000000000000000000000000000000000417293a4d5f6f8399a8b9b29c8674604b3d2d18080b20354b6074899eb3b3a2917d675d4b4336363538404c5a647a8b9fb4b3a18d78634d38230e000000081621282b31312d3e576c8196acb49f8b76614c373131313131384d62788da3b5a9947e69543a2a3131313131312d2b2318090000000000000012273c51677c91a6bcb9a48e79644f39240f13212f3d4a5a62768599a1b1bdb9aa9f927f6c60544538291b0d00000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c0e1518140d0b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c17000000000000000010253b50657a90a5bab19c87725c47321d070000000000000000000000011426364f657a8fa1b2bcab9e8878645c4c473b3b3938393b3f4b54606a7e93a0b2bfb09b86715b4a36210c00000000000000000000000000000000000000000c1c30414d62788a9eb4b6a495806b5b4a36261410253b50657b90a7b8af9a846f5f4d3f30262020222f3c4a5c6b8096abbca9947e69543f29140000041626333d404646464650657b90a7b8aa927d675238464646464646485a71869bb1af9a8570584746464646464646433f3528180600000000000012273c51677c91a6bcb9a48e79644f39241423303f4b5c6478869ba3b3bfb8a89e8c7d6a614b4336281a0b0000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b261102020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080e101c1c1c1c1c12100a0100000010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c17000000000000000010253b50657a90a5bab19c87725c47321d070000000000000000000000081c3043546d8297adbfb59f8d7b655a4b3e342a25242324262e36434a606d8298a9bab5a38e79634e39240e000000000000000000000000000000000000000000132035485a697e93a3b5b49f8b79635443301c172c41566c8196abb9a8907b655041301c140b0b121e2d3e4c62778b9fb4af9a85705a36261401000d21334450555b5b5b5b5b6074899eb3ae98836e565b5b5b5b5b5b5b5b5b6a7f95aab49f8b76615b5b5b5b5b5b5b5b58534635231000000000000012273c51677c91a6bcb9a48e79644f39241c32414d5d657a889ca4b4c1b6a79e8a7c685f4f433026180a000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2618181818171513120d0b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0c1212121212100e0b07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003111c2325313131313128251e1305000010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c17000000000000000010253b50657a90a5bab19c87725c47321d0700000000000000000000000b20354b6074889eb3c3ad98836e5d4b3c2e1f18100e0d0f11182530424d62778a9fb4c1aa947f6a553f2a1500000000000000000000000000000000000000000005192b3c4b6073859baabbaa9b8573604b3b2b192f44596e8499aeb39e8975604b36201301000000101f34475970859bb0b29d88735443301c080014283d50626b717171717171718298adb49e89747171717171717171717171798ea3bbaa927d7171717171717171716d64533f2b1601000000000012273c51677c91a6bcb9a48e79644f392530434f5f677b8a9da6b6c1b5a59d897a665e4e41321c140800000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2d2d2d2d2d2c2a2927222019100e08000000000000000000000000000000000000000000000000000000000000000000000000000000000b171e2127272727272523201c130806000000000000000000000000000000000000000000000000000000000000000000000000000000000011212e373a46464646463d3a302313010010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c17000000000000000010253b50657a90a5bab19c87725c47321d07000000000000000000000010253a4f657a8fa6b8b7a58e79644e3f2e1e100500000000000813203448596d8297adc2b09b85705b392816030000000000000000000000000000000000000000000e1c30435464798c9fb4b4a3937e695948342031465b71869bb0b19b86715544311d080000000005182a3b576d8297acb49f8a75604b35200b00162b40556b8086868686868686879db2b9a89c868686868686868686868686859bb0c8b39d88868686868686868686826d58432d1803000000000012273c51677c91a6bcb9a48e79644f3936434a61697d8b9ea8b7c0b4a39b8779645c4c40312315010000000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b665042424242424241403e3c38352b25231c1109000000000000000000000000000000000000000000000000000000000000000000000000000b1b2933363d3d3d3d3c3b3935302520190e000000000000000000000000000000000000000000000000000000000000000000000000000000081c2e3f4b505c5c5c5c5c524d41301e0a0010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c17000000000000000010253b50657a90a5bab19c87725c47321d07000000000000000000000013283e53687d93a8c5b29d87725c4a362110000000000000000005182b3b51677c91a6bcb49e89745746321e09000000000000000000000000000000000000000000011426364a5c6b8096a5b6b49e8a78624d403032485d72879db2af9a856f5a392816030000000000162b41566b8096abbaa98b76614c36210c00192e43586e83989b9b9b9b9b9b9da6b7c6b5a49c9b9b9b9b9b9b9b9b9b9b9b9ba3b5c9b8a69d9b9b9b9b9b9b9b9b9b86715b46311c06000000000012273c51677c91a6bcb9a48e79644f374454606b7f8d9fa9b9beb2a29a8577635b4a3e2f221305000000000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b6657575757575757575553514d483c3a372e231c12040000000000000000000000000000000000000000000000000000000000000000000003172939464c5252525251504e4a4336352b1e1305000000000000000000000000000000000000000000000000000000000000000000000000000e23374b5d657171717171675f4d3a25100010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c17000000000000000010253b50657a90a5bab19c87725c47321d070000000000000000000000152b40556a8095aabfae98836e593e2d1a030000000000000000000d22384d62778da2b7b9a88b76614b36210c0000000000000000000000000000000000000000000008182d3d4b6075879db2b9a899836e5e4d3a29465b70869bb0b19c86715746321e080000000006192c3c586d8298adb49f8a75604a35200b00192e43586e8398adb0b0b0b0b0b2b7c4c9c2b5b1b0b0b0b0b0b0b0b0b0b0b0b0b5c1c3c4b8b3b0b0b0b0b0b0b0b09b86715b46311c06000000000012273c51677c91a6bcb9a48e79644f4655607280949fabbabcb0a09884756259493c2e20120400000000000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b6d6d6d6d6d6d6d6d6c6a6867625a57504b3f382f1f170c0000000000000000000000000000000000000000000000000000000000000000000a1e334657616767676767656360544d493c302313040000000000000000000000000000000000000000000000000000000000000000000000071b2d3e50657b86868686857d67523d28120010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c17000000000000000010253b50657a90a5bab19c87725c47321d070000000000000000000000172d42576c8297acc1ab96816c56412c17000000000000000000000b20364b60758babbcc6a28d78634d38230e00000000000000000000000000000000000000000000000f1e324556657b90a0b2b3a1917c6658463344596e8399aeb49f8a76614b36251304000002102135495b71869cb1b29d87725443301c0700192e43586e8398a8a8a8a8a8a8a8a8b1b5c1c8bbb4a8a8a8a8a8a8a8a8a8a8a8a8abb0bccbbeb1ada8a8a8a8a8a89b86715b46311c06000000000012273c51677c91a6bcb9a48e79644f57617382969eb5bcbcb59e9682746157483b2c1e10020000000000000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcc4af99838282828282828282817f7e7c78726c655d504c4033291c1002000000000000000000000000000000000000000000000000000000000000000c21364c61757d7c7c7c7c7a78746d625a4d4130221200000000000000000000000000000000000000000000000000000000000000000000000d22364a5c6f849a9b9b9b8976614c37210c0010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c17000000000000000010253b50657a90a5bab19c87725c47321d070000000000000000000000182d43586d8298adc0ab96816b56412c16000000000000000000000b20354b60758a9fb4c9a38e79634e39240e0000000000000000000000000000000000000000000000031628384c5d6d8298a7b8b39d8876614c3f40556b8095aabaa9917c675443301f170f0e151d2f404d63788da4b5af99846f5a3625130000192e43586e839292929292929292929ba3b5bbaa9f939292929292929292929292959eb0c6b19f979292929292929285715b46311c06000000000012273c51677c91a6bcb9a48e79645962758398a0b0bcbbab9f948072605646392a1d0e00000000000000000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcc7b3a1999797979797979797969593918d87817a70665e4c473a2d2010010000000000000000000000000000000000000000000000000000000000000e23384e63788d92929291908e888278675f4d402f1a0a000000000000000000000000000000000000000000000000000000000000000000061a2c3d4f647a8ea2b1a996806b5847331f0a0010253a50657a8fa5bab29c87725d47321d0000000000000000152a3f546a7f94a9bfab96816c56412c17000000000000000010253b50657a90a5bab19c87725c47321d070000000000000000000000172c41576c8196acc1ad98826d583b2b18050000000000000000000d22374c62778cabbcbcab8d77624d38220d00000000000000000000000000000000000407090a0806000a1a2f3f4c6177889eb3b7a697816c5d4b384f647a8fa6b7b19b8672604a413329242327313f4c5e6d8298adbcab937e68533e2813000010253b50657b7d7d7d7d7d7d7d7d7d859bb1b49f8b7e7d7d7d7d7d7d7d7d7d7d7d8095a8b9ad97817d7d7d7d7d7d7d7c66513c261100000000000012273c51677c91a6bcb9a48e79646377859aa2b2beb9aa9f8d7f6b60544538291b0d0000000000000000000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcd0bfb3afacacacacacacacacacaaa8a6a59c978f857b6f61584a3e2d200f0000000000000000000000000000000000000000000000000000000000000e23384e63788da3a7a7a6a5a79e978b7d675e4c3828160200000000000000000000000000000000000000000000000000000000000000000c2135495b6e8398aeb49f8b77624d3a2a17040010253a50657a8fa5bab29d87725d4825130000000000000000152a3f546a7f94a9bfab96816c56412c17000000000000000010253b50657a90a5bab19c87725c47321d070000000000000000000000152a3f556a7f94aac8b09b8671594834200c00000000000000000215283850657a8fa5c9b49f8a75604b36210b00000000000000000000000000050b0d141a1c1e1f1d1b1710111f334758677d92a2b3b59f8d7a6556454a6073889db3b5a3947f695f4c463a393938454b5d667c8d9fb5b49f8b77624c37220d00000e23374b5d656868686868686868697e93a9bbaa8f7a6868686868686868686868758a9eb4ad97826d686868686868665e4c38240f00000000000012273c51677c91a6bcb9a48e796479879ba3b3c0b8a89e8c7d69614a4336271a0b000000000000000000000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcd1cfc6c2bfbfbfbfbfbfbfbfc0bfbdc3b6b2aca29b908376645c4a3e2d1d0d00000000000000000000000000000000000000000000000000000000000e23384e63788da3afb0b3b8b8b3aa9f8d7c665645321e090000000000000000000000000000000000000000000000000000000000000005182b3b4e63788c9fb4ab97826d5948341c0c000010253a50657a8fa5bab39e88735443301c0700000000000000152a3f546a7f94a9bfab96816c56412c17000000000000000010253b50657a90a5bab19c87725c47321d07000000000000000000000011263b51667b90aabbb59f8c77624c3a2a190b00000000000002101d3245566b8095abc0b19c87715645321e090000000000000000000000070d192022292f31343532302c25201d2a3a4d5f6f849aa9baab9c8674604b4354697f94a5b7b49f8d7d6c6158514e4e505660697b8a9eabbaa998826d594834200b0000081c2e3f4b50535353535353535362788da3b5ab96806b565353535353535353566e8398aeb39e8874605353535353514c40301d0900000000000012273c51677c91a6bcb9a48e7a7a889da5b5c1b6a69d8a7c675f4f433025180a00000000000000000000000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bccfbeb2adaaaaaaaaaaaaaaaaabacaeb3b8c5c0b4b0a199877a645c4a3b2b1808000000000000000000000000000000000000000000000000000000000e23384e63788d9a9a9b9ea6b0b4bbab9d8775604b36210b000000000000000000000000000000000000000000000000000000000000000b203448596d8297abb49f8c78634d3b2b1800000010253a50657a8fa5bab49f8a75604a35200b00000000000000152a3f546a7f94a9bfab96816c56412c17000000000000000010253b50657a90a5bab19c87725c47321d0700000000000000000000000c22374c61778b9fb4bcab957f6a594737281b110b0501080b151d2d3e4b6075879db2c3ac97826d5738281603000000000000000000030f1a212b34383e4447494a4846413b35312730414d62788a9fb4b6a4957f6a5b494b6074879dabbcab9f9281766c666463666b747f8b9ea8b9b49f8a78624d3b2b180500000011212e373b3d3d3d3d3d3d3d485a71869bb0b29c87725b493d3d3d3d3d3d3852677d92aab8a78f7a65503d3d3d3d3c383022120000000000000012273c51677c91a6bcbfaa957f8a9ea6b6c1b5a59c887a655d4d41321c13080000000000000000000000000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcc6b2a09895959595959595959597999ea7adb4bbbfb3a59d8a7a645948362513000000000000000000000000000000000000000000000000000000000d22384d627884858586888d9aa2b4b7a5917c67513c271200000000000000000000000000000000000000000000000000000000000004172a3a4d62778b9fb4ae98836e5b49351d0d00000010253a50657a8fa5babbaa8c77614c37210c00000000000000152a3f546a7f94a9bfab96816c56412c17000000000000000010253b50657a90a5bab19c87725c47321d0700000000000000000000000a1f3347586f849aafc2b39e8977615546392e222019141d2028323e4a5c697e93a5b7b7a5907b66503b26110000000000000000000a161e2d363c484d53595c5e5f5d5b57504b44373135495a6a7f94a3b5b49f8b7963544556667c8d9fb4bcb49f9689817c79787b8087949fa9b9b2a0947f695a48351d0d0000000003111c23252828282828282b3c556a7f94aab6a48e79634e392828282828374c61768b9fb4ab96816b563d2d282826241d12040000000000000012273c51677c91a6bcc3af9d959ea8b8c5b5a39b8778645c4c3f30231400000000000000000000000000000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcc2ad98827f7f7f7f7f7f7f7f808284898f989faab5c2b7a89d8877625443301c090000000000000000000000000000000000000000000000000000000b2034485a62707070707378849aa8baad98836e583626140100000000000000000000000000000000000000000000000000000000000a1f3347586b8196a9b3a18e79644f3c2c190000000010253a50657a8fa5bac8a5907b66503b261100000000000000162b40556b8095aac0ab96816c56412c17000000000000000010253b50657a90a5bab19c87725c47321d07000000000000000000000004182a3a52677c91a4b5b9a89a847361574b3f38352b26313538454b5c647a8a9fb4c1b29d8774604b35200b00000000000000000d1a28323e4a4e5a62696f71737472706c6560554b45383c4b6073869babbaa99a8472604a4c5e6a7f949eb4bab0a79e97918e8e90959da5b4baafa198826d614f3c2b1900000000000000080e1013131313131323394e63798ea5b6a9947f6a543b2b1813131f3347586f859aafb29d87725b4a362113110f0900000000000000000012273c51677c91a6bcccbbafaab4b9c6bbaa9b8577625a4a3e2f21130500000000000000000000000000000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b6a6a6a6a6a6a6a6a6b6d6f747a828c9ca4b4c0b7a69b8572604a37271502000000000000000000000000000000000000000000000000000005192b3c484d5a5a5a5b5a62768a9fb4b19c87725443301c0800000000000000000000000000000000000000000000000000000000031628394c6176899eb4af9a846f5c4a361e0e0000000010253a50657a8fa5babfaa95806a553f2e1b08000000000001152737576c8197acbfaa95806a55402b15000000000000000010253b50657a90a5bab19c87725c47321d070000000000000000000000000c20354b6073869caabbb4a2988275655d534d483c37444b4f5660697a889da9bab5a3937e685544311d08000000000000000d1d2b38454b5c646f787e8486898a8785817b746960564b3f4455647a8c9fb4b4a2927d6859484f616b80929fa9b2b8b3aca6a3a3a5abb2b7b4b09e958374604b43321e0e0000000000000000000000000000000c21364a5b72879cb2b09b8570594834200b04172a3a54697e93a9b6a58e79634e39240e00000000000000000000000012273c51677c91a6bcd4c4b7b2b7c4cab49f8a786359493c2d2011030000000000000000000000000000000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b665555555555555556575460646d79869aa2b4c3b4a3917c675544311d080000000000000000000000000000000000000000000000000000000d1d2b34384545453c49576e8398adb49f8a75604b35200b00000000000000000000000000000000000000000000000000000000091e3246576a7f95a8b4a38f7b65503e2d1b000000000010253a50657a8fa5bac6b19b86715d4b3722130200000000081d3144556f849aafbea8937e69533e2914000000000000000010253b50657a90a5bab19c87725c47321d07000000000000000000000000081c304354657b8c9fb4bdb2a098867b7068625a5d5c5560646a757e8b9da6b7b9a79b8573604b372715010000000000000c1c2b3b4856606d79848d93999c9e9f9d9b9690887e74655d4e424a5c6c8196a5b7b39e8977624c4351626b7d8b99a1abb2b7c3b9b8c5b8b3ada29b8f807260564532251500000000000000000000000000080d0f151a2d3d566b8096abb59f8b77624c372215151523384d62788da3b5aa947f6a553b2b19151515151514120c0200000012273c51677c91a6bccbb7a69da6b4c1bbaa9c87776259483b2b1d0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b66504040404040404036434b4f5b6375849aa5b6c1b29c8774604b36200b000000000000000000000000000000000000000000000000000000000d1920223030302b39566b8095abbbaa8b76614c36210c000000000000000000000000000000000000000000000000000000021527374b6175889eb3b09b85705d4b372010000000000010253a50657a8fa5bac9b5a38f7a644f41302011060000051325364b6075899eb4c5a7917c67523c271200000000040b0c0d10253b50657a90a5bab19c87725c47321d0d0d0d0d0d0b08010000000000011426364b5d6a7f949fb4bbb2a49c8f857d7874727173757a7f87939fa9b7b7a89e897963554431190900000000000009192a3a48596275828d9aa1a8aeb1b3b4b2b0aca79e94877b68604f424b6175879db2b9a798836e5e4c4451606879838f969da5a4a7a7a5a79e9790857a6b60544538281607000000000000000000000002101b22252a2a2a3a4f647a8fa6b7ab937e685339292a2a2a2a35485a71869bb1b09b86715948342a2a2a2a2a2a29261f1406000012273c51677c91a6bcc8b29d889ba3b4c1b6a59c87776259483b2b1d0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2a2a2a2a2a2b2630353d49576176879db2c2b6a5917c66513626140100000000000000000000000000000000000000000000000000000000050b0d1b1b1b2a3f54697f94a9c8a28c77624d37220d000000000000000000000000000000000000000000000000000000081d314455697e93a7b6a4917c66513f2e1c02000000000010253a50657a8fa5bad2c1ae99836f5f4d3e2f211915141820304354667c91a8b9b8a68e79634e39240e0000000c181f222222253b50657a90a5bab19c87725c4732222222222222201d1409000000000008182e3f50616c81949faab5b5b1a29a938d898786888a8f959da6b4bab5a59d8a7b645b49372715000000000000021527374758627785979fabb3bbb4afadacaeb2b7b8b3a59d8b7e69614f4657667c90a0b2b2a0907c665746414e5b636e7a81878d8f9192908d88827b70655d4a4336281a0a00000000000000000000000010202e373a3f3f3f3f4a6074889db3af99846f57463f3f3f3f3f3f3c556a8095aab5a38c77624d3f3f3f3f3f3f3f3e3b322414020012273c51677c91a6bcbaa5907b859ba3b4c0b6a59c86776259483b2b1d0d000000000000000000000000000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b261515151516141c202c394758677c91a4b6c3ac97826d5443301c0800000000000000000000000000000000000000000000000000000000000000050514293e53697e93a8b7a28d77624d38220d0000000000000000000000000000000000000000000000000000001325364b6074879db2b19c8673604a35201100000000000010253a50657a8fa5bacfc7b3a1927d675c4c40352c2a292b34414a6072859bb0c6b39e8873604a35200b00000c1d2a34373737373b50657a90a5bab19c87725c4737373737373737353126190900000000001021334351636c7f8c9ca4b5c0b4afa8a89e9d9c9d9faaaab2b7bcab9f98877a645d4b3c2c1909000000000000081d3144556176879ba3b5b9b4aa9f9a9796989da6b0b4b7aa9f937f695e4c4c5e6e8398a7b9b29d8775614b3e3d494e5c646c72787a7c7d7a78746d665e4f4b3f3025180a000000000000000000000000081b2e3e4b4f5454545454546c8197acb49f8a766154545454545454545464798ea5b7a8937e685454545454545454534f42321f0c0012273c51677c91a6bcb9a48e7976849aa2b4c0b6a49c86776259483b2b1d0d0000000000000000000000000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000001080f1b2a3a4a6073869cb1c7b39e8874604b35200b00000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000000000000000000000000000000000000000000071c304354687d92a5b7a5927d675443301c0700000000000010253a50657a8fa5bad4cabfb39e897a655e4d493c3f3f3b484c5f697e93a3b4c1ad98836e5443301c070004182a3b474c4d4d4d4d50657a90a5bab19c87725c4d4d4d4d4d4d4d4d4b44372614010000000003152534445161697b869ca6b8c8c5c6b9b4b2b1b2b4bbc8c8cab59f8d8276645c4b3f2e1e0e00000000000005182b3b4b6074849aa5b5b6a89e958b85828183888f9ba2b5bbb49f8c7c6658474c6277899eb3b7a596816c5c4a37353e4a4f565a6265676765636055504c40372e1c1308000000000000000000000000000d22374b5c646a6a6a6a6a6a6a7b90a5baa9917c6a6a6a6a6a6a6a6a6a6a6a72889db2af9a846f6a6a6a6a6a6a6a6a69604f3b26120012273c51677c91a6bcb9a48e796475849aa2b4c0b6a49c86776259483b2b1d0d00000000000000000000000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000c1c3043546b8096abc0b8a68d78624d38230d00000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d00000000000000000000000000000000000000000000000000000b20354a6073869cb1b29d8774604b3625130000000000000010253a50657a8fa5bac3b7b2b1a79e8a7b6d635b5754545659626d7d8c9fb4c1b4a38f7b655036251300000b1f344759616262626262657a90a5bab19c8772626262626262626262605544311d08000000000007162634434f5d6577889db3c8c9c3b6b2afaeb0b3b8c5c6c3ae98836e61584a3e2e2010000000000000000b203448596b8095a2b4b6a49c8a7f76706d6c6e747a85959fabbbaa9e8976614c4859687d92a2b4b49f8c7a645544312e363a3c494d4f5252504e4b4437382f221b100000000000000000000000000000000f253a4f647a7f7f7f7f7f7f7f7f95aac7b09b847f7f7f7f7f7f7f7f7f7f7f7f859bb1b49f8b7f7f7f7f7f7f7f7f7f7e69533e29140012273c51677c91a6bcb9a48e79646175849aa2b4c0b6a49c86776259483b2b1d0d000000000000000000000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000013253651667b91a6bbc4a48f7a644f3a250f00000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d00000000000000000000000000000000000000000000000000081c2f3f51667c91a4b6a7937e6955443118080000000000000010253a50657a8fa5bab7a59d9ba3a89e908278716c6a696b7077828d9faabbbbaa9b85705d4b37180800000c22374c61777777777777777d91a7bcb29c877777777777777777777773604b35200b00000000000013253648596379879ca6b8b9b3aaa59c9a999b9ea7aeb2bfb2a0988273604b41301c0c000000000000011426364d62778a9fb4b7a59c86786a61585857546065707f8d9fb5b8a796816b59484a6072849aa9baab9c8673604b3c2c22242c35383a3c3d3b38353126231c120800000000000000000000000000000000152a3f546a7f94949494949494959dafc3b4a29b9494949494949494949494949ba3b5bbaa9f94949494949494949488735e48331e0012273c51677c91a6bcb9a48e7964576175849aa2b4c0b6a49c86776259483b2b1d0d0000000000000000000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b261100000000000000000f24394f64798ea4b9bba6917c66513c271100000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d000000000000000000000000000000000000000000000000000e23374b5d70859bb0b39e8875604b372715000000000000000010253a50657a8fa5bab29d87869ba8b4a0988d86817f7e80858b979fabbbbdb49f8c7b654f3f2e1c0000001c31465b71858c8c8c8c8c8c919bacc0b6a59c8c8c8c8c8c8c8c8c8c8c78634d38230e0000000000071c3043546278899ca5b6b5a89e958d87858485898f99a1b4b9b2a098826d5f4d3a2a17040000000000081c3043546c8196a8baab9d8777635a4c473a36434a50616a7f94a1b3b49f8a77624d435463798b9fb4b5a4947f695a493520131920232527282523201d140909000000000000000000000000000000000000152a3f546a7f94a9a9a9a9a9a9aaafbbc9c0b4b0a9a9a9a9a9a9a9a9a9a9a9a9b1b5c1c8bbb4a9a9a9a9a9a9a9a99d88735e48331e0012273c51677c91a6bcb9a48e79644f576175849aa2b4c0b6a49c86776259483b2a1d0d00000000000000000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b261100000000000000000e23384e63788da3b8bda7927d68523d281300000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d000000000000000000000000000000000000000000000000071b2d3e50657b90a3b5a8947f6a5745321909000000000000000010253a50657a8fa5bab29c87798a9ea9b2ada39b969494969a9faab5bcbcb49f947f6a5d4b3721110000001c31465b71869ba2a2a2a2a2a7acb9c9c3b6b2a2a2a2a2a2a2a2a2a28d78634d38230e00000000000b20354a6072849aa7b6b5a39b898078726f6e70747a83919ea8b9b2a0927d675847331f0a00000000000b20354b6074889eb3b59f8d7a6459493c332a2530354350616f8499abbaa9937e695336495b6a7f95a4b6b49f8a78634d41301c0c0c0d101212100e0b08010000000000000000000000000000000000000000152a3f546a7f94a9aeaeaeaeaeaeaeb0b5c1c8c1b5b0aeaeaeaeaeaeaeaeaeaeaeaeb4bac7c5b8b3aeaeaeaeaeae9d88735e48331e0012273c51677c91a6bcb9a48e79644f46576175849aa2b4c0b6a49c86776259483b2a1d0d000000000000000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b261100000000000000000f253a4f647a8fa4b9bba6907b66513b261100000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000000000000000000000000000000000000000d22364a5c6f849aafb49e8976614c39281600000000000000000010253a50657a8fa5bab29c87727c8a9ca4b4b5b1aca9a9abafb4bbbfb3ab9f948172604a3f2e1b030000001c31465b71869bb0b7b7b7b7bcc0c9d7d3cac7b7b7b7b7b7b7b7b7a28d78634d38230e00000000081c2e3f53697e93a2b4b5a49b85786a625a5a595460646e7c8a9eaabbb39e8976614c37210d000000000010253a4f657a8fa6b8ae98836e5c4a3a2c1f17131c2033434e63798c9fb5af9a846f54433d4b6074869cabbaa99a846f5f4d3a2a18040000000000000000000000000000000000000000000000000000000000152a3f546a7f9499999999999999999ba3b5c9b5a39b9999999999999999999999999fa9bab8a69e9999999999999988735e48331e0012273c51677c91a6bcb9a48e79644f3946576175849aa2b4c0b6a49c86776259483b2a1d0d0000000000000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000316283952677c92a7bcc2a48e79644f39240f00000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000000000000000000000000000000000000061a2c3d4f647a8ea2b3a996806b5847331b0a00000000000000000010253a50657a8fa5bab29c8772657986969ea8afb3b5bcc8bbb4b0aaa1998c7f6d605443302110000000001c31465b71869baaaaaaaaaaadb2becec5b8b3aaaaaaaaaaaaaaaaa28d78634d38230e000000000e23374b5d72879cb2bbaa9c867562594d483c36434b4f5e667c8c9fb4b8a7937e69533b2b180500000000152a3f556a7f94aabcab907b66513e2e1c0e0400071521364a5b70869bb0b49f8a75604b354556657a8d9fb5b3a2927d675847331f11000000000000000000000000000000000000000000000000000000000012273c51677d848484848484848484859babbcb09b858484848484848484848484838b9fb4b39e8883848484848484826d58432d180012273c51677c91a6bcb9a48e79644f393946576075849aa2b3c0b6a49c86776259483b2a1d0d00000000000000000000000000000000000000000000000000000000000000000d22374d62778ca2b7bca7927c67523d2712000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000020f1e3246576d8297adc2b6a48c77624c37220d00000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d00000000000000000000000000000000000000000000000c2135495b6e8398aeb49f8b77624d3a29170000000000000000000010253a50657a8fa5bab29c87725b6374808992999d9faba3aa9f9b958e847a69614a4336251303000000001c31465b718595959595959598a0b2c5b8a79e9595959595959595958d78634d38230e0000000010253a50657a8fa5b6b49f8c796357483b352b263035404c5e6c8196abbcb09b8671594834200b00000000172c42576c8197acb59f8b76604b36211000000000071a2d3d566b8095abbbaa8c77624c37384b5d6c8197a6b7b39e8977614c3f2f1a0a000000000000000000000000000000000000000000000000000000001024394d5f676f6f6f6f6f6f6f6f6f778c9fb4ab95806f6f6f6f6f6f6f6f6f6f6f6f8399aeb39e88736f6f6f6f6f6f6d64533f2b160012273c51677c91a6bcb9a48e79644f39283945576074849aa2b3bfb6a49c86776259483b2a1d0d000000000000000000000000000000000000000002040707070707070707070d22374d62778ca2b7bca7927c67523d2712070707070707070707070000000000000012273c51677c91a6bcbba5907b66503b261106060001080b151d2d3e4b6175889eb3c6b19c86715947341f0b00000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000000000000000000000000000000000005182b3b4e63798c9fb4ab97826c5948341c0c0000000000000000000010253a50657a8fa5bab29c87725d56606b757d84888a8d8e8c8a86807a6f645c4f4330251808000000000013283e53687e7f7f7f7f7f7f8298adc2b39e897f7f7f7f7f7f7f7f7f7f76614c37210c00000001162c41566b8196abc3ae98836e5b4a392b2019141c2030404d62778c9fb5b5a38c77624d37220d00000000192e44596e8399aeb39e88735645321e09000000000013293e53687e93a8c8a48e79644f392e3f4c6176889db2b8a798826d5d4c382816030000000000000000000000000000000000000000000000000000000a1d30414d5159595959595959595970859ab0b19c86715b595959595959595959677d92aab8a68f7a6459595959595853463523100012273c51677c91a6bcb9a48e79644f3924283945566074839aa1b3bfb6a49c86776259473b2a1d0d0000000000000000000000000000000000071117191d1d1d1d1d1d1d1d1d1d22374d62778ca2b7bca7927c67523d271d1d1d1d1d1d1d1d1d1d1d0b09030000000012273c51677c91a6bcbba5907b66503b261b1b1b1b141d2027313e4a5c6a7f94a7b8c0ab95806b563b2a180500000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d000000000000000000000000000000000000000000000b203448596d8297abb49f8c78634d3b2b18000000000000000000000010253a50657a8fa5bab29c87725d454b5760676f737578787774716a645c4e4a3e321c130800000000000011263a4e60686a6a6a6a6a6a7b90a5bab19c87726a6a6a6a6a6a6a6a6a615847331f0a00000004192e44596e8399aebca7927c67523d2d1b0d050108122034485971869bb0c1a48f7a644f3a250f00000000192e44596e8399aeb39e89735745321e09000000000013293e53687e93a8c8a38e79644e3924334658667c91a1b3b2a0907b655645321e0f00000000000000000000000000000000000000000000000000000000122330393c444444444444443b54697f94a9b6a48d78634e444444444444444c61768b9fb4ab96806b563d444444433f352818060012273c51677c91a6bcb9a48e79644f39241b2838455660748399a1b3bfb6a49c86776259473b2a1d0c0000000000000000000000000000000a18242b2e3232323232323232323232374d62778ca2b7bca7927c67523d323232323232323232323232211e160a00000012273c51677c91a6bcbba5907b66503b303030303026313538454b5c647a8a9fb4c5b4a28f7a644f3a250f0000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d00000000000000000000000000000000000000000004172a3a4d62778b9fb4ad98836e5b49351d0d000000000000000000000010253a50657a8fa5bab29c87725d4739454b525a56606263616054554f4a3e362d201400000000000000000b1e31424e535555555555657a90a5bab19c87725c55555555555555554c473a291704000000061c31465b71869bb0b9a48e79644f39240f0000000005182b3b586e8398adbca7917c67523c271200000000172c42576c8197acb8a78b76604b3621100000000008182d3d566b8095abbbaa8c77624c3722293a4d5e6e8399a8b9b29d8775604b3e2d190900000000000000000000000000000000000000000000000000000004121d24272f2f2f2f2f2f2f384d63788da4b6a9947f69543b2a2f2f2f2f3347586f849aafb29c87725b49352f2f2d2b23180a000012273c51677c91a6bcb9a48e79644f39240f1a2838455660748399a1b3bfb6a49c86776259473b2a1d0c000000000000000000000000000718283640434747474747474747474747474d62778ca2b7bca7927c6752474747474747474747474747473632281b0a000012273c51677c91a6bcbba5907b665045454545454537444b4f5660697a889da9babcab9a846f5c4b37220d0000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000000000000000000000000000000000a1f3347586b8196a9b3a18e79644f3c2c1900000000000000000000000010253a50657a8fa5bab29c87725d472832363d38454b4d4e4c4a433639362d211a0f010000000000000000021324313a3e4040404050657a90a5bab19c87725c47404040404040403733291c0c00000000081d32475d72879cb2b8a38e79634e39240e0000000002162838586d8298adbda8937d68533e281300000000152a3f556a7f94aac5a6907b66513f2e1d0e0401081325364a5c71869bb0b49f8a74604a35201b30404d6277899eb3b6a596806b5c4a37261401000000000000000000000000000000000000000000000000000000000a10121a1a1a1a1a1a2135495b71869cb1b09b85705947341f1a1a17293a53697e93abb6a48e79634e39231a1816100600000012273c51677c91a6bcb9a48e79644f39240f0a1a2838455660748399a1b3bfb6a49c86776259473b2a1d0c0000000000000000000000001124364653595c5c5c5c5c5c5c5c5c5c5c5c5c62778ca2b7bca7927c675c5c5c5c5c5c5c5c5c5c5c5c5c5c4b45392816030012273c51677c91a6bcbba5907b665b5b5b5b5b5b5b5b5560646a747e8b9da6b7c0b59f8d7a644f3e2e1b080000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000000000000000000000000000000031628394c61768a9eb4af99846f5c4a361e0e00000000000000000000000010253a50657a8fa5bab29c87725d47321e212727313638393735302524221b1007000000000000000000000006131e26282a2a2a3b50657a90a5bab19c87725c47322a2a2a2a2a2a211f170c0000000000061b30455b70859ab0bba5907b66503a2917090000030e1e3245566f859aafc7a6917b66513c26110000000010253a4f657a8fa7b8ae99836e5d4b3b2c1f18141c2530435464798ea3b5af9a846f5443301c1220344859697e93a3b4b49f8c7a645544311d0e00000000000000000000000000000000000000000000000000000000000000040404040406192c3c566b8095abb49f8b77624c37220d000d22374d62778b9fb5a9947f6a543b2b180501000000000012273c51677c91a6bcb9a48e79644f39240f000a1a2838455660748399a1b3bfb6a49c86776159473b2a1d0c0000000000000000000000172b4053646e7272727272727272727272727272778ca2b7bca7927d727272727272727272727272727272605745321e090012273c51677c91a6bcbba5907b70707070707070707172757a7f87939fa9b7c2b4a297816c5c4a362010000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000000000000000000000000000000091e3246576a7f95a8b4a38f7b65503e2d1b0000000000000000000000000010253a50657a8fa5bab29c87725d47321d0b12151d20232322201c130f0d070000000000000000000000000000020b11131515253b50657a90a5bab19c87725c47321d15151515150c0a0400000000000004192e43596e8398aec0ab96816b584633261c1315161e2b3b4b60758a9fb4baa98f79644f3a240f000000000b20354b6074889eb3b2a18f7a6459493d342a263036434a6072849aafbaa9937e695336251305182b3b4b6073859baabbaa9b8573604b3c2b19050000000000000000000000000000000000000000000000000000000000000000000000000f243a4f647a8fa6b7ab927d6853392916030b2034485970859bb0b09b8570594834200b00000000000012273c51677c91a6bcb9a48e79644f39240f00000a1a2838455660748399a1b3bfb6a49c86776159473b2a1c0c00000000000000000000192e43596e828787878787878787878787878787879cb2c7c8b39d8887878787878787878787878787878675604b36210b0012273c51677c91a6bcc6b19c8685858585858585858688898f949da6b4babfb3a49a8474604b3e2d1b02000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d00000000000000000000000000000000000000021527374b6175889eb3b09b85705d4b3720100000000000000000000000000010253a50657a8fa5bab29c87725d47321d080002090b0d0e0c0b07000000000000000000000000000000000000000000000010253b50657a90a5bab19c87725c38281603000000000000000000000000000014293f54697e94a9c0b39e8876614c443730252b28323c4859687e93a8bab49f8a76604b36210b00000000081c3043546c8197a9bab29d8777635b4c473b36434b54606b7f94a2b3b49f8b77624d37220d000d1c30435463798b9fb4b5a3937e695a483520120000000000000000000000000000000000000000000000000000000000000000000000000b20354a6074889db2ae99846f5746321e0a05182b3b546a7f94a9b59f8b77624d37220d00000000000012273c51677c91a6bcb9a48e79644f39240f0000000a1a2838455660748399a1b3bfb6a49c86776159473a2a1c0c0000000000000000001c31465b71869b9c9c9c9c9c9c9c9c9c9c9c9c9c9ca5b6cacbb7a69d9c9c9c9c9c9c9c9c9c9c9c9c9c9c8b75614b36210c0012273c51677c91a6bcc9b5a49c9a9a9a9a9a9a9a9a9b9d9fa9aab2b7c4bab4a199867661564531201000000000000000000000000000000000000000000000000000000000000000000000000013283d52687d92a7b8a38d78634e38231308080000000000000000000000000000000000081d314455697e93a7b6a4917c66513f2e1c020000000000000000000000000010253a50657a8fa5bab29c87725d47321d08000000000000000000000000000000000000000000000000000000000000000010253b50657a90a5bab39d88735645321e0b0b0c10150c0b04000000000000000d23384d62788da2b4b8a797826d60554a43364039464b5a6277889db3c1ae99836e5745321e0900000000011426364d62778a9fb4b7a59c87796b615958575460657280949dafb8a796816b594834200b00011426364a5b6b8095a4b6b49e8a78624d41301c0c0000000000000000000000000000000000000000000000000000000000000000000000071c3043546c8197acb49f8a76614b36210c000e23384e63788da4b6ab937e685339291703000000000012273c51677c91a6bcb9a48e79644f39240f000000000a1a2838455660748399a1b2bfb5a49c86776159473a2a1c0c00000000000000001c31465b71869bb0b1b1b1b1b1b1b1b1b1b1b1b1b2b6c3d3d4c4b7b3b1b1b1b1b1b1b1b1b1b1b1b1b1a08b76614b36210c0012273c51677c91a6bcd2c2b5b1b0b0b0b0b0b0b0b0b0b2b4bac7c6b9b4a99f9483766158473827150200000000000000000000000000000000000000000000000000000000000000000000000011273c51667c91a6c7a48f7a644f3a3025231c11030000000000000000000000000000011426364b6074879db2b19c8673604a352011000000000000000000000000000010253a50657a8fa5bab29c87725d47321d0800000000000000000000000000000000000000000000000000000000000000000f24394f64798ea4c6b7a68b76604b36221f2022252a221f180c0000000000000b2035485a70859babbcb19f96807365605456555757616978869ca6b8b5a3927c675239281603000000000008203448596b8095a2b4b6a59c8a8077706d6c6e747b85959eafbcab9e8976614c3b2b1805000008182d3d4b6074869cb2b9a899836f5f4d3a291704000000000000000000000000000000000000000000000000000000000000000000000013253650667b90a8b9a9917c6751372715010c2135495b71869cb1af99846f5746331e0a000000000012273c51677c91a6bcb9a48e79644f39240f00000000000a1a2738455660738399a1b2bfb5a49c86776159473a2a1804000000000000001c31465b71869bb0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb6a08b76614b36210c0012273c51677c91a6bcbdbdbdbdbdbdbdbdbdbdbdbdbcbbc4b7b3ada89e968a7f726158473a2a1a0a0000000000000000000000000000000000000000000000000000000000000000000000000010253a4f657a8fa9baa7927d68524a4336382f21110000000000000000000000000000081c304354687d92a6b7a5927d675443301c07000000000000000000000000000010253a50657a8fa5bab29c87725d47321d0800000000000000000000000000000000000000000000000000000000000000000d22384d62778da8bac4a38e79634e3e373435373a3f37342a1d0c000000000006192b3c4f647a8d9fb5beb09e96857b746e6b6a6c6f767e899ca4b5bcab9b8573604b35200b00000000000005182b3b4b6074849aa5b5b6a89f958b8583828488909ba3afbbb49f8d7c665847331d0d000000000f1e324556657b909fb1b3a1917c675847331f1100000000000000000000000000000000000000000000000000000000000000000000000b20364b6075899eb3ad98826d5544311d08061a2c3d556b8095aab49f8a76614c36210c000000000012273c51677c91a6a8a8a48e79644f39240f0000000000000a1a2738455560738398a0a8a8a8a49c8677615947341f0a000000000000001c31465b71869ba8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a08b76614b36210c0012273c51677c91a6a8a8a8a8a8a8a8a8a8a8a8a8a8a7a5a4a69d98928a80776a6054463a2a1c0c00000000000000000000000000000000000000000000000000000000000000000000000000000b21364b60768a9fb4b09a8470626054504b3f2f1c08000000000000000000000000000b20354b6073869cb1b29d8774604b36251300000000000000000000000000000010253a50657a8fa5bab29c87725d47321d0800000000000000000000000000000000000000000000000000000000000000000b20364b6075899fb4bfaa957f6a5c4f4c474b4c50554c473b2a180400000000000e22374b5c6d8297a2b4bcb0a39b908883818081858a949ea7b5bcb49f8c7b655443301c08000000000000000d1d3145566177879ba3b4bab4ab9f9b9897999ea6b0b5b6aa9f937f695e4c3a2a170000000000021628384b5d6d8297a6b8b39d8876614c3f2e1a0a00000000000000000000000000000000000000000000000000000000000000000000091d3145566e8398a8a89e8974604b35200b000f24394f64798ea5a8a9917c67523c2712000000000012273c51677c91939393938e79644f39240f000000000000000a1a27374455607382929393939393938677614c37220c000000000000001c31465b71859393939393939393939393939393939393939393939393939393939393939393939393938b76614b36210c0012273c51677c91939393939393939393939393939392908e8c88827d776b62594a4336291c0c000000000000000000000000000000000000000000000000000000000000000000000000000000091e3245576f8499a9b4a29882787472655d4b38230e000000000000000000000000081c2f3f51667c91a4b6a7937e69554431180800000000000000000000000000000010253a50657a8fa5bab29c87725d47321d080000000000000000000000000000000000000000000000000000000000000000081d3144556f8499aec3b49f8a7a6b6462596061656a615947341f0b0000000000081b2e3e4b6074849aa3b0bdb4b0a69d989695979a9fa9b3b8b9b39e937e695d4b3626140100000000000000021527384759627785979fabb5bcb4b0adacaeb3b8b8b3a59d8b7e69614f402f1c0c0000000000000a1a2e3f4c6176889eb3b8a697826d5d4b382815020000000000000000000000000000000000000000000000000000000000000000000215273852677d91939393907a65503b2510000d22364a5c728793939393836d58432e1803000000000d23384d62787e7d7d7d7d7e77614c37220c00000000000000000a192737445560737d7d7d7d7d7d7d7e7b65503a25100000000000000011273c51667c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7e74604b35200b000d23384d62787e7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b7977736d6761584c473b3025180c00000000000000000000000000000000000000000000000000000000000000000000000000000000031628394e647a8b9fa9b2a0988d89867b65503b25100000000000000000000000000e23384b5d70859bb0b39e8875604b3727150000000000000000000000000000000010253a50657a8fa5bab29c87725d47321d0800000000000000000000000000000000000000000000000000000000000000000215273753687d93a5b7baa89f8b807a777475777a7f77614c37220c000000000000101e324556617685969fafb3bfb8b3aeabaaacafb4babab4a79e91806b604f3f2e18080000000000000000000a1a2a3a48596275818c999fabaeb0b3b4b2afaba69e93877b68604f433222120000000000000000111f334758677d92a1a8a89f8d7b655645321d09000000000000000000000000000000000000000000000000000000000000000000000c21364b61757e7d7d7d7e7a644f39240f00071b2d3e50657b7d7d7d7d7d67523d271200000000000c2035495a62686868686868615947341f0a000000000000000000091927374455606868686868686868655d4b37230e000000000000000f24394d5e6668686868686868686868686868686868686868686868686868686868686868686868686868605544311d08000c2035495a62686868686868686868686868686868676664625958524c473a342a1c13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22364a5c687e8b9da6b2aea89e917b66513c26110000000000000000000000071b2d3e50657b90a3b5a8947f6a57453219090000000000000000000000000000000010253a50657a8fa5bab29c87725d47321d080000000000000000000000000000000000000000000000000000000000000000000b20364b6074879db2bcbaa99f958f8c8a8a8c8f8d78634d38230e0000000000000316283847586174818f9aa1aab0b4bbc8bac6b9b3aea99f96897c6b62504232211100000000000000000000000c1c2b3b4856606d79848c93999b9d9e9c9a968f887e74655d4e4232251404000000000000000004172a3a4d5f6f8393939393938775604b36200b000000000000000000000000000000000000000000000000000000000000000000000a1e334657616868686868645c4a36220d00001023384c5d6568686868675f4d392510000000000006192c3c494d5353535353534c473a2a18040000000000000000000009192737444b5253535353535353504b3f2e1c08000000000000000a1d30404d51535353535353535353535353535353535353535353535353535353535353535353535353534b44372715010006192c3c494d53535353535353535353535353535352504f4d483b3d37332a1f180d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071b2d3e4e5f6878889db2c6b9a6917b66513c261100000000000000000000000d22364a5c6f849aafb49e8976614c392816000000000000000000000000000000000010253a50657a8fa5bab29c87725d47321d08000000000000000000000000000000000000000000000000000000000000000000091d314556677c919eb4babab4aba4a99f9faba28d78634d38230e000000000000000a1a293a4756606c7b848e959b9faaa3a4a3a89e99938a8178675f5044332414030000000000000000000000000d1d2b38454b5c646f777e838688898785817a746960564b3f31241406000000000000000000000c1c30414d62787e7d7d7d7d7e78624d38230d0000000000000000000000000000000000000000000000000000000000000000000003172939464b53535353534f4a3e2d1b070000081c2f3f4c5053535353524d41301e0a0000000000000e1e2c35383e3e3e3e3e3e37342a1c0c00000000000000000000000009192731353d3e3e3e3e3e3e3e3a372e2111000000000000000000122230393c3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e35312719090000000e1e2c35383e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3d3b3937342b28211f170c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091e32465762788399a6b7b3aba6917b66513c261100000000000000000000061a2c3d4f647a8ea2b3a996806b5847331b0a000000000000000000000000000000000010253a50657a8fa5bab29c87725d47321d08000000000000000000000000000000000000000000000000000000000000000000021527384d5f6a80939fa9b4bac7c7bab4b4bca28d78634d38230e00000000000000000c1c2938454b5d656f7980858a8c8e8f8e8c89837e776c62594d403326160600000000000000000000000000000d1a28323d4a4e5962686e71737472706c6560554b45382e211406000000000000000000000000132034485962686868686868625a4935200b00000000000000000000000000000000000000000000000000000000000000000000000b1b2933363e3e3e3e3e39362d20100000000011212f383b3e3e3e3e3d3930231301000000000000000e192023282828282828221f180c000000000000000000000000000009151d20282828282828282825231c110300000000000000000004121d242728282828282828282828282828282828282828282828282828282828282828282828282828201d150900000000000e192023282828282828282828282828282828282624222019120c0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c21364b61758699a1b3a79e9692907c66513c2611000000000000000000000c2135495b6e8398aeb49f8b77624d3a291700000000000000000000000000000000000010253a50657a8fa5a5a59c87725d47321d08000000000000000000000000000000000000000000000000000000000000000000000a1a304050616a7e8b979fa9aaacadacaaa8a68d78634d38230e0000000000000000000c1a27313f4b4f5c646a707577797a7876746e6962594d483b30221608000000000000000000000000000000000a161e2d363b484d53595b5e5f5d5a56504b443731271a11030000000000000000000000000005192b3b484d5353535353534d493c2b19060000000000000000000000000000000000000000000000000000000000000000000000000b171e21282828282824221b10020000000003111c23262828282827251e1305000000000000000000060c0d1313131313130c0a040000000000000000000000000000000001080b1313131313131313100e08000000000000000000000000000a0f11131313131313131313131313131313131313131313131313131313131313131313131313130b080100000000000000060c0d13131313131313131313131313131312110f0d0b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071a2d3d566b8196a4b3a69d89807d7b77614c37220c00000000000000000005192b3b4e63798c9fb4ab97826c5948341c0c00000000000000000000000000000000000010253a50657a8f8f8f8f8f87725d47321d0800000000000000000000000000000000000000000000000000000000000000000000001222334350606878828a909597989795938e8877624d37220d000000000000000000000a151d2e373e4a4e55566062646563616054534c473b342b1d1204000000000000000000000000000000000000030f1a212b34373e444648494745413a3531261d150a000000000000000000000000000000000d1d2b34373e3e3e3e3e3e38352b1e0e0000000000000000000000000000000000000000000000000000000000000000000000000000030a0c13131313130f0d070000000000000000080e101313131312100a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c21364a5b73889db2b29d88786b6866615947341f0b0000000000000000000b203448596d8297abb49f8c78634d3b2b18000000000000000000000000000000000000000c21364c61767a7a7a7a7a7a644f3a240f00000000000000000000000000000000000000000000000000000000000000000000000004152533424e5b636d767b7f818382807e797362594834200b000000000000000000000002111c232d363938454b4d4e4f4e4c4a433637342a20190d00000000000000000000000000000000000000000000070d182022292e31333432302c25201d1409020000000000000000000000000000000000000d1920222828282828282320190e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1012202020202020110f09000000000000000000000000000000000000030a0c1c2020202020202014120c0200000000000000020b111320202020202013110b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000711171a202020202013110b02000000000000000000000000000e24394e63798ea6b7aa95806a5a53504c473b2a1804000000000000000004172a3a4d62788b9fb4ad98836e5a49351d0d000000000000000000000000000000000000000a1f334658616565656565645c4a36220d00000000000000000000000000000000000000000000000000000000000000000000000000071524313c494d5761666a6c6d6c6b68636054483b2b18050000000000000000000000000008101b222427313637393a3937353025221f180d0500000000000000000000000000000000000000000000000000050b0d13191c1e1f1d1b17100b0801000000000000000000000000000000000000000000050b0d1313131313130d0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a10122020202020200f0d0700000000000000000000000000000000000000000000000004121d242735353535353526231c11030000000000000000000000000000000b161e21313535353535353529271f1406000000000006141f262935353535353528261f1406000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b19242c2f353535353528261f140600000000000000000000000011263b51667b90a6c4a58f7a65503c3b37342a1d0c0000000000000000000a1f3347586b8196a9b3a18e79644e3c2c1900000000000000000000000000000000000000000417293a464c50505050504f4a3e2e1b07000000000000000000000000000000000000000000000000000000000000000000000000000006141e2c3539464b505557585755534e4a43362b1d0d00000000000000000000000000000000070d0f151d202224252321201c130d0b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005131d252735353535353524211a0f0100000000000000000000000000000000000000000000122230393c4a4a4a4a4a4a3b382f221100000000000000000000000000000b1b293236464a4a4a4a4a4a4a3e3b32241402000000021424313a3e4a4a4a4a4a4a3e3a3124140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000719293640444a4a4a4a4a3e3a31241402000000000000000000000012273d52677c92a7b8a38e79634e3926221f180c000000000000000000031628394c61778a9eb4af99846f5c4a361e0e0000000000000000000000000000000000000000000b1b2933363a3a3a3a3a3a362e201000000000000000000000000000000000000000000000000000000000000000000000000000000000000e19212932363b40424342403e39353025180d000000000000000000000000000000000000000002090b0d0f100e0c0b07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080b1014161819181614100b0801000000000000000000000000000000000000040d131620202020202020202020202020202020202020202020202020202020202020200e0c06000000000000000000000000000000000000000000000001132330393c4a4a4a4a4a4a39362d1f0f0000000000000000000000000000000000000000000a1d30404d51606060606060504c402f1c0900000000000000000000000008182939464b5c60606060606060544f42321f0c0000000b1f31424e53606060606060534e42311a0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001124364754596060606060534e42311f0b000000000000000000000013293e53687e93a8b7a28d78624d38230d0b0400000000000000000000091e3246576a7f95a8b4a38f7a65503e2d1b00000000000000000000000000000000000000000000000b171f21252525252524221b1002000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b161e21262a2c2e2d2b2924201c130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070b151d2025292b2d2e2d2b2925201d150b07000000000000000000000000000000071521282b35353535353535353535353535353535353535353535353535353535353535352320190e000000000000000000000000000000000000000000000a1d30414d526060606060604e4a3d2d1a0700000000000000000000000000000000000000001024394d5f67757575757575665e4c38230f000000000000000000000001142636465761717575757575757569604f3b271200000011263a4e606875757575757568604e3828160300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002172c4054656f757575757568604e3a2611000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000000000000021527374b6175889eb3b09b85705d4b372010000000000000000000000000000000000000000000000000040a0c10101010100f0d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0c111517181716130e0b070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c0d1216120d0b05000000000000000000000000000000000000000000000000000000000008131c202731363a3f40424442403e3a353127201c1308000000000000000000000000041526333d404a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a38352c1e0e0000000000000000000000000000000000000000001025394d5f67757575757575705c4a36210d000000000000000000000000000000000000000012273c51677c8a8a8a8a8a8a7b66503b26110000000000000000000003111c3043546175868a8a8a8a8a8a8a7e69543e291400000013293e53687e8a8a8a8a8a8a7e685645321e0c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f838a8a8a8a8a7e68533e2813000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000000000000081d314455697e93a7b5a4917c66513f2e1c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e192023282b272220190e010000000000000000000000000000000000000000000000000008131c25303537444b4f545658595755534f4b44373530251c1308000000000000000000000d213344505560606060606060606060606060606060606060606060606060606060606060605e493c2c1906000000000000000000000000000000000000000012273c52677d8a8a8a8a8a8a79644e39240f000000000000000000000000000000000000000012273c51677c919f9f9f9f907b66503b261100000000000000000001112131424b60728399a39f9f9fa297816c604f3b27120000000b20354b6074879c9f9f9f9d8875604b3a2917040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f84999f9f9f937d68533e2813000000000000000000000014293e53697e93a8b7a28d77624d38220d00000000000000000000011426364b6074879db2b19c8673604a35201100000000000000000000000000000000000000000000000000040a0c0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0d0b050000000000000002090b0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0e0c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151d2c35383d403d38352b1c140800000000000000000000000000000000000000000000000d18253036434a51556065696b6d6e6d6b69656055514a43363025180c00000000000000000013283d50626b7575757575757575757575757575757575757575757575757575757575757575705a4935200c000000000000000000000000000000000000000012273c52677c919f9f9f9f8e79644e39240f000000000000000000000000000000000000000012273c51677c91a6b5b5a5907b66503b26110000000000000000000f1f2f3f4e606b8096a1b3c2b6a49a8473604b42321f0c000000081d314455677c91a3b5b7a6947f695846331f0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aeb5a8937d68533e2813000000000000000000000014293e53697e93a8b7a28d77624d38220d00000000000000000000081c304354687d92a6b7a5927d675443301c070000000000000000000000000000000000000000000000000c171f2123232323232323232323232323232323232220190e00000000000a161e21242424242424242424242424242424242424242424242424242424242424211a0f0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091927313c494d5255524d483c30261808000000000000000000000000000000000000000003111d2b36434a5460666e757a7e80828382807e7a756e6760544a43362a1c100200000000000000162b40556b808a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a78634d38230e000000000000000000000000000000000000000012273c52677c91a7b5b5a38e79644e39240f000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b261100000000000000000c1c2c3d4b5d687e939eb0bfb8a79c867661554431241402000000011527374a6072869bb1c0b39e8976614c3b2a180500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e2813000000000000000000000014293e53697e93a8b7a28d77624d38220d000000000000000000000b20354b6073869cb1b29d8774604b3625130000000000000000000000000000000000000000000000000c1c293337393939393939393939393939393939393938352b1e0e0000000a1a283236393939393939393939393939393939393939393939393939393939393939362d1f0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002152737444b5a62676b67625a4b43362614010000000000000000000000000000000000000311222f3b48546068737c83898f949597999795938f89837c73676054473a2e201002000000000000162b40556b80959f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f8d78634d38230e000000000000000000000000000000000000000012273c52677c91a7bcb9a38e79644e39240f000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000a1a2a3a495b657b8c9fb4bcbbaa9e8978635846372715060000000000091c304354667b90a2b4b8a795806b5948341f0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e2813000000000000000000000014293e53697e93a8b7a28d77624d38220d000000000000000000081c2f3f51677c91a4b6a6937e69554431180800000000000000000000000000000000000000000000000417293a474c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4d483c2b19050002162838454b4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4a3d2d1a070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081d314455606a787d807c786a605443301c0f00000000000000000000000000000000000311222f404c5962727d8691999ea8a9abadaeacaaa8a79e9891867c7261584a3e2e2010000000000000152a40556a7f95aab5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5a28d78634d38230e000000000000000000000000000000000000000012273c52677c91a7bcb9a38e79644e39240f000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000215273847586379899eaabbbcb49f8c7b655a493a291909000000000000001325364c5e70849aafbfb49f8a77624c3c2c1906000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e2813000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000000000e23384c5d71859bb0b39e8875604b3727150000000000000000000000000000000000000000000000000a1f334758616363636363636363636363636363636363625a4835200b00091e324556606464646464646464646464646464646464646464646464646464646464635b4a36210c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000081b2e3f4b6073808b9295928b7f72604b3d2d1a070000000000000000000000000000000011212f404c5e667784929ca4aeb4b9c6bebcbabcbec5b9b3aea49c918476645c4a3e2d1e0e000000000013283e53687d93a8bdcad4c4b7b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2a28d78634d38230e000000000000000000000000000000000000000012273c52677c91a7bcb9a38e79644e39240f000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000004121d3145566176879ca7b9bfb09e927e685d4b3c2c1c0c000000000000000008182f404f647a8fa1b3baa896816c5a4935200f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e2813000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000000071b2d3e50657b90a3b5a8947f6a56453219090000000000000000000000000000000000000000000000000c21374c6176797878787878787878787878787878787978624d38220d000b21364b6074797979797979797979797979797979797979797979797979797979797979634e39240e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d22374b5d6c81959faaaaa99f94806b5b4a36210c0000000000000000000000000000000b1b2e3f4c5e667c899aa2b1b6c2b9b3aea9a6a5a7a9aeb4bac2b5b1a29a877a645c4a3c2b19090000000011263b50667b90a5c6d6cbb7a69d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d8d78634d38230e000000000000000000000000000000000000000012273c52677c91a7bcb9a38e79644e39240f000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000002122232434b6074849aa5b6c1b3a196806b604e3f2e1e0e000000000000000000001222374b5d6e8399abbcb49f8b78624d3d2d1a070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e2813000000000000000000000014293e53697e93a8b7a28d77624d38220d00000000000000000d22364a5c6f849aafb49e8976614c3828160000000000000000000000000000000000000000000000000013283d53687d8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e836f5a442f1a000e23394e63798e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e89745e49341f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f253a4f647a8c9fb4bbc7bab49f8b79634e39240e0000000000000000000000000000031729394b5d667c8b9ea7b4c0b8b3a89e999391909194999fa9b3b9c0b3a59d8a7a645a48372614010000000e24394e63798ea8b9cdc8b29d8888888888888888888888888888888888888888888888888778624d38230d000000000000000000000000000000000000000012273c52677c91a7bcb9a38e79644e39240f000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b261100000000102030404f616d8297a2b4c3b5a3998372604b423121110000000000000000000000081b2e3f4e63798c9fb4bbaa98826d5b4a3621100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e2813000000000000000000000014293e53697e93a8b7a28d77624d38220d00000000000000061a2c3d4f647a8fa2b4a996806b5846331a0a0000000000000000000000000000000000000000000000000013283d53687d92a3a3a3a3a3a3a3a3a3a3a3a3a3a3a399846f5a442f1a000e23394e63788ea3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39e89745e49341f00000000000000000000000000000000000000000000000000000000000000000000000000000000000001162b40566b8095abbcced8cebbaa947f69543f2a1400000000000000000000000000000a1e334657657b8b9fa9b8bfb3a79e9389837e7c7b7c7e848a949ea7b4c1b7a89d8878625544311d0b0000000b21364b6075899eb4c9b9a38e7a737373737373737373737373737373737373737373737373625a4835200b000000000000000000000000000000000000000012273c52677c91a7bcb9a38e79644e39240f000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110000000d1d2d3e4d5e6a7f94a0b1c0b7a69b8575615443302313030000000000000000000000001021364a5b6d8298a9bab49f8c79634e3f2e1b0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e2813000000000000000000000014293e53697e93a8b7a28d77624d38220d000000000000000c2135495b6e8399aeb49f8a77624c3a2917000000000000000000000000000000000000000000000000000013283d53687d92a8b8b8b8b8b8b8b8b8b8b8b8b8b8af99846f5a442f1a000e23394e63788ea3b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b39e89745e49341f000000000000000000000000000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc9daead8c8ad98836e58432e190300000000000000000000000006192c3c4b6175879da9babeb2a199887e766e69676567696f767f899ba3b3bfb7a69b8573604b392917030000091e3245566d8298adc3c0aa95806b585d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d4d483c2b1906000000000000000000000000000000000000000012273c52677c91a7bcb9a38e79644e39240f000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b261100000b1b2b3b4a5c667c8d9fb5bebaa99d88786257463626140500000000000000000000000000071a2d3d4d62788b9fb4bcab99836f5d4b37221200000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e2813000000000000000000000014293e53697e93a8b7a28d77624d38220d00000000000005192b3c4e63798c9fb4aa97816c5948341c0c000000000000000000000000000000000000000000000000000013283d53687d92a8b3b3b3b3b3b3b3b3b3b3b3b3b3af99846f5a442f1a000e23394e63798e9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9e89745e49341f00000000000000000000000000000000000000000000000000000000000000000000000000000000000003182d43586d8298adc3d3dfd2c1ab96816c56412c17010000000000000000000000000c2135495b6c8197a6b7c1b2a0988377696157545150525457616a778599a1b3c2b5a3937e685746331e0a00000216283850667b90a5b7c8b39e8876614c40484848484848484848484848484848484848484838352b1e0e00000000000000000000000000000000000000000012273c52677c91a7bcb9a38e79644e39240f000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b261100081828394859647a8a9fabbcbcab9f8b7a645948392818080000000000000000000000000000000f2035485a6c8196a8b9b3a18f7a654f402f1808000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e2813000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000b2034485a6d8297aba89f8b78634d3b2b1800000000000000000000000000000000000000000000000000000013283d53687d929e9e9e9e9e9e9e9e9e9e9e9e9e9e9e99846f5a442f1a000e23394e63798a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89745e49341f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000013293e53687e93a5b6c4cac4b5a3927c67523d2712000000000000000000000000011426364d63788c9fb5c4b4a398827362594b46393c3b3c39464b5962748399a4b6c1b39e8876614c36210c0000000b20354b6074879db2bfb8a796816b5e4c3e2f3333333333333333333333333333333333332320190e0000000000000000000000000000000000000000000012273c52677c91a7bcb9a38e79644e39240f000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26110114263646576277889da8babeb59f8d7d675c4a3b2b1b0b0000000000000000000000000000000006192b3c4c61778a9eb4bfb09a85705e4c362513000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e2813000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000d22384d62778b93939393826e5a49351d0d00000000000000000000000000000000000000000000000000000012283d52677d8989898989898989898989898989898989836e59432e19000c21364a5b707575757575757575757575757575757575757575757575757575757575746b5946311c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b21364b6075879ca6b2b5b2a69b8573604b35200b000000000000000000000000081c3043546b8095abbcbaa99b85736055473b322927262729323b48566175869cb1bfb8a6937e68533a2a17040000081d314455667c91a1b3c5b59f8d7c665c4c3f3025181e1e1e1e1e1e1e1e1e1e1e1e1e1e1e0d0b06000000000000000000000000000000000000000000000012273c52677c91a7bcb9a38e79644e39240f000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611111c3043546175859ba6b7c0b2a0947f6a5f4d3e2d1d0d0000000000000000000000000000000000000e1f3447596b8095a7b8b4a2907b665443301c090000000000000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e2813000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000e23394e63797e7d7d7d7e78624d3c2c190000000000000000000000000000000000000000000000000000000010253a4d5f6774747474747474747474747474747474746e6453402b1700071a2d3d4a5e60606060606060606060606060606060606060606060606060606060605e594d3d2a1600000000000000000000000000000000000000000000000000000000000000000000000000000000000000091e324556647a88979d9f9c978879635544311d080000000000000000000000000b20354b6073889db3c9b49f8b78625544372a1e16121012161e2a384657647a8fa1b3c4af9a846f5847331f0a0000011527374d5e6f8399a7b8bcab9e8a7b655d4a43362a1c1001000808080808080808080808000000000000000000000000000000000000000000000000000012273c52677c91a7bcb9a38e79644e39240f000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26112131424b60728399a3b5c3b4a298826d6150413020100000000000000000000000000000000000000004182a3b4c6176899eb3c0b19b8672604a3727150200000000000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e2813000000000000030a0c111114293e54697e93a9b7a28d77624d38220d0000000000000c21364a5b636868686868625a49351e0e000000000000000000000000000000000000000000000000000000000a1e30414d525e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e59534636241100000f1f2d36394a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a49463d2f1f0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000031628384b5c647782878a878176635b4a372715010000000000000000000000000d23384d62788da6adadab96816c5a493727190d03000000030d1a29394b5c6e8399aec7b49f8a76614c37210c000000091930404d6278899ea9bab9a89e8a7b696054473a2e1d15090000000000000000000000000000000000000000000000000000000000000000000000000012273c52677c91a7bcb9a38e79644e39240f000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b261e2e3f4e606b8096a1b3c1b7a59b8474604b433323120200000000000000000000000000000000000000000c1e334657697f94a6b7b5a3927d675544311d0a00000000000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e281300000000000b161e212626262a40556a7f95aac5a18c77614c37220c000000000000071a2d3d4a4e53535353534d493c2c190000000000000000000000000000000000000000000000000000000000011323303a3d49494949494949494949494949494949494340362818070000010f1a2123353535353535353535353535353535353535353535353535353535353534312a1f110100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1a2e3e4b59616d7275726c61584a3d2d19090000000000000000000000000011263b50667b90979797978e79634e3c2b1909000000000000000b1b2e3e51667c91a9babbaa907b65503b261000000000122035485a657b8b9fabbbb9a89e8c7f7261584b3f3127190e00000000000000000000000000000000000000000000000000000000000000000000000012273c52677c91a7bcb9a38e79644e39240f000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b262c3c4b5d687e929eb0bfb9a89d877761564532251505000000000000000000000000000000000000000000031729394b6075879db2c2b29c8774604b39281603000000000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e2813000000000b1b2932363c3c3c3d42576c8196acb8a68b75604b36200b000000000000000f1f2d36393e3e3e3e3e38352c1e0e00000000000000000000000000000000000000000000000000000000000005131e252834343434343434343434343434343434342e2b24180a0000000000070c0e20202020202020202020202020202020202020202020202020202020201f1c160d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010202e3b474c57566056574c473a2d1f0f000000000000000000000000000010253a50657a8282828282816c5b49351e0e0000000000000000001021364b61768a9fb4c8a7927d68523d28130000000006192b3c4b5d677d8d9faab9b9aa9f948376655d4b44372c1e14030000000000000000000000000000000000000000000000000000000000000000000012273c52677c91a7bcb9a38e79644e39240f000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2a3a495b657b8c9fb4bcbbaa9e8a796359473828150700000000000000000000000000000000000000000000000b1e324556687d92a4b6b6a5937e685745321e0c000000000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e281300000003162939464b51515152556072879cb1b39e88735645321d0900000000000000010f1a212328282828282320190e0000000000000000000000000000000000000000000000000000000000000000010a10121f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f19171107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002101d2a343738454b45383733291c0f0100000000000000000000000000000e23374b5d656d6d6d6d6d6c62513d2c1a00000000000000000000091e32465772879cb1bfaa947f6a553f2a1500000000000e1e2e3f4d5f677d8c9ea8b7bbb4a199877b6a6055493c311e160a00000000000000000000000000000000000000000000000000000000000000000012273c52677c91a7bcb9a38e79644e39240f000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b3747586379899eaabbbdb49f8c7c665b4a3a2a1a0a000000000000000000000000000000000000000000000000021628384b6073869cb1c1b39d8875604b3a2917040000000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e28130000000a1e32465761666666676a6f7e93a4b6af9a856f5a38281502000000000000000000070c0e13131313130d0c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070b0f14171a1b1c1d1c1b1815120c0a040000000000000000000000000000000000000000000000000000000000000000000000000e1e2b35383a3a3a3a3a38352c1e0e000000000000000000000000000000081c2e3f4b505858585858565144341f0f00000000000000000000031628395a6f859aafc0ab96806b56412b16000000000000102130414d5f677c8a9da5b3bfb3a59d8c8073635b4e4232281a0e000000000000000000000000000000000000000000000000000000000000000012273c52677c91a7bcb9a38e79644e39240f000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b44556176869ca7b8c0b19f937e695e4c3d2d1c0c00000000000000000000000000000000000000000000000000000a1d314455677c91a3b5b7a6947f6a5847331f0d0000000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e28130000000c21364b61757c7b7b7c7f84939cadbcab957f6a55402a150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090b131c2024292c2f30313231302e2a27211f170e0c06000000000000000000000000000000000000000000000000000000000000000006192b3c484d50505050504d493c2c190600000000000000000000000000000011212e373a4242424242413e3426160100000000000000000000021527375a6f849aafbea9947f69543f2a1400000000000002122330414d5e667a8799a1b4bbb7aa9f95857968604b45382b1e110300000000000000000000000000000000000000000000000000000000000012273c52677c91a7bcb9a38e79644e39240f000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66504c4c6073849aa4b6c2b3a297816c604f402f1f0f000000000000000000000000000000000000000000000000000000011426374d5f71859bb0c0b39e8976614c3b2b180500000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e28130000000e23384e63788d9191929499a1adbab49f8c78634d38230e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080e1020202020201d1b140b000000000000000000000000030c1214202020202020201a0c0a03000000000000000000000000000000000000000000040a151d20253035393e4144464747464543403c3733292320190e090000000000000000000000000000000000000000000000000000000000000b2035485a626565656565635b4935210c00000000000000000000000000000003111c23252d2d2d2d2d2c21211e170b00000000000000000000081d31445571869cb1bca7927d67523d28120000000000000005132330404c5c647683949faab7bbb4a39b8a7e6d6056483c2f2115000000000000000000000000000000000000000000000000000000000008182c3c52677c91a7bcb9a38e79644e3a2a18040000000000000000000000000000000000000012273c51677c91a6bcbba5907b666161616d8197a2b4c3b6a49a8473604b443733291b130100000000000000000000000000000000000000000000000000000919304150657b90a2b4b9a795806b594834200e00000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e28130000000e23384e63788da3a6a7aaaeb3bab4a296816c5a4935200c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003111c23253535353535322f281c0e00000000000000000000071420272a3535353535353530211e160b000000000000000000000000000000000000030c171f28323636434a4f53575a5b5c5c5b5a5855514c473a38352c241c1208000000000000000000000000000000000000000000000000000000000d23384d62787a7a7a7a7a79634d3823120100000000000000000000000000000000080e10181920222832363633291b0b0000000000000000000b20364b6075899eb4c2a5907b66503b261100000000000000000513222f3e4a5861727f8c9da5b2beb5a89f938275625a4c3f321c1308000000000000000000000000000000000000000000000000000001142636495b6a7f94a9bfbca7927d675947341f130000000000000000000000000000000000000012273c51677c91a6bcbca6917d767676767f949fb1c0c7b19c87766c6660554c4639301c140800000000000000000000000000000000000000000000000000001223384c5d6f849aafbfb49f8a77624c3c2c1906000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e28130000000e23384e63788da3b0b0b0aeaca99f968475614b3c2c190600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011212e373a4a4a4a4a4a47443a2c1c0b0000000000000000011625323b3f4a4a4a4a4a4a4a453632291b0b000000000000000000000000000000000a161e2a3338454b50546064696c6f70717271706d6a676158544d493c382f221b10050000000000000000000000000000000000000000000000000000162b40556b808f8f8f8f8f826e5841301f100300000000000000000000000000000004121d242b343838454b4b46392919090000000000000005182b3b50657a8fa8b9b5a48c77624c37220d0000000000000000000311202d3a4754606a7b8798a0b4b9bab4a0988578655d4f433025180800000000000000000000000000000000000000000000000000091c30435463798a9fb4c9c8b39e8877614c41301d0d00000000000000000000000000000000000012273c51677c91a6bcbfac9b918b8b8b8b949daebdcec9b49f8b85817b746b61574d413026180800000000000000000000000000000000000000000000000000081c2f3f4f647a8fa1b2baa897816c5a4935200f000000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e28130000000e23384e63788d9b9b9b9b9997928a8074615746331e0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081c2e3f4b5060606060605d574a3a28140000000000000009141d33434f54606060606060605a4b46392916030000000000000000000000000001131b28323a474c5660666c74797e81848586878685837f7c767069635a514c40372e1f180d00000000000000000000000000000000000000000000000000152a3f556a7f94a5a5a59d88735f4d3d2e2113010000000000000000000000000000122230393c484d5356606157463727170c02000000000813203448596c8197acc6b19c86715947341f0b0000000000000000000002101c2a36434a5d657682929ea8b5beb2a39b897b69614a4336251808000000000000000000000000000000000000000000000009192c3d4b6073849aa8bacdcbb8a698836e5f4d3b2b1805000000000000000000000000000000000012273c51677c91a6bcc9b9aca6a1a1a1a1a9aebbccdbcdbaa99f9b9690888076675f4b4336261401000000000000000000000000000000000000000000000000001122364a5c6e8399aabbb49f8b78634d3e2d1a070000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e28130000000d22384d6278858686868584827d776b605646392917000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e23374b5d657575757575726857442f1b0600000000000a19263144516169757575757575756f615746321e0a00000000000000000000000008141c3039454b58616b757b81888e9396999b9c9c9b9a9895918a857e7871665e4f4b3e342a1d1002000000000000000000000000000000000000000000000012273c52677c91a9bab7a6917c675b4b3f311d15090000000000000000000000000a1d30404d515a62686f767661554433291d15100d0e10182530434d62778b9fb4c0ab96816b563b2a18050000000000000000000000000c1825303f4b58616e7d8a9ba3b1bdb5a79e8c7f6c6054433625130000000000000000000000000000000000000000000001142637495b697f94a2b4c6d7d5c5b2a0927d675948342013000000000000000000000000000000000012273c51677c91a6bcd1c9bfbcb6b6b6b6bfc6c6c6c6c7c7bab4b0aba69d95887d6c605443301c1400000000000000000000000000000000000000000000000000071b2e3e4e63798c9fb4bbaa98826d5c4a3621110000000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e28130000000b2035485a6271717171706e6c6761594b4538291b0b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010253a50657b8a8a8a8a8a87725d47321d08000000000b1a2737444b626b7f8b8a8a8a8a8a8a8476614b36210c00000000000000000000000b182630414d57606a76808990979da6a8acafb0b1b1b0afadaaaa9f9a948d867b70645c4c473b2d201205000000000000000000000000000000000000000000000c21364c61768a9fb4c3b49e8a79655d4e423127190b00000000000000000000001024394d5f6771787e84898473604c463a3127252323262e36434a616e8399a9bab4a28f7a644f3a250f000000000000000000000000000008131c2e3a464c5f677885979fb4bab8aa9f948172605443301c12000000000000000000000000000000000000000000091d31445563798b9fb4c0c4c1c4c7bfb39e8977624c41311d0d0000000000000000000000000000000012273c51677c91a6bcd4c3b7b2b1b1b1b1b1b1b1b1b1b1b3b4bbc8c4b7b2a69d928172604b42311e0e00000000000000000000000000000000000000000000000000102135495b6d8297a9bab59f8d79644e3f2e1c0800000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e281300000005192b3c484d5b5b5b5b5b5957524c473b32281a0b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010253a50657a8f9f9f9f9c87725d47321d080000000c1b29384555606d80949fab9f9f9f978374615746321e0a000000000000000000000e1b2936434b5f67757f89969ea8acb2b7c4c1c3c1bebebfc2c2c8bbb4afa9a39b90847a6e62594a3e302315070000000000000000000000000000000000000000000a1f3346586b8095a5b6b9a89e887b68604b4437291b0e0000000000000000000012273c51677c868d93999f97816e61584b45383a38393b3e4b54606b7f94a1b2bfaf9a846f5c4b37220d00000000000000000000000000000000101b2933414d5a637481929fa9b7bbb49f978172604a40301d0d0000000000000000000000000000000000000009192d3d4b6073859ba9babdb0abafb3bfb8a799836f5f4e3c2b190500000000000000000000000000000012273c51677c91a6bccab7a59d9c9c9c9c9c9c9c9c9c9c9d9faaabb3b7c4b8b39f96826d604e3c2c1906000000000000000000000000000000000000000000000000061a2c3d4d62788b9fb4bcab99846f5d4b37231200000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e2813000000000e1e2b3538464646464644423d37342a1e160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010253a50657a8fa5b5b29c87725d47321d0800000d1c2a394656607381959eb5bcaf9e968173605646392916030000000000000000000e1e2b3a4654606b7d88949ea7b4b9c6c7bab4b0adaba9a8aaacaeb2b6c3c5c1b5b0a29a8f8377645c4d413325150600000000000000000000000000000000000000000417293a4b6075879da9bab8a69e8b7e6c6055463a2c1e0e00000000000000000013283e53687d93a4a8aeb49f97837667605652504d4e50555c647280949daebfb3a1907b65503e2e1b0800000000000000000000000000000000000b171f313c4956606c7d8a9da5b7bdb19f95806b5e4d3b2a18050000000000000000000000000000000000021527374a5b6a7f94a3b5c3b09f9699a1b3c5b3a1927d685a4834201400000000000000000000000000000012273c51677c91a6bcc7b29d8786868686868686868687888a8f959da6b0bcbdb0a0937e695a4935200c000000000000000000000000000000000000000000000000000f2034485a6b8196a8b9b3a18f7a654f402f1808000000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e281300000000000e19202231313131302f2d28221f180c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010253a50657a8fa5bab29c87725d47321d08010f1d2b3a4757617482979fb0bcb49d94807260554538291b0b0000000000000000000b1b2b3c4858617280919da6b3b9c5b9b3ada99f9a989694939597999ca5a9b0b4c1c0b4afa199877a675f50433324140300000000000000000000000000000000000000000c1e324556657b8b9faabbb8a99f9281736158493c2c1e0e00000000000000000f243a4f64798faabbc4bdb1a199877c756b67656263656a707a85959eaebbb7a599836e5d4c3820100000000000000000000000000000000000000004131e2c38454b5f687a879da5b7bdb59f8d7c665947341f0f00000000000000000000000000000000000a1d31445563798b9fb4c1b6a596818399a7b9bfb39e8978624d42311e0e000000000000000000000000000012273c51677c91a6bcbba5907c7171717171717171717273767a8088969eaebbbeb49f8b78624d3a2a170400000000000000000000000000000000000000000000000005192b3c4c6177899eb4bfb09a85705e4c362614010000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e2813000000000000050b0d1c1c1c1c1b1917120c0b0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010253a50657a8fa5bab29c87725d47321d02101f2c3b485861758498a0b1bbab9f937f6b60544437281a0b00000000000000000008182939485a627683969eb3b7c4bab4a79e98918a8583817f7e808284878e949ba3b0b4c0bfb2a59d8a7d6a6150423121110000000000000000000000000000000000000000031628384b5d667c8c9faab8bab49f968476625a493c2c1c0c000000000000000b21364b60758a9fb4cacebfb2a59d9188817d7a78787b7f858f9aa2b0bcb8a99d8776614c3f2f1c020000000000000000000000000000000000000000000e1a2731414e5c6478879da5b7bcab9e8977624c3d2c1a060000000000000000000000000000000a1a2d3e4b6074859ba9babcab9c877578899eb3bfb9a79a846f604e3c2b18080000000000000000000000000012273c51677c91a6bcbba5907b665c5c5c5c5c5c5c5c5c5760646b7580949daebfbaa997816c5847331f0a000000000000000000000000000000000000000000000000000d1f3347586a7f95a6b8b4a2907c665443301c090000000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e2813000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010253a50657a8fa5bab29c87725d47321d11202d3d49596276859aa2b2baaa9f8d7e6a614a433626190a00000000000000000001142636465762788699a1b0bcbeb1a89f9589827c76706e6c69696a6d6f72787f858f9aa2b2b6c3b7a89f917f6a604e3f2e1e0e00000000000000000000000000000000000000000a1a2e3f4c5e677d8c9ea6b5bdb0a29a8678635a493a2a1a0a000000000000091e32455671869cb1c6d3cac3b7b2a69e96928f8d8e90949ba3b0b4c0b6a79e8b7b65584733211100000000000000000000000000000000000000000000000a151d313d4a5a6278879da7b8b9a897826d5b4935210c0000000000000000000000000000021527384a5c6a8095a3b5c3b59f8d7b65687d92a1b3c5b3a2937e685a493625130000000000000000000000000012273c51677c91a6bcbba5907b66504747474747474739454b4f57606b7f94a1b3c7b49f8a76614c37210c0000000000000000000000000000000000000000000000000004182a3a4b6175889eb3c0b19c8673604b3727150200000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e2813000000000000000000000000000000080e10121212120d0b0500000000000000080e101c1c1c1c1c12100a0100000000000000000000000000000000000000000000000000000000000010253a50657a8fa5bab29c87725d47321d212e3e4a5b6378869ba3b4b9a89f8c7d68604f4330251809000000000000000000000a1c3043546175869ca4b3bfbbb4a0978a80766d676157585654535557595b636a707a85919da5b4c0bab49e937e685d4b3c2b19090000000000000000000000000000000000000000112130404d5f677b889ba3b1bdb3a49c887863584738281502000000000002162838586d8298adc2c2b6b1aab4b8b3aba7a5a2a3a5aab0b5c1b9b4a59d897b655d4b3a2a170300000000000000000000030303030300000000000000000002131f2d3c485a6278899eb3c1b59f8c79634e38230e00000000000000000000000000000a1d314556647a8c9fb4c1b6a596816c5d606f8399a7b8c0b49e8a78625443301c0e00000000000000000000000012273c51677c91a6bcbba5907b66503b31313131313128323639454b616f8499afc5baa9917c67513c271200000000000000000000000000000000000000000000000000000c1e324657697e93a5b7b5a4927d675544311d0a00000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e28130000000000000000000000000003111c2325272727272220190d0000000003111c2325313131313127251e1305000000000000000000000000000000000000000000000000000000000010253a50657a8fa5bab29c87725d473222303f4b5c6479879ca4b5b7a79e8a7c675f4e42321c1308000000000000000000000a1a30414b60728399a4b6c2b8aa9f9382776b6157514b4639413f3e40423d494e545c64707c879aa2b1bdbcb49f8c7b655a49372715020000000000000000000000000000000000000003122230414d5d657885979fb4bbb6a69c8676615645321d0e00000000000014293f54697e94a9c9b6a49c959fa9b2b7c4bab7b8babec1b5b1a89e948779655d4b3f2e1c0c00000000000000010a1012181818181814120c02000000000000010f1e2b3c495a677c91a3b4bcab96806b563c2b19050000000000000000000000000a1a2e3e4b6074869caabbbcab9c8775604b4d6277899eb3bfb9a89a8472604a3c2c1808000000000000000000000012273c51677c91a6bcbba5907b66503b261c1c1c1c1c161e212832434f647a8fa7b8c7ac97826c57422d170200000000000000000000000000000000000000000000000000031629394b6074879db2c2b29d8774604b39281603000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e28130000000000000000000000000011212e373a3d3d3d3d37342b1d0d00000011212f383b46464646463c39302313000000000000000000000000000000000000000000000000000000000010253a50657a8fa5bab29c87725d473231404d5d657a889da5b6b6a69d897b665e4d413124150000000000000000000000021628384d5f6b8096a1b3c2b8a79e8c7e6d62594b46393632292c2a292b2d2c35393e4b4f5e667684979fb1bdbbaa9e8978625544311d0b0000000000000000000000000000000000000000041323303f4b5a627481929faabbb6a49a8474604b3c2c1906000000000010253a50657a8fabbcb19c86808b959da6a7aaacadaba9a7a39b958a7f74635b4b3f2e21100000000000000005131e25282d2d2d2d2d29271f1406000000000000000e1e2c3c4d5f70859bb0c9b29d88735a4835200b0000000000000000000000021628384b5c6b8095a4b5c3b49f8c7b6557454859677d92a1b3c5b4a2937e695b49362614010000000000000000000012273c51677c91a6bcbba5907b66503b26110707070003090b1620354b6074889eb3c4af9a856f5a45301a0500000000000000000000000000000000000000000000000000000b1d314556687d92a4b5b6a5937e685745321e0c000000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e28130000000000000000000000000c1c2e3f4b4f525252524d483b2b190500081c2f3f4b505c5c5c5c5c524d413018080000000000000000000000000000000000000000000000000000000010253a50657a8fa5bab29c87725d4732414e5e667b8a9ea6b7b5a59d8879645d4c40302314060000000000000000000000091e324556677d919eb0bfbaa89e897b68604d483b3329211e1617141415181a21232e37404c58617381979fb1c0b8a79c8674604b3929160300000000000000000000000000000000000000000513212e3c4856606c7e8c9faabbb4a295806b5a4935200900000000000c21364c61768b9fb5b49f8a747880888d929596989694928d867f776a6056493d2e21100200000000000001132330393d43434343433e3b32241402000000000000000e1e304152677c91abbcb7a68d78624d38220d00000000000000000000000b1e324556647a8c9fb4c2b6a596816c5d4b393b4d5f6e8399a7b8c0b49f8a79635443301c0f0000000000000000000012273c51677c91a6bcbba5907b66503b261100000000000000081c30435470859bb0c5b19c86715c47311c070000000000000000000000000000000000000000000000000000021527384b6073869cb1c1b39d8875604b3a2a17040000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e2813000000000000000000000004172a3a4b5d656767676762594834200b000e23384b5d657171717171675f4d3626140100000000000000000000000000000000000000000000000000000010253a50657a8fa5bab29c87725d47434f60687c8b9ea8b8b4a49c8778635b4b3f2f22130500000000000000000000000417293a4b6075879db2bcbcb49f8a7a655d4e42342b1e170c0a030000000000060c101b22303a4755606d8197a2b4c4b5a4937e695746321e0c00000000000000050b0d0e0e0e0e0e0c0a0400000003111e2b38454b60687d8c9fb4bfb49f8b78624d37271502000000000a1f33465872879db2baa98e79646b73787d808182817e7c78716a62594b45382c1f1003000000000000000a1e30414d525858585858544f42321f0c00000000000000001221364c61768b9fb5c4a6917c67513c2712000000000000000000000b1b2e3f4b6074869caabbbcab9c8775604b3f2e30414c6277899eb3bfbaa99b8573604b3d2c190900000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000001142636596f8499aec4b29d88725d48331d080000000000000000000000000000000000000000000000000000000a1c304354667c91a3b4b7a6947f6a5847331f0d0000000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e281300000000000000000000000a1f334758657b7c7c7c7d78624d37220d0010253b50657b85868686867d675443301c0800000000000000000000000000000000000000000000000000000010253a50657a8fa5bab29c87725d445161697e8c9fa9b9b3a39b8677635a4a3d2e2011040000000000000000000000000a1f334658697f94a5b7c3b09e927d675c4b3f3120180d03000000000000000000000008121c2a37444b6074849aa6b7c2b39e8875614b3b2a180400000000000d181f222323232323211f170c000000000e1a2832424e5f677d92a1b3baa996816c5544311d08000000000417293a596e8398aec7a7927d68555b63686a6c6d6b6967625a554c483b32281a0f0100000000000000001025394d5f676d6d6d6d6d69614f3b271200000000000000000a1f33465872879cb1bea9947e69543f2914000000000000000000031628394b5d6b8096a4b6c3b49f8c7b65574532211f344859677d92a1b2c5b4a3947f695b4937271501000000000000000012273c51677c91a6bcbba5907b66503b261100000000000000071c30435470859bb0c5b19b86715c46311c07000000000000000000000000000000000000000000000000000000011426364c5e70859bb0bfb39e8976614c3b2b180500000000000000000000000000000000000000000000000000000000041a2f44596f8499aebda8937d68533e28130000000000000000000005182a3b4c61768a9292928976614c36210c000b20354b6074879b9b9b9b8673604b35201100000000000000000000000000000000000000000000000000000010253a50657a8fa5bab29c87725d4b626b7f929faabab2a29a85766259493c2d1f1002000000000000000000000000011527374c6176899eb3c3b6a596806b5f4d3e2f2113050000000000000000000000000000000c19273144556277889db2c1b8a6957f6a5947341f0b000000000d1d2a343738383838383633291c0c000000000a151d31414d5f6f8399aabbb39e8975604b36200b0000000000152a3f556a7f94aabfac96816c57494d525557585654524d483c37342b1e160a0000000000000000000012283d52677d82828282827f69543e291400000000000000000417293a5a70859aafbfaa95806a55402b150000000000000000000b1e324657657b8c9fb4c2b6a496816c5d4b392816182a3b4d5f6e8399a7b8c1b49f8b79635544311d0f000000000000000012273c51677c91a6bcbba5907b66503b2611040404040005091420354a6074889eb3c4af9a846f5a452f1a05000000000000000000000000000101010101010101010101010101000818304050657b8fa1b3b9a796806b594834200e00000000000000000000000000000000000000000000000000030303041a2f44596f8499aebda8937d68533e2813000000000000000000000b1f3448596b8096a8aa96806b5746331e0a00081d314455697e93a6b1a4917c66513f2f1c08000000000000000000000000000000000000000000000000000010253a50657a8fa5bab29c877255606d80949db4bbb1a09883756158483b2c1e0f0100000000000000000000000000081d3144556b8095a7b8c2b29c8774604b41302011030000000000000000000000000000000000091527374759667c91a3b4c4b49e8977614c37220c00000005182a3b474c4d4d4d4d4d4c463a2917040000000002132330414d63788b9fb4b9a78f7a644f3a250f000000000011263b50667b90a5c4b09a85705443383d404143413f3d38352b2220180d020000000000000000000000152a3f556a7f949898989885705b3d2c1a060000000000000000192f44596e8499aec0ab96816b56412c1601000000000000000b1b2f3f4b6175879cabbcbcab9c8675604b3f2e1b0a0d1d30414c6177889eb3bebaa99b8573604b3d2d19090000000000000012273c51677c91a6bcbba5907b66503b261a1a1a1a1a1a19202631424f647a8fa6b8c8ac97826d57422d1802000000000000000000040d1316161616161616161616161616161616161623374b5d6f8499abbcb49f8a77624d3c2c1906000000000000000000000000000000000000000000050b0d181818181a2f44596f8499aebda8937d68533e281300000000000000000004172a3a4c62778a9fb49f8b78624d3929170300011527374b6075889eb3b09b85705d4b372310000000000000000000000000000000000000000000000000000010253a50657a8fa5bab29c8772607381959eaebbb09f9782746157473a2b1d0e0000000000000000000000000000000b20354b6074899eb3c5b5a4927d675544312313020000000000000000000000000000000000000009192a3b4c5e70859bb0c1b9a8947e69543a2a170400000b1f344759626363636363615846331f0a000000000005132035495a70859aafc5a9947e69543f291400000000000d22374c62778ca6b7b49e8974604b35282b2c2d2c29272320190e0b050000000000000000000000000013283d53687d92a8adad9d88735b4935210c00000000000000061a2c3d5b70859ab0bfaa947f6a553f2a1500000000000000031729394b5d6c8196a5b6c3b49f8c7b6556453221100000131f344759677d91a0b2c4b5a3947f6a5c4a3727150200000000000012273c51677c91a6bcbba5907b66503b2f2f2f2f2f2f2f2b3437444b606e8399aec5bbaa917c67523c2712000000000000000000071521282b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2e3f4f647a8d9fb5baa997816c5b4935211000000000000000000000000000000000000000000d1920222d2d2d2d2d2f44596f8499aebda8937d68533e28130000000000000000000a1f3347586c8196a8ad98826d5a48341b0b000000091e3245576a7f94a8b5a3907b65503e2d1b070000000000000000000000000000000000000000000000000010253a50657a8fa5bab29c87727482979fb0bbae9e95817260564639291c0d0000000000000000000000000000000010253b50657a90a7b8c8b19c8673604b372715050000000000000000000000000000000000000000000d1d304050657b90a3b4c6af9a85705847331f0a00000d22374c6277787878787876614c36210c00000000000006192c3c566b8196abc0ab96816b56412c1600000000000b1f34485973889db3b9a88d78634e38231517181614120d0b060000000000000000000000000000000011263b51667b90aabbb7a68e79634e3a2a18080000000000000c2135495b72889db2c9a8927d68533d2813000000000000000b1e334657657b8d9fb5c3b6a496816c5d4b38281603000004182a3b4d5f6e8398a6b8c1b49f8b79645544311d1000000000000012273c51677c91a6bcbba5907b665044444444444444453c484d55606a7e92a1b3c8b49f8b76614c37210c0000000000000000041526333d4041414141414141414141414141414141414141414a5c6e8398aabbb49f8b78634d3e2d1b070000000000000000000000000000000000000d1d2b343842424242424244596f8499aebda8937d68533e28130000000000000000021527374c61778a9fb4a28e79644f3c2b1900000000031628394c6176899eb4af9a846f5c4a36220f0000000000000000000000000000000000000000000000000010253a50657a8fa5bab29c87758499a1b1bcb49d94806d60544538281b0c00000000000000000000000000000000071a2d3d566c8196abc5bbaa927d67544330190900000000000000000000000000000000000000000000001223384c5d70859bb0c5b49f8b76614c37210c0000172d42576c818d8d8d8d8d806a55402b1500000000000000152a3f556a7f94aabfad97826d58422d18000000000005182a3b5a6f8499afc6a7917c67523c27120203010101010101010101010101000000000000000000000c21374c61768a9fb4c4aa957f6a59473625180e090202090f1c2c3c4e63798ea5b7bcab907b66513b26110000000000000b1b2f404b6175879dabbcbcab9c8675604b3f2e1a0a000000000c1d30414c6177889eb3bebbaa9b8674604b3e2d1a0a000000000012273c51677c91a6bcbba5907b6659595959595959595a5b5a6269737f8d9fb4bfbbaa99836e5847331f0a00000000000000000d21334450555656565656565656565656565656565656565656565663788b9fb4bbaa98836e5c4a36220e000000000000000000000000000000000005192b3c484d58585858585858596f8499aebda8937d68533e28130000000000000000081d3144556a7f94a9af9a846f5c4a361d0d00000000000a1f3347586b8096a9b3a28e7a644f3d2c1a0600000000000000000000000000000000000000000000000010253a50657a8fa5bab39d88869aa2b2bcab9f927f6b624b4336271a0b00000000000000000000000000000000000c21364a5b72879db2c7b49f8a76614c362614000000000000000000000000000000000000000000000000081c2f3f546a7f94a9c3bbaa927d67523d28120000152a40556a7f95a2a2a297826c573c2b1905000000000000132536566b8095abc0ac97816c57422c17000000000000162b40556b8095aac0ab95806b56402b1616161616161616161616161616160c0a04000000000000000a1f33475870859aafc5b39e8977615443362b211e16151d202d3a495a6b8096abc3b49f8b77614c37220c00000000000417293a4c5e6c8197a5b7c3b49f8c7b655645322110000000000000121f334758667c91a0b2c4b5a395806b5c4a382816020000000012273c51677c91a6bcbba5907b6f6f6f6f6f6f6f6f6f6f7173777e86949fabbcc0b49f8c79634e3a291704000000000000000013283d50626b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6c8297acc8b59f8d7a644e3c2b1905000000000000000000000000000000000b2034485a626d6d6d6d6d6d6d6d6f8499aebda8937d68533e281300000000000000000b20364b6074889db2a4907b66513e2d1b0000000000000417293a4d62778a9fb4ae98836e5b4935210d00000000000000000000000000000000000000000000000010253a50657a8fa5bab7a69d9ba3b4c0b49f8d7e696151443026180a0000000000000000000000000000000000000e24394e63798ea5b6c4af9a856f5746331808000000000000000000000000000000000000000000000000001124394e63798ea5b7c8ae98836e59382816030013283e53687d93a8c3b19b86715a483520100000000000071c3043546e8398adbfaa957f6a55402a1500000000000012273c51677c91a6c5af9a846f5a3b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b221f180c00000000000004172a3a54697e93a7b8b9a79882726054483c3632282731363e4a5863788b9fb4c5b09a85705947341f0b00000000000c1f334658667b909fb1c3b6a496816b5d4b3828160300000000000004182a3a4d5e6d8298a6b8c2b49f8c7a645645321e100000000012273c51677c91a6bcc5b09b858484848484848484848486888d939ca4b4bcc1b4a297816c5b49351c0c000000000000000000162b40556b808080808080808080808080808080808080808080808080808298adc2bcab99846f5a4835200b000000000000000000000000000000000d22384d6277818282828282828282879db2bda8937d68533e28130000000000000006192c3c52677d92a6b19c8673604a352010000000000000000c203448596c8297abb49f8c79634e3b2b1905000000000000000000000000000000000000000000000010253a50657a8fa5bac4b7b3b0b5c1bca7917c68604f43331c14080000000000000000000000000000000000000013283d53687d92a8c3bea9947e695439291700000000000000000000000000000000000000000000000000000c21364a5b72879db2c7b29d87725645321e09000f24394e64798ea5b7b5a38d78624d3e2e1e120a03040a1627384a6073889eb3c2a8927d68533d28130000000000000d23384d62788da7b9b39e887359484141414141414141414141414141414137342a1c0c0000000000000c21364c6176889eb3c2b2a0968172625a504b453838454b505c6476869ca9bab8a7947f69543b2a1804000000000c1c2f404c6176889db2bdbcab9c8675604b3f2e1a0a00000000000000000c1c30404c6176889db3bebbaa9c8674604b3f2e1b0a00000012273c51677c91a6bcc9b5a39b9999999999999999999a9b9ea6a8b1b6c2bdb1a39a8473604b3d2c1a000000000000000000001f34495e748996969696969696969696969696969696969696969696969698a0b2c6c9b3a18d78624d38220d000000000000000000000000000000000b2034485a6b8095979797979797979da6b7bda8937d68533e2813000000000000000c2035495a70859bb0aa937e695443301c070000000000000005182b3b4d63788c9fb4ab97826d594834200c000000000000000000000000000000000000000000000010253a50657a8fa5babaa89f9fa9b9c6ae9983756158483c2d1f1103000000000000000000000000000000000000162b40566b8095abc0b9a48f7a644f3a250f0000000000000000000000000000000000000000000000000000071a2d3d586d8398adc2b59f8b75604b36210b000d22364a5c72879db2c2ac97816c5c4b3c2f211e17181f28324556667c91a6b8b6a48d78624d38230d0000000000000c2035495a74899eb3b8a68c776256565656565656565656565656565656564c473a2a180400000000000a1f334658697e93a4b5beb09f9684786d6560565a5a5660656d7a869ca4b6c1b39e8976614c37210c0000000004172a3a4c5e6d8297a6b7c3b49f8c7a65564532211000000000000000000000121f334758667c91a0b2c4b6a496806b5d4b39281603000012273c51677c91a6bcd1c1b5b0aeaeaeaeaeaeaeaeaeafb0b3b8c4c6c0b4af9f978576615544311f0f000000000000000000001f34495e74899eabababababababababababababababababababababababadb2becfd0bfa28d78634d38230e0000000000000000000000000000000005192b3c4a60728399a4adadadadadb2b7c4bda8937d68533e2813000000000000001325364d63788da2b49f8b77614c3625130000000000000000000d2035495a6e8398adb49f8b78624d3a2a17040000000000000000000000000000000000000000000010253a50657a8fa5bab49f8a8a9ea8b7b3a1998476625a4a3d2e2112040000000000000000000000000000000000192e43596e8398aec3c5a28d77624d38220d000000000000000000000000000000000000000000000000000000162c41566b8196abc0bcab8e79634e39230e00071b2d3e576c8197aabbb49f8c7a645a4c403633292a3438454b6074869cb1c5b19c86715a4935200b00000000000006192c3c5a70859aafc5a6907c6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b615947341f0a00000000000417293a4b6073869ca6b8bdb0a29a8b827a7571706f71757a828c9ca4b6c2b4a3937e695847331f0a000000000a1f334758667c91a0b1c4b6a496816b5d4b382816030000000000000000000004172a3a4c5e6d8298a6b7c2b49f8c7a645745321e11000012273c51677c91a6bcbdbdbdbdbdbdbdbdbdbdbdbdbdbdbcc9bcb4b1aba29a90817461584737271501000000000000000000001f34495e74899eb3bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb8a28d78634d38230e00000000000000000000000000000000000d1c3043546175869ca6b8c7bdbdbdbdbdbda8937d68533e2813000000000000071c3043546b8095aaaf99846f594734180800000000000000000006192c3c4e64798ea1b3aa96816b5847331f0b0000000000000000000000000000000000000000000010253a50657a8fa5bab29c877a8a9da6b6b3a39b8678635b4b3f30221406000000000000000000000000000000001a2f455a6f849aafc4b9a78b76604b36210b000000000000000000000000000000000000000000000000000000142a3f54697f94a9bec9a48f7a644f3a250f00001023384e63798b9fb4bbaa9d8878665e514b46393a474c56606d8197a4b5b8a7957f6a553c2b190600000000000000172c41566c8196abc1af9a8480808080808080808080808080808080808077614c37220c0000000000000b1d3144556278889da8b6c0b4a99f978f8a87858586898f989faab6c2b5a49b8573604b3a2a17040000000a1d30404c6176889db3bebcab9c8675604b3f2e1a0a0000000000000000000000000c1c30404c6176889db3bebcab9c8675604b3f2e1c080012273c51677c91a6a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7a5ab9f9b968f847b6c6056473a2a190900000000000000000000001f34495e74899ea8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a28d78634d38230e00000000000000000000000000000000000013253646576278889ea9a8a8a8a8a8a8a8a8937d68533e28130000000000000b20354a6073879db2a9927d67523a2a1800000000000000000000000e22364a5c6f8499afb49e8a77614c3928160300000000000000000000000000000000000000000010253a50657a8fa5bab29c877279889ca4b4b4a49c8879655d4d40312416010000000000000000000000000000001b30465b70859bb0c5b39e89745645321e0900000000000000000000000000000000000000000000000000000012283d52677d92a7bcbaa5907b65503b261000000c2135495b6c8197a7b8b7a69d897c706661575a5a5961687582979fb1c0b39e8976614c36210e000000000000000012283d52677d92a7c7b4a29a96969696969696969696969696969696968d78634e38230e00000000000001152737485a647a8a9ca4b5bcbab4ada99f9c9a9a9c9fa8adb4bbbcb5a49c8676615544311c0c000000001024394d5f6e8298a6a8a8a89f8c7a6556453221100000000000000000000000000000121f334758667c90a0a8a8a8a496816c5d4b37230e0012273c51677c919393939393939393939393939393939392908e8b86817a70655d4b45382a1c0c0000000000000000000000001f34495e7489939393939393939393939393939393939393939393939393939393939393938d78634d38230e00000000000000000000000000000000000008182839485a657b8b939393939393939393937e68533e281300000000000010253a4f657a8fa5b49f8a76614b36210c0000000000000000000000071b2d3e50657b8fa3b4a8957f6a5746321e0a00000000000000000000000000000000000000000010253a50657a8fa5bab29c87726378869ba2b3b6a69d897b675f4e42331d150900000000000000000000000000001c31465b71869bb0c6b39d88735443301c0800000000000000000000000000000000000000000000000000000012273c51677c91a6bcbba6907b66513b26110000061a2c3d4c6277899eaabbb7a79e90847c7672707072777e8798a0b1bdb4a2947f6a5846331f0a00000000000000000e24394e63798ea9bac0b4afababababababababababababababababa38d78634e38230e0000000000000009192b3c4a5c647986979fabb4bcc7bab4b1afafb1b4bac6bbb4ab9f968678625847372614000000000012273c51677c91939393939393806b5d4b3828160200000000000000000000000000000417293a4c5e6d829393939393938b7a65503a2510000d23384d62787e7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c7b7976716b645c504c3f32281a0c0000000000000000000000000013283d52687d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7e76614c36210c000000000000000000000000000000000000000b1b2b3c4b5d657b7d7d7d7d7d7d7d7d7d7e79634e39230e000000000006192b3c566b8095abaf9a846f5746331e0a0000000000000000000000001023374b5d70859bb0b39e8975614b38271502000000000000000000000000000000000000000010253a50657a8fa5bab29c87725a62768499a1b1b7a79e8b7d696050443127190a000000000000000000000000001b30455a70859aafc5b49f8a75604b35200b00000000000000000000000000000000000000000000000000000014293e53697e93a8bebaa58f7a65503a25100000000e1f344859657b8c9fabb9b8b3a29a918a878585878b939da6b2beb6a69a8473604b3a29170400000000000000000b20354b60758a9fb4bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb8a38d78634e38230e00000000000000000e1e2d3e4a5b6375828c989fabaeb3b8c5b9b9c5b8b3aeaa9f988d81746259483a2a1909000000000012273c51677c7e7d7d7d7d7d7e74604b3f2e1a0a000000000000000000000000000000000c1c2f404c61767e7d7d7d7d7d7e7c66513b2611000c2035495a6268686868686868686868686868686868686765646158564f4b3e382f1d150a000000000000000000000000000011253a4e60686868686868686868686868686868686868686868686868686868686868686868615746331e0a00000000000000000000000000000000000000000e1e2e3f4b5d6568686868686868686868635b4936210c00000000000b2035495a71869cb1a9947e695439291703000000000000000000000000081c2e3f51667c91a4b5a7937e695645311d08000000000000000000000000000000000000000010253a50657a8fa5bab29c87725d58617483979fafb9a99f8d7e6b624b4437281b0c0000000000000000000000001a2f44596f8499aec4bbaa8c77614c37220c000000000000000000000000000000000000000000000000000000162b40556b8095aac0c5a38e79644e39240f00000005182a3b4b5d687e8d9ea8b5c0b4afaa9f9c9a9a9c9fabb2b7bfb3a49c8877615544311b0b000000000000000000081d31445570869ba8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a38d78634e38230e00000000000000000010202d3d4a57616d79838b93989ea7a2a4a4a3a79e99948b837a6b6056483b2b1c0c0000000000001024394d5f6768686868686868605645322110000000000000000000000000000000000000121f3346586168686868686868665e4c38240f0006192c3c494d535353535353535353535353535353535352504e4c473a3a372e231c11020000000000000000000000000000000b1e31414e5253535353535353535353535353535353535353535353535353535353535353534c463929170300000000000000000000000000000000000000000011212f3f4b50535353535353535353534e493d2c1a0600000000000d23384d62788da4b5a68e79634e39230e00000000000000000000000000001120354a6073869cb1b29d8774604b362614010000000000000000000000000000000000000010253a50657a8fa5bab29c87725d4756607381959db4baab9f93806d605545392a1c0e0000000000000000000000172d42576c8297acc1c8a38e79634e39240e00000000000000000000000000000000000000000000000000000417293a576d8297acc2b9a78c77614c37220c000000000d1d2e3f4e60687d8a9ca4b2b7c3bbb4b1afafb1b4bcc2b5b1a19986786259473726140000000000000000000001142637576c81939393939393939393939393939393939393939393938d78634e38230e00000000000000000002101f2d39464b5b636e787e83898b8d8f8f8d8c88837e786e645c4b45382b1d0d000000000000000a1d30404d51535353535353534b45382816020000000000000000000000000000000000000417293a464c53535353535353514c402f1c0900000e1e2c35383e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3d3b3937332925221b10080000000000000000000000000000000000011323313a3d3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3633291b0b000000000000000000000000000000000000000000000311212f373b3e3e3e3e3e3e3e3e3e3e39362c1f0f00000000000014293e53697e93a8b29d88735b4936210c0000000000000000000000000000071c304354677d92a5b7a6927d685443301c080000000000000000000000000000000000000010253a50657a8fa5bab29c87725d384555606c7f929faabab49e9581736057473a2b1e0f0100000000000000000014293f54697e94a9c6bca7917c675236261401000000000000000000000000000000000000000000000000000a1f33475870859ab0c5b39e89745947341f0a0000000000112131424e5f677986929da5abb2b5bcc9b9c3b6b2aba49c908376625a493b2a190900000000000000000000000f24394e647a7e7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7e76614c36210c00000000000000000000010f1b29323d4a4e5a62686e737678797a7876746e69625a4f4a3e32281a0d000000000000000000122230393c3e3e3e3e3e3e3e3632281a0a00000000000000000000000000000000000000000b1b2933363e3e3e3e3e3e3e3b382f2212000000000e1920232828282828282828282828282828282828272624211f170f0d08000000000000000000000000000000000000000005131e25282828282828282828282828282828282828282828282828282828282828282828211e170b00000000000000000000000000000000000000000000000003111c23252828282828282828282823211a0f01000000000005192b3c586e8398adad98836e583d2c1a060000000000000000000000000000001325364b6074879db2b19c8673604b3520110000000000000000000000000000000000000010253a50657a8fa5bab29c87725d4737444b616a7e8c9fa8b8af9f9783756158483c2d1f1103000000000000000010263b50657b90a8b9c2ad97826d5443301c08000000000000000000000000000000000000000000000000000c21374c61768b9fb4c5b09b85705b3a2a1804000000000003132431404d5b63737d8790969c9faba4a4a2a59c968f867b6f6158493c2b1d0c0000000000000000000000000d21364a5c646868686868686868686868686868686868686868686868615846331f0a0000000000000000000000000b161e2d363c484d5359576162646463616054544d483c362e1d150a0000000000000000000004121d242728282828282828211e160a000000000000000000000000000000000000000000000b171f212828282828282826241c12040000000000060c0d131313131313131313131313131313131312100f0c0a04000000000000000000000000000000000000000000000000010b111313131313131313131313131313131313131313131313131313131313131313130c0a03000000000000000000000000000000000000000000000000000000080e10131313131313131313130e0c06000000000000000b2035485a73889db2a9937e69543e291400000000000000000000000000000000081d314455697e93a6b6a4917c66513f2f1c0800000000000000000000000000000000000010253a50657a8fa5bab29c87725d472631435060687c8a9ea7b7b1a1998576625a4a3d2e211205000000000000000b21364b6075899eb4c8b39e8874604b35200f00000000000000000000000000000000000000000000000005182b3b52677c92aabbc3aa947f6a553f2a1500000000000000061322303d4a546067747b81878a8d8f8f8d8b87817a73665e4c463a2b1e0e00000000000000000000000000071a2d3e4a4e53535353535353535353535353535353535353535353534c463a29170400000000000000000000000000030f1a212b35383e39464b4d4f4f4e4c4a433638352b221b1002000000000000000000000000000a1012131313131313130b0903000000000000000000000000000000000000000000000000040a0c13131313131313110f0900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d22384d62788da6b7aa8f7a644f3a250f00000000000000000000000000000000011527374b6075889eb3b09b85715d4b38231000000000000000000000000000000000000010253a50657a8fa5bab29c87725d47321d33424e5e667a899da5b5b3a39b8678645c4b3f30231200000000000000091e3245566e8399aec9b8a68f7a644f3d2c1a0600000000000000000000000000000000000000000000000b203448596d8298adc8b7a58e79634e39240e000000000000000004121f2d36434b5560656c72757779797775726b6560544c4033291b0e0000000000000000000000000000000f202d36393e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3633291c0c00000000000000000000000000000000070e19202228293236383a3a38373530252220190e07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a10122020202020202020202020202020202020201f1d1b19140e0b07000000000000000000000000000000000000070d0f1f20202020202013110b02000000000000000000000000000002090b1b2020202020201a0b08010000000000000000000000080e1020202020201d1b140b000000000000000000000000000000000000000012273d52677c92a7b49f8a75604b36210b0000000000000000000000000000000000091e3245566a7f94a8b5a3907b65503e2d1b07000000000000000000000000000000000010253a50657a8fa5bab29c87725d47321d2431404c5c6479879ba3b4b4a49c887a655d4d41301c0c0000000000000216283852687d92abbcc4ad98826d5b493521110000000000000000000000000000000000000000000006192b3c4c62778a9fb4c7b29d87725b4a36210c000000000000000000010f18263037444b5056566062646462605656504b43362f1f170b00000000000000000000000000000000010f1a21242828282828282828282828282828282828282828282828211f170c00000000000000000000000000000000000000050b0d13161e212324252321201c130d0b05000000000000000000000000000000000000000000000000000000000a101220202020202020202020202020201f1d1c1a1816110c0a0300000000000000000000000000000000000000000000000004121d24273535353535353535353535353535353535353432312e2924201c1308040000000000000000000000000002101b22243435353535353529261f14060000000000000000000000000a151d20303535353535352f201d1409000000000000000003111c23253535353535322f281c0e00000000000000000000000000000000000001162b40566b8095abb19c86715645321e090000000000000000000000000000000000031628384c6176899eb4af9a846f5c4a36220f000000000000000000000000000000000010253a50657a8fa5bab29c87725d47321d13222f3e4b5b6377859aa2aaaaa69d8a7b675f4d3a2a18040000000000000c22374c61778b9fb4cab49f8c79634e3f2e1d0d000000000000000000000000000000000000000003112035495a6c8196a9babfab96816c563d2d1a07000000000000000000000008141c2731363b38454b4d4f4f4d4b45383a35302618110400000000000000000000000000000000000000070d0f13131313131313131313131313131313131313131313130c0a04000000000000000000000000000000000000000000000000030a0c0d0f0f0e0c0b0700000000000000000000000000000000000000000000000000000000000004121d242735353535353535353535353535353533312f2d2b26211e160f0d07000000000000000000000000000000000000000000122230393c4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a494746433e393530251f180c03000000000000000000000010202d36394a4a4a4a4a4a4a3e3b31241403000000000000000000000a1a273136464a4a4a4a4a4a4535312619090000000000000011212e373a4a4a4a4a4a47443a2c1c0b000000000000000000000000000000000002162838596e8499aeae99836e59382816020000000000000000000000000000000000000a1f3346586b8096a9b4a28f7a644f3d2c1a060000000000000000000000000000000010253a50657a8fa5bab29c87725d47321d0412202e3d49596275849495959595958a7c675847331f0a0000000000000a1f3447596f849aafbfbcab98836e5d4b3c2b1a0a00000000000000000000000000000000000003112232434d62788b9fb4c7b3a18f7a654f3a2510000000000000000000000000000109151d2026273136383a3a3836312725201c1408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000122230393c4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a48464442403c36322924221b10090000000000000000000000000000000000000a1d30404d516060606060606060606060606060606060605e5d5b59534e4a4336332a1e160a000000000000000000071b2d3e4a4f5f606060606060534e4231211100000000000000000002152738454b5b6060606060605a4b44372614010000000000081c2e3f4b5060606060605d574a3a28140000000000000000000000000000000000091e32455672879cb2ab95806b56402b16000000000000000000000000000000000000000417293a4c62778a9fb4ae99836e5b4935210d0000000000000000000000000000000010253a50657a8fa5bab29c87725d47321d0802101f2c3b485761747f7f7f7f7f7f7f7f77614c37220c00000000000004182a3a4f647a8fa0b2c8b59f8d7b655a4838281b0d000000000000000000000000000000000213212f404f616e8399aabbbcab99846f5d4b37220e00000000000000000000000000000002080b10151d2022242422201d15100b0801000000000000000000000000000000000000000000000000000000000000010a10122020202020202015130d0300000000000000000000000000000000000000000000000000000000000000000000000000000000050b0d13171a1b1d1c1a18130e0b0700000000000000000000000000000a1d30404d5160606060606060606060606060605f5d5b595856514b463939362d241c1209000000000000000000000000000000001024394d5f677575757575757575757575757575757575757472706e696360544c473a32281b0f01000000000000000d22364a5c647475757575757568604e3f2e1d0d0000000000000002101d31455660707575757575756f605544311d0800000000000e23374b5d657575757575726857442f1b06000000000000000000000000000000000b21364b60768a9fb4a7927d68523d281300000000000000000000000000000000000000000c203448596c8197aab59f8c79634e3b2b190500000000000000000000000000000010253a50657a8fa5bab29c87725d47321d0800000e1d2a39465660696a6a6a6a6a6a6a615847331f0a000000000000000c22374b5c6e8398aabbbcab9e8878625645392b1d1006000000000000000000000000010a161e313f4c5e6a7f94a1b3c7b49f8c79644e3f2e1b080000000000000000000000000000000000000002090b0d0f0f0d0b090200000000000000000000000000000000000000000000000000000000000000000005121d2427353535353535352a2820150700000000000000000000000000000000000000000000000000000000000000000000000002090e192022282d2f3032312f2d2924201c13080400000000000000000000001024394d5f6775757575757575757575757575757472716f6d6b666157544e4a3e382f241d1205000000000000000000000000000012273c51677c8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a898786837e79736a61584b45392d1f11040000000000000f24394f64798b8a8a8a8a8a8a7e685d4b3c2b1a0a000000000000102131424b6074858a8a8a8a8a8a8474604b35200b000000000010253a50657b8a8a8a8a8a87725d47321d08000000000000000000000000000000000e23384e63788daabba5907a65503b2510000000000000000000000000000000000000000005182b3b4d63788b9fb4ab97826d594834200c00000000000000000000000000000010253a50657a8fa5bab29c87725d47321d080000000d1b2938454b54555555555555554c473a2a180400000000000000071b2e3e4e63798b9fb4c2b8a69b85746057483b2e20190e0801000000000000000408141c2832414e5d667c8d9fb4bfbaa998826d5c4a362110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001122330393c4a4a4a4a4a4a4a3f3c33251505000000000000000000000000000000000000000000000000000000000000000000000a151d202b35383d424446474645423e393530251f170c0000000000000000000012273c51677c8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a88868482807b76706a645c514c40382f20180d0000000000000000000000000012273c51677c919f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa79e9c9b98938e8880776c60574a3d2f22110200000000000d22364a5c677d929e9f9f9f9f8b7b655a4838281602000000000d1d2e3f4e606c8197a29f9fa89c8776615544311d08000000000010253a50657a8f9f9f9f9c87725d47321d080000000000000000000000000000000010253a50657a8fa5c8a38e78634e39230e0000000000000000000000000000000000000000000d2035495a6e8398adb49f8b78624d3a2a1704000000000000000000000000000010253a50657a8fa5bab29c87725d47321d08000000000b1a2731363f4040404040404037332a1c0c000000000000000000102135495b6c8197a4b5c5b5a399837562594b3f352c201c14100e0c0b0d0f11181f263038454b5f687b899eabbcbdb49f8b78624d3d2d1a020000000000000000000000000000000000000000000000000000070b0f1417191b1c1c1a1816120c0a0400000000000000000000000000000000000000000a1d30414d5160606060606060555043332312020000000000000000000000000000000000000000000000000000000000000002121a2731363c484d5257595b5c5b5a58534e4a433633291c1302000000000000000012273c51677c919f9f9f9f9f9f9f9f9f9f9f9fa99f9d9b999795918a857f7970665e514c40342b1d1100000000000000000000000012273c51677c91a6b5b5b5b5b5b5b5b5b5b5b5b5b5b5c5b9b3b2b0aea8a69d958a8175635b4c402f20100000000000071b2d3e4d5f6b8096a2b3bbaa9e8878625645321e140300000a1a2b3b4b5d687e939fb1bcab9e8a7963584737261401000000000010253a50657a8fa5b5b29c87725d47321d080000000000000000000000000000000012273c52677c91a7bbaa8c76614c37210c00000000000000000000000000000000000000000006192c3c4e64798ea1b3aa96816c5847331f0b000000000000000000000000000010253a50657a8fa5bab29c87725d47321d0800000000000a151d20292a2a2a2a2a2a2a221f180c00000000000000000000061a2c3d4b6175869ca7b8c1b3a1998577655d4d493c353026252321202224262a3436434b56606b7d8b9ea7b8c0b09e927d685a48351f0f0000000000000000000000000000000000000000000000000908131c20242a2c2e3032312f2d2b27221f180d0b0500000000000000000000000000000000001024394d5f67757575757575756a61504130201000000000000000000000000000000000000000000000000000000000000009151d2f38454b525a62686c6f7072716f6d686360544c463a301d150a0000000000000012273c51677c91a6b5b5b5b5b5b5b5b5b5b5b5bab4b2b0aeadabaa9f9a948e857b70665e4d483b2f1c13080000000000000000000012273c51677c91a6bcd8c8bbb4b4b4b4b4b4b4b4b4b4b4b4b5bcc9bdc4b8b3a99f968679665e4c3e2e1d0d0000000000102030414b6073849aa5b6b8a69b8574604b4232211100021528384859657b8b9fb4bdb59f8d7c665b4a3a29190900000000000010253a50657a8fa5bab29c87725d47321d080000000000000000000000000000000014293f54697e94a9b49f8a75604a35200b000000000000000000000000000000000000000000000e21364a5c6f8499afb49e8a77614c392816030000000000000000000000000010253a50657a8fa5bab29c87725d47321d0800000000000002090b14151515151515150c0a040000000000000000000000000e1e3246576278899eaabbbfb3a39b887a6e635a4f4b43363b383635373a3c3a474c5460677580929fa9b8c2b3a296816c604e3c2b19010000000000000000000000000000000000000000000009121c24253035393f41434547464442413d37332a221f180d0400000000000000000000000000000012273c51677c8d8a8a8a8a8a8a7f6a5f4d3e2e1e0e0000000000000000000000000000000000000000000000000000000009192731404c56606871787d828485878684827e79736961584d4132281a0a00000000000012273c51677c91a6bccacac1bdb8b8b8b8b8b8b8b9bbbcbec1c8bbb4afa9a39b90857c7062594b3f3025180900000000000000000012273c51677c91a6bccebbaa9f9f9f9f9f9f9f9f9f9f9f9f9faba3a8adb4babab4a49c8b7c665c4b3b2a18050000000002131d3144556176879ca8b9b5a398826d604f3f2f1e0e111d3245566277889da9bab3a195806a5e4d3d2d1c0c0000000000000010253a50657a8fa5bab29c87725d47321d0800000000000000000000000000000000162b40566b8095abb39e88735443301c0700000000000000000000000000000000000000000000071a2d3e50657a8fa3b4a895806a5746321e0a0000000000000000000000000010253a50657a8fa5bab29c87725d47321d08000000000000000000000000000000000000000000000000000000000000000003162939485a657b8c9fabb9c1b5a69d8f83786c65605452504e4c4b4d4f5154596168737d87969eb4babfb3a49a8473604b42311e0e00000000000000000000000000000000000000000004111c232f3836434a4f5457595a5c5b595856524c473a37342a1f180c00000000000000000000000000001024394d5f6a7f94a09f9f9f9f8d7d675c4b3c2b1b0b000000000000000000000000000000000000000000000000000008182737444b5e66747d868d9297999b9c9b9a97938e877f76675f4b4538281808000000000012273c51677c91a6bccabaada8a3a3a3a3a3a3a3a4a5a7a9abb1b5bcc9c1b4b0a39b908477655d4a4336261909000000000000000012273c51677c91a6bcc9b49f8b89898989898989898989898a8c8e92989fa9b1bdb6a99e8a7a645947341f10000000000001142637475863798a9eabbcb2a0937e695d4b3c2b1b2132424b6074859ba6b7b6a4998372604a40301f0f000000000000000010253a50657a8fa5bab29c87725d47321d0800000000000000000000000000000000172c41566c8196abb29d88725d4825130000000000000000000000000000000000000000000000000f23374b5d70859bb0b39e8975614b3827150200000000000000000000000010253a50657a8fa5bab29c87725d47321d080000000000000000000000000000000000000000000000000000000000000000000b1b2b3c4b5d687e8d9ea8b6c3b7b2a0988b817a746d67656361606264666970777d86929da5b0bcbcb0a19986766155443123130000000000000000000000000000000000000000000c181f2f38404c51546064696c6e7071716f6d6b676158554c483b332a1c14010000000000000000000000000a1d304150616d8298a2b4bcab9f8b7a645a4839291909000000000000000000000000000000000000000000000000001325364455606c7c88929ca4a7acaeb0b1b0afada8a59d94897d6e605645362614010000000012273c51677c91a6bcc1ad9c938e8e8e8e8e8e8e8e909294969b9fabadb4bbc1b5b0a29a887b6a605444372618080000000000000012273c51677c91a6bcbba5907c74747474747474747474747576797d838b979fb4bbb9a89e8977624c3e2d1b07000000000009192a3a4a5b667c8d9fb5beb49f8c7b655a4839282e3f4f606d8297a3b5b9a79c867561544330221201000000000000000010253a50657a8fa5bab29c87725d47321d0800000000000000000000000000000000172c42576c8197acb29c87725d47321d000000000000000000000000000000000000000000000000081c2e3f51667c91a4b5a7947e695645311d0800000000000000000000000010253a50657a8fa5bab29c87725d47321d08000000000000000000000000000000000000000000000000000000000000000000000e1e2e3f4e60687c8a9da5b4c0beb2aa9f978f88827d7a78767577797b7f858b929ba3b2b7c3bab49e9683766158473726140500000000000000000000000000000000000000010f1d2a343f4c505e666d74797f81838587868482807c77706a62594c473a311d1509000000000000000000000001122333434b6074849aa5b6baa99d8878625746372614010000000000000000000000000000000000000000000000081c3043546073818d9da6b1b5c2c1bfbbbabbbec2c3b6b2a79e928274605443301c0f0000000012273c51677c91a6bcbda8937e79787878787878797b7d7e81868b92989faab4bbc0b4a69e8d7f726055443625130000000000000012273c51677c91a6bcbba5907b665f5f5f5f5f5f5f5f5f54606163686d7781919faabbb8a797826d5c4a3622090000000000000c1c2d3d4d5e6a8095a1b2bbaa9e8978625745323c4b5d697e939fb1bcab9e89796357463625130400000000000000000010253a50657a8fa5bab29c87725d47321d0800000000000000000000000000000000182d42586d8297adb19c86715c47311c070000000000000000000000000000000000000000000000001120354a6073869cb1b29d8874604b36261401000000000000000000000010253a50657a8fa5bab29c87725d47321d080000000000000000000000000000000000000000000000000000000000000000000000112131424e5e6679879aa2b2b6c3bbb4aca69e9792908d8b8a8c8f91949a9fabb1b5c1bbb4a99f9280736158473a2919090000000000000000000000000000000000000004121f2d3b474c5d65707b82888e9496989a9c9b999796928b8580776b61584e423127190b000000000000000000000005151d3145566176879da7b9b8a69c8675615544311d140300000000000000000000000000000000000000000008182e3f4a607282969fabb7c4bcb4afa9a6a5a6a9afb4bcc5b9b3a0988272604b3d2d1a0700000012273c51677c91a6bcbba5907b66636363636363646667696c71777c838b979faab4c1b8ab9f948273605443301c1100000000000012273c51677c91a6bcbba5907b66504a4a4a4a4a4a4a4a434b4c4e5359626c7d8c9fb4c1b49f8c7a644f372614010000000000000f1f30404a60728399a4b5b8a79b8575604b43485a657b8c9fb4beb49f8d7c665b49392918080000000000000000000010253a50657a8fa5bab29c87725d47321d0800000000000000000000000000000000182e43586d8398adb09b86715b46311c06000000000000000000000000000000000000000000000000071c304354677d92a5b7a6927d685443301c08000000000000000000000010253a50657a8fa5bab29c87725d47321d08000000000000000000000000000000000000000000000000000000000000000000000003132331404c5b637684919ca4b3b7c4c5b8b3ada7a5a3a1a0a2a4a6a9b0b4bcc9bfb3aa9f978a7d6b6055463a291c0c000000000000000000000000000000000000000112222f3d4a59616f7b8590989ea6a9acaeafb1b0aeadabab9f9b958a807768604b4437291b0b00000000000000000000000215273847586379899eaabbb5a4998373604b423122110100000000000000000000000000000000000000001325364b5d6b8096a0b5bcbfb3ab9f9a94919091949a9fabb4c0beb2a096816c5c4a36210f00000012273c51677c91a6bcbba5907b66504e4e4e4e4e4f505254565961676e78828b9ba3b0bdbcb4a0978272604a402f1a0a000000000012273c51677c91a6bcbba5907b66503b34343434343426303537393b474c5f687e93a3b5bcab97826c5544311d0800000000000001121c3043546175869ca7b8b5a398826e614f566278889eaabbb2a0947f6a5e4c3d2c1b0b000000000000000000000010253a50657a8fa5bab29c87725d47321d0800000000000000000000000000000000182d43586d8298adb19b86715c46311c07000000000000000000000000000000000000000000000000001325364b6074879db2b19c8773604b352011000000000000000000000010253a50657a8fa5bab29c87725d47321d08000000000000000000000000000000000000000000000000000000000000000000000000051322303d4a5861727c87939da6aeb4b9c6c2bcbab8b6b5b7b9bbbec4c2b6b1aba1998c8278685f4b4437291c0c00000000000000000000000000000000000000000f1f2f404c5c647784909ba3adb3b8c5c1c1bfbdbec0c2c9bcb4b0a89f968a7e6c6055463929160300000000000000000000000a1a2a3a495b657b8c9fb4bdb3a196816c604e402f1f0f00000000000000000000000000000000000000071c304354657b8f9eb0bebbafa1998c847f7c7b7c7f848c9aa2b1bebeb49f8c79644e3e2d1a07000012273c51677c91a6bcbba5907b66503b39393939393b3d3f3b474c525b636d7885969fb4bbbeb1a0957f6a5e4c382816030000000012273c51677c91a6bcbba5907b66503b261f1f1f1f1f141c2021232a34414a6072859bb0c9b39e8874604b35200b000000000000000013253646576378899eaabbb2a0947f695e6075859ba6b8b5a498836e6150402f1f0f00000000000000000000000010253a50657a8fa5bab29c87725d47321d0800000000000000000000000000000000172d42576c8297acb19c87725c47321d0700000000000000000000000000000000000000000000000000081d314455697e93a6b6a4917c67513f2f1c080000000000000000000010253a50657a8fa5bab29c87725d47321d080000000000000000000000000000000000000000000000000000000000000000000000000004121f2d3a47546067747e8892999ea8acb1b4bac7b9bab9c4b7b2afa9a49c968e83796d62594e413126190c00000000000000000000000000000000000000000c1c2d3d4c5e667a879aa2b0b4c1c7bab4afacaaa8a9abadb2b6c3c6bab4a89e938173615746321e150300000000000000000000000c1c2c3d4c5d687e939fb0bfb09f937e695e4c3d2d1d0c0000000000000000000000000000000000000b20354a6072859bb0bcbdaf9d9483786f6a666566696f7984979fb1c1bcab9a846f5c4a36210d000012273c51677c91a6bcbba5907b66503b26232323242628292a34373c494d5a637481929faabbbeb49f8d7c665645321e0d0000000012273c51677c91a6bcbba5907b66503b26110a0a0a0001080b0c0e181f304354687d92a7c6b8a68f7a654f3a2510000000000000000008182939495a657b8c9fb4beb49f8d7c666d8298a3b5b8a79c8675614b433322120100000000000000000000000010253a50657a8fa5bab29c87725d47321d0800000000000000000000000000000000172c41576c8196acb29d87725d48321d0000000000000000000000000000000000000000000000000000011527374b6075889eb3b09b85715d4c3823100000000000000000000010253a50657a8fa5bab29c87725d47321d080000000000000000000000000000000000000000000000000000000000000000000000000000010f1c2a36434a556068757d838990979c9fa9a3a4a5a4a3a69d9a948d87807a6e635b4d483b311d140900000000000000000000000000000000000000000417293a4a5b667c8a9da5b3c0c0b4b0a99f9a9695939495979da5aab3b9c5b9b49f978475614b433221110000000000000000000000000f1f2f3f4e606c8196a1b3bdb49f8c7c665b4a3b2a1a0a000000000000000000000000000000000114263651667b90a3b5c5b19f947f6e635a54515051545b63738197a3b5c9b3a28e79644e39240f000012273c51677c91a6bcbba5907b66503b26110e0e0f111214181f222c353c4955606c7d8c9fb4bdbcab9d8775604b3b2a180500000012273c51677c91a6bcbba5907b66503b2611000000000000000000051325364c61778ca8b9c5a7927d68523d28130000000000000000000b1b2c3c4c5d697f94a0b2bcab9e89787f94a0b2bbaa9e8978625746322515040000000000000000000000000010253a50657a8fa5bab29c87725d47321d0800000000000000000000000000000000162b41566b8096abb29d88735d392816030000000000000000000000000000000000000000000000000000091e3245566a7f94a8b5a3907b65503e2e1b0700000000000000000010253a50657a8fa5bab29c87725d47321d08000000000000000000000000000000000000000000000000000000000000000000000000000000000c18253037444b5761686e757b8286898c8e8f8f8e8d8b88847e78726b645c4e493d342b1d13010000000000000000000000000000000000000000000a1f33475863798a9ea8b7c3b7b2a29a918a85817f7e7e8082878d959ea7b0bdbdb1a298826e614f3f2e1c08000000000000000000000001112131424b60738399a4b5bbaa9e8a7963594738281502000000000000000000000000000000081c3043546d8297acc1b8a797816c614d493c3c3b3c3d49556074859bb0c2c0aa947f6a55372715010012273c51677c91a6bcbba5907b66503b2611000000000000040b0e19212c37444b5f697e939fb1c1b7a5947f6a5947341f0c00000012273c51677c91a6bcbba5907b66503b261100000000000000000000081f34475974899eb4bfaa947f6a553f2a15000000000000000000000e1e2f3f4f616d8298a3b5b8a79d878c9fb4beb49f8c7b655a4939281607000000000000000000000000000010253a50657a8fa5bab29c87725d47321d0800000000000000000000000000000000152a3f556a7f94aab49e89745745321e090000000000000000000000000000000000000000000000000000031628384c6176899eb4af9a846f5c4a36220f00000000000000000010253a50657a8fa5bab29c87725d47321d08000000000000000000000000000000000000000000000000000000000000000000000000000000000008131c273139464b525660666c717477797a7a797876736f69635b564f4a3e362c20190d00000000000000000000000000000000000000000000081c2e3f4c6176879ca8b9c1b5a69d90857b766f6c6a68696b6d72787f89969fb4bac0b2a0947f6a5d4b37231100000000000000000000000003141d3144556175869ca6b8b9a89d8777615645321d150500000000000000000000000000000b20354b6074889eb3c8b39e8976614c43352c2726272c374556657b90a4b6c5b09b85705544311d080012273c51677c91a6bcbba5907b66503b2611000000000000000000060e192731414f606c8197a3b5c3b49e8977624c3b2a1804000012273c51677c91a6bcbba5907b66503b26110000000000000000000005182b3b5d72889db2c1ac96816c57412c170000000000000000000000112132434b6074859ba6b8b7a59d9faabbb2a0947f695d4c3c2c1b0b00000000000000000000000000000010253a50657a8fa5bab29c87725d47321d080000000000000000000000000000000013283d53687d92a8b9a88b76604b36210b0000000000000000000000000000000000000000000000000000000a1f3346586b8096a9b4a28f7a644f3d2c1a06000000000000000010253a50657a8fa5a5a59c87725d47321d080000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151d28323638454b5157546062636465646361575a544e493d39362d211a0f0500000000000000000000000000000000000000000000000e23374b5d6e8399a5b6c2b5a39b887b706660575755535456585a636a7681929fa9babfb49f8c7b6550402f1c090000000000000000000000000114263746576278889da9bab7a59b8574604b4333231302000000000000000000000000000e23384e63788da6b8bfac97816c58473320191110111927384c5d72879cb1c7b49f8a75604b35200b0012273c51677c91a6bcbba5907b66503b2611000000000000000000000009151d32424b6073859bb0bfb9a897816c5947341f0b000012273c51677c91a6bcbba5907b66503b2611000000000000000000000b2034485974899eb4c0ab96806b56412b16000000000000000000000003141e3245566278889da9bab7b2b4bbb5a398826d614f3f2f1e0e0000000000000000000000000000000010253a50657a8fa5bab29c87725d47321d080000000000000000000000000000000011263b51667b90a6c6a28d78624d38230d0000000000000000000000000000000000000000000000000000000417293a4c62778a9fb4ae99836e5b4935210d000000000000000010253a50657a8f8f8f8f8f87725d47321d080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b161e212832363b36434a4d4e4f504f4e4b46393f38352c24221b1006000000000000000000000000000000000000000000000000081b2e3f50657a8fa1b3c3b6a49b8577665e514b4539403e3f403c494d58616c7e8b9fb4bdbbaa9b85705e4c38230f0000000000000000000000000009192939485a647a8b9fabbcb4a398826d6150413020100000000000000000000000000010253b50657a90a5aaaaa6917b66513a2917060000000a1a2f3f576c8197acc1bcab8c77624c37220d0012273c51677c91a6bcbba5907b66503b261100000000000000000000000002141d314455657b90a1b3c6b49f8b77614c37220c000012273c51677c91a6bcbba5907b66503b2611000000000000000000041426364c62778ca8b9bfa9947f6a543f2a15000000000000000000000000021628384859657b8b9fb4c9c7cab8a69b8575604b43322111000000000000000000000000000000000010253a50657a8fa5bab29c87725d47321d00000000000000000000000000000000000f24394e64798ea3c5a48f79644f3a240f000000000000000000000000000000000000000000000000000000000c1f3448596c8197aab59f8c79634e3c2b1905000000000000000c21364c61767a7a7a7a7a7a644f3a240f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090c161e212625303537393a3a39383632292923211a0f0d0700000000000000000000000000000000000000000000000000000e22374b5d6f849aafbfb9a89c867562594c403632282a29292b2c353a464c60687d929fb1c5b4a3907b65503d2d1a07000000000000000000000000000b1b2b3c4b5c677d8d9fb5beb2a0957f6a5f4d3f2e1e0e00000000000000000000000012273c52677c91949494948e79634e39240e000000000013283d53687d92a8bdc9a38e79644e39240f0012273c51677c91a6bcbba5907b66503b261100000000000000000000000000011527374b5d6f8499afc3bbaa927d6853392816030012273c51677c91a6bcbba5907b66503b2611090909090002090b0d181f304354687d92a8c6c1a6917c67513c2712000000000000000000000000000a1a2b3b4b5d687d93a8bdd2c8b39e887862564532251403000000000000000000000000000000000010253a50657a8fa5bab29d87725d36261401000000000000000000000000000000000c22374c61778ca7b8a6917c66513c27110000000000000000000000000000000000000000000000000000000005182a3b4d63788b9fb4ab97826d5a4834200c000000000000000a1f334658616565656565645c4a36220d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090b11131c20222425252423211e16140e0c06000000000000000000000000000000000000000000000000000000000010253a4f657a8fa2b4c6b49e8a796357483b2f211e161513141619202933414e5f6c8197a7b8c1b09b85705b4a36210c00000000000000000000000000000e1e2e3e4d5f6a7f95a0b2beaf9e927d675d4b3c2b1b0b00000000000000000000000f24394f647a7f7f7f7f7f7f76614c36210c000000000011263c51667b91a6bbbaa5907b65503b26100012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000009192e3f4f64798ea5b6c8ae99846f5746321e090012273c51677c91a6bcbba5907b66503b261e1e1e1e1e1e151d20232a34414b6073869cb1c6b4a38c77624c37220d000000000000000000000000000818293a4a5c697e93a8bed3c8b39e8978625645311d1301000000000000000000000000000000000010253a50657a8fa5bab39e89735443301c08000000000000000000000000000000000a1f34475973899eb3a9947f6a543f2a1500000000000000000000000000000000000000000000000000000000000d2035495a6e8398adb49f8b78624d3a2a17040000000000000417293a464c50505050504f4a3e2e1b0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070b0d0e0f100f0e0c0a030000000000000000000000000000000000000000000000000000000000000000071a2d3d586d8298adc0b9a8957f6a5b4a392b1d11090300000000060c171f31414b6075889eb3c8b4a28e79634e39240e00000000000000000000000007121c2329334150616d8298a2b4bcb49f8b7b645a4939291909000000000000000000000d22364a5c646a6a6a6a6a6a615746331e0a000000000010253a4f657a8fa4babba6917b66513c26110012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000001122364a5c72879cb2c7b49f8a75614b36210c0012273c51677c91a6bcbba5907b66503b33333333333333283236383a474c5f697e94a4b5c1b09b85705947341f0b000000000000000000000000001325364758647a8b9fb4c9c9ccb8a79b8574604b41301f0f000000000000000000000000000000000010253a50657a8fa5bab49f8a75604b35200b0000000000000000000000000000000004182a3a5b70859ab0ac97826d57422d18000000000000000000000000000000000000000000000000000000000006192c3c4e64798ea1b3aa96816c5847331f0b000000000000000b1b2933363a3a3a3a3a3a362e20100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c21364a5b73889db3c8b49e8a76614c3d2d1b0d00000000000000000004131e3245576a7f94aabbc0a9937e695437271502000000000000000000010f1a212f3839464b52556074849ba5b6baa99e887862574637261401000000000000000000071b2d3e4a4f5555555555554c463929170300000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000071b2d3e566c8196abc1baa9917c67513c27120012273c51677c91a6bcbba5907b6650494949494949494938454b4d5259616c7d8d9fb4c2b4a3917c67523b2a18050000000000000000000000000d1c3043546176879da9bab9b3b9c5b5a396816c5f4d3d2c1b0a0000000000000000000000000000000010253a50657a8fa5babcab8c77624c37220d0000000000000000000000000000000000172d42576c8297acb09a85705b3c2b190600000000000000000000000000000000000000000000000000000000000e21364a5c6f8499afb49f8a77614c39291603000000000000000b171f21252525252524221b10020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080b0e11141516151412100c0a0400000000000000000000000000000000000e23394e63798ea6b7c9ac97816c5847331f0f0000000000000000000000031628394c61768b9fb4c4ae99846f5544311d08000000000000000001141f2d36404c505761676a6d6f77879db2c7b8a69c8675615544311d140400000000000000000010202d36393f3f3f3f3f3f3633291b0b0000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000010263b50657b90a5c5c7ab96816b56412c160012273c51677c91a6bcbba5907b665e5e5e5e5e5e5e5e5e5e566062676d7781919fabbcb9a89b8573604b35200d0000000000000000000000000d1d2e3f4a60728399a5b7b9a79ea7b1bdb19f917d675b493928160300000000000000000000000000000010253a50657a8fa5bac9a6917c6651372715020000000000000000000000000000000014293e54697e93a9b39e88735a4935200b0000000000000000000000000000000000000000000000000000000000071a2d3e50657a8fa2b4a895806a5746321e0a0000000000000000040a0c10101010100f0d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b0d141d202326292a2b2b292726211f170f0d08000000000000000000000000000014293e54697e93a9c4bcab917c66513a2a17010000000000000000000000000a1f33475870859bb0c5b49e8974604b36200b0000000000000009141d323d4a4e5e666e767c80828483859bb0c5c5b5a4998373604b4232221200000000000000000002101b22242a2a2a2a2a2a211e170b000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000b21364b60758ba7b8c4ae99846f59442f1a0012273c51677c91a6bcbba5907c73737373737373737373737475787c828a979fb4bcb6a89e8a79635544311d08000000000000000000000008182a3b4b5d6a7f94a1b3bbaa9e89979fb1bdb49e8a79635745321e1301000000000000000000000000000010253a50657a8fa5bac1ab96816c5544311d0b000000000000000000000000000000000f253a4f647a8fa9b8a78d78624d38230d0000000000000000000000000000000000000000000000000000000000000f23374b5d70859bb0b39e8976614b3827150200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080d192022263135383c3e3f40403e3d3b36332925221b1008010000000000000000000000182d43586d8298adc2b59f8b76614c37210c000000000000000000000000000417293a566b8095abc0b9a88e79634e39240e00000000000009192631424f5b636f7b838a91959799999ba3b4c8d2c2b3a197816c604f402f1e0e00000000000000000000070d0f1515151515150c0a0300000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b66503b261100000000000000000000000000000000091e32455673899eb3c7b19c87725c47321d0012273c51677c91a6bcc9b39e898888888888888888888888898b8d92979fa9b1b8b3a59c8a7b655b493726140100000000000000000000011426364759657b8c9fb4bfb49f8c7a8197a3b5b9a89c8675604b42311f0f000000000000000000000000000010253a50657a8fa5bac8b29d8774604b392917080000000000000000000000000000000b20364b60758a9fb4a7917c67523c2712000000000000000000000000000000000000000000000000000000000000081c2e3f51667c91a4b5a7947e695645311d080000000000000000000000000000000000000000000000000000000000060c0e12151718191918171613100d0b050000000000000000000000000000000000000000000000000000000000000000000005111c232b343737444b4d51535556555352504c463a3a372e201c1408000000000000000000001a2f445a6f8499afc4b29d87725847331f0a000000000000000000000000000011273c51667c91a6bbc6a5907b65503b2510000000000001142637444b6069798490999fa9aaacafaeb0b4c1cbd5d0bfb19f937e695e4c3c2c1b0a00000000000000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b66503b261100000000000000000000000000000000021628385c71879cb1c6b39e88735e49331e0012273c51677c91a6bcccb9a89e9e9e9e9e9e9e9e9e9e9e9e9ea8a2a7adb4bab4a69e94877a655d4b3d2c190900000000000000000000000d1c3043546277889daabbb2a1947f6974859ba7b9b5a497826d604e3d2d1b0b0000000000000000000000000010253a50657a8fa5bacbb7a6927d675746332618100f111513110b0100000000000000091d31455670859aafab96816c563a2917040000000000000000000000000000000000000000000000000000000000001120354a6073869cb1b29d8874604b3626140100000000000000000000000000000000000000000000000003090b111a2123272a2c2d2e2e2d2c2b2825222019150f0b0700000000000000000000000000000000000000000000000000000000010d181f2e373b484d5455606366696a6b6a6967656158574f4b3f353026180d0000000000000000001c31465b71869bb0c5b09b86705b3a2a1704000000000000000000000000000010253a50657a8fa5babca7917c67523c27120000000002101d314455606c7e8c9aa2aeb4bab9b4b0aeaeb0b3b8c5c9cdbdb49f8c7c665a4939281603000000000000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b66503b261100000000000000000000000000000000001a30455a6f859aafc4b49f89745f4a341f0012273c51677c91a6bcd6c6b9b3b3b3b3b3b3b3b3b3b3b3b3b4b9c6bcc2bcab9f94887f75645c4b3f2e1f0f00000000000000000000000d1d2f404b6072849aa6b7b6a499836e616278899eb3bcb1a0927d685c4a3929170300000000000000000000000010253a50657a8fa5bad4c4b29c8775614b43362d2624262a28251e130500000000000002152738566b8095abb09b85705846331f0a000000000000000000000000000000000000000000000000000000000000071c304354677d92a5b7a6927d685443301c0800000000000000000000000000000000000000000000060a161e21262c35383c3f424344444342403d3b38352b2a24201c13080400000000000000000000000000000000000000000000000008141c2a343f4b4f5962696f75787b7e7f80807e7c7b76716c645d524b43362b1d1204000000000000001d33485d72879db2c4ae99846f59442f1a0000000000000000000000000000000e23394e63788ea3b8bea8937e69533e291400000000102031424b607381939faab3bcb5ada89e9b99999b9ea6acb4bac7bbaa9e8978635745321e11000000000000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b66503b261100000000000000000000000000000000041a2f44596f8499aec4b49f8a755f4a35200012273c51677c91a6bcd2c2b5b1afafafafafafafafafb0b1b4bac7cacab49f8b7f756a61574a3d2e2111010000000000000000000009192b3b4c5e6a8095a2b4baa99c8676614c5a667c919eb0beb49f8a7a645746331e1402000000000000000000000010253a50657a8fa5bac7bab4a598826d60544a3d3b3a3b3f3d3a3123130100000000000010253b50657b90a7b49f8b76614c36210c000000000000000000000000000000000000000000000000000000000000001325364b6074879db2b19c8773604b3520110000000000000000000000000000000000000000050e19202832363b3d494e51545758595958575553504d483c3f3a3530251f170c000000000000000000000000000000000000000000000a1826303b474c5d656f777e84898d91939495959392908b86817a70676054483b2f2212040000000000001f34495f74899eb4c2ad98836d58432e180300000000000000000000000000000d22374d62778ca2b7bfaa95806a55402b15000000071b2d3e4e606c81969fb4bbb5ab9f98908986848385888f969fa9b3bfb9a79c8675604b3f2f19090000000000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b66503b261100000000000000000000000000000000001325365b71869bb0c6b39e89735e49341e0012273c51677c91a6bcc9b5a49c9a9a9a9a9a9a9a9a9a9b9c9fa9adb4bcbcab9a8476625a48392d1f110300000000000000000000021527374859667c8d9fb4bdb49f8a796357464c5e6b8096a2b4baa99c8676614c42322010000000000000000000000010253a50657a8fa5babaa99fa9a0978172635b53504f5054524e41311e0b0000000000000b20364b6075899eb3aa917c67513c271200000000000000000000000000000000000000000000000000000000000000081d314455697e93a6b6a4917c67513f2f1c080000000000000000000000000000000000000d181f2c3538454b51575b63676a6c6d6e6e6d6c6b6865625a59554f4a4336332a1c0c00000000000000000000000000000000000000000a1a2836434b59626d7a848b93999fa8a6a8aaabaaa8a7ab9f9b968f857c7362594c402f22120200000000001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b160000000d22364a5c687e939fb0bdb3a49c8d837b75716e6e70747a818b99a1b0bdb5a497826d5d4b3727150200000000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b66503b261100000000000000000000000000000000071c30435473889db2c7b29d88725d48331d0012273c51677c91a6bcc6b19c8685858585858585858585878a90989fabb7b3a19a8778625544311d0c00000000000000000000000e1d3144556278899eabbcb19f927d685b4a39404b6073849aa6b8b6a498836e604f3e2e1c0c0000000000000000000010253a50657a8fa5bab49f8b9ba39f9784796f686564666a68604e3a2511000000000000081d3144556e8398adac97826d573e2e1b07000000000000000000000000000000000000000000000000000000000000011527374b6075889eb3b09b85715d4c3823100000000000000000000000000000000008131c2a343c494d5660666c72787c7f818283838281807d7a78736f6a6460544c473a2a17040000000000000000000000000000000000000a1a28384554606977828f999faaafb4bac6bab7b5b5b7c9bcb4b1aca39b918478665e4c402f201000000000001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b160000091c2f404f647a8b9fb4bdb3a19a867a6e65605659595460646c7883969eb0beb1a0907b655544311d0800000000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000b20354a60748a9fb4c5b09a85705b45301b0012273c51677c91a6bcbba5907b7070707070707070707072757a838c9da5b7b3a59b8574604b3a2917040000000000000000000e1e30404b6074859ba7b8b5a397816d604e3d2d3144556277889eabbcb2a0937e695c4b3a2a180800000000000000000010253a50657a8fa5bab29c87859bb0a29a8c847e7b797b7f7d68523d28130000000000000215273752677d92a9b29d88735c4a36220900000000000000000000000000000000000000000000000000000000000000091e3245566a7f94a8b5a3907b65503e2e1b0700000000000000000000000000000a1825303b474c5a626d757b81878d91949798999998979592908d88847f7a746c615847331f0a000000000000000000000000000000000002152738455660727e8998a0aeb4bbb8b3aca7a4a2a0a0a2a5aab1b5c1b4b0a29a897c665e4c3e2d1b0b000000001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b1600000f24384c5e70849aaabbb5a39a8375645c504b453836434a4f5a62728096a0b1beb19c8674604b36201000000000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000e23384e63788daabbc2ac97826d57422d180012273c51677c91a6bcbba5907b665a5a5a5a5a5a5a5a5b5660656e7a879da6b7b4a396806b5847331f0a00000000000000000a1a2c3c4d5e6b8196a3b4b9a79b8574604b41311f27374859657b8d9fb4beb49f8b7a64584736251300000000000000000010253a50657a8fa5bab29c877b90a0b2aa9f9a93908f9094816c56412c17000000000000000c21374c61768a9fb4a68f7a644f37261401000000000000000000000000000000000000000000000000000000000000031628384c6176899ea8a89a846f5c4a36220d000000000000000000000000000d1a2836434a59626c78828a90979da5a6a9acadaeaeadacaaa8a5a79e99948f888176614c37210c0000000000000000000000000000000000091d314556607483939ea7b2beb4afa79e97928f8d8b8b8c90959ba3b0b4c0b4a79e8c7c665c4a392816030000001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b160005182a3b51667b90a2b4baa89b857461574a3e3631272530353c4854606d8297a4b5b6a4947e69543f2e1b08000000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000417293a54697e94a9c8c2a9937e69543e29140012273c51677c91a6bcbba5907b66504545454545454538454b505c6478889db3c1b49f8a76614c37210c0000000000000002162838495a667c919eb0bcb39e8978635645322313192b3b4c5d6a8095a2b3bbaa9d8776615443301c11000000000000000010253a50657a8fa5bab29c87728298a3b2b4afa8a5a4a596816c56412c17000000000000000a1f3347586e8398aeab96816c5544311d08000000000000000000000000000000000000000000000000000000000000000a1f3346586b80939393938f79644f3a240f0000000000000000000000000e1d2a384554606a77818b989fa9acb2ada7a4a2a89f9e9fa9a1a4a7aaafaeaaa69d8e79644e39240f00000000000000000000000000000000000b20364b60748499a1b3b9b9b3a29a9189817c7a787576777a8086909ba3b4bcb8aa9e8a7a645746321e0c0000001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b16000b1f34475970859ab0c0b49f8a78625646392d201d15131c202b36434b6074869cb1c2b29c87725d4b37220d000000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000a1f3346586f849aafc4b5a48d78634d38230e0012273c51677c91a6bcbba5907b66503b3030303030302832363e4a5a667c90a3b5baa9937e69533e291400000000000000091e3245566378899eb3bcb09e917c665a49382816050d1d2f3f4b6072849aa6b7b7a5998372604a3f2e1c080000000000000010253a50657a8fa5bab29c8772748498a0b0b4c0bab9ab96816c56412c17000000000000000417293a51667b90a6b39d8874604b35200e000000000000000000000000000000000000000000000000000000000000000417293a4c61777e7d7d7d7e7a644f3a250f00000000000000000000000e1e2b3b475660727f8a969faab4aca79e98928f8d8b89898a8b8c8f92959a9fa9aca38e79644e39240f0000000000000000000000000000000001162c41566b8196a2b2bfb4a79e92847c756c676562606062656a717b85959fabbcb9a89d8875614b3a2a180400001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b16000d22374c62778b9fb4bbaa95806b5a4838291b10090200070e1826324556667c90a4b5b6a58f7a644f3a250f000000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000004182a3b4c61768b9fb4c6b19c86715a4935200c0012273c51677c91a6bcbba5907b66503b261b1b1b1b1b151d202e3c4c5e70859bb0c7b09b86715b3a2a1804000000000004182a3a4b6074859ba7aaaaa296806b5e4d3c2c1a0a0000111c3043546177889daaaaaaa1947f6a5d4b37230e0000000000000010253a50657a8fa5aaaa9c8772617583909ba2aaadb1ab96816c56412c1700000000000000000c20354b6074889db3a6907b65503c2b1905000000000000000000000000000000000000000000000000000000000000000c1f344759616868686868645c4b37220d000000000000000000000a1a2b3c4859627482949ea8b4aa9f978f88827d79787674737475777a7d80858a90969e8e79644e39240f00000000000000000000000000000000000d22384d6278879da5b4a29a897d6f666056524f4d4b4b4d50555d6573808d9fb4bdb7a6947f6a5947341f0a00001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b160013283e53687d93abbcb49f8b77614c3c2b1a0b000000000000081528384c5e71869cb1c3ac97826c57422d17000000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b66503b261100000000000000000000000000010f1f3447596a8095aabbc2aa95806b553c2c19060012273c51677c91a6bcbba5907b66503b2611050505000209101e2f40546a7f94a9bfb49f89745847331f0a00000000000a1f3447596c829595959595958473604b40301e0e000000011426364759657b8c95959595958a7a65503a25100000000000000010253a50657b8f95959595877257616e7b858f95989b9b96816c56412c170000000000000000081d3144556b8096aaad98836d5a4835200b0000000000000000000000000000000000000000000000000000000000000004182a3a474c53535353534f4b3e2e1b0800000000000000000002162838485a62778598a0b4ab9f988b817a746d67646261575e55606164676b6f757b81898e79644e39240f00000000000000000000000000000000000b2035485a6278879da39a8477685f514b45383a383636373b3f4b55606b7e939fb0c4b49e8977614c37220d00001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b1600182e43586d8398adc9af9a85705847331e0e00000000000000000a1a2f40556a8095aabfb19c86715c3a2917040000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000f1f2f404c61778a9eb4c8b5a38e79644f39240f000012273c51677c91a6bcbba5907b66503b26110000000000000012263b50667b90a5bbbaa98c77614c37220c00000000000c22374c61777f7f7f7f7f7f7f77625544312212000000000008182a3a4b5d667c7f7f7f7f7f7f7e68533e2813000000000000000d22384d62787f7f7f7f7f7e69534b5e65707a7f838686837d67523c27120000000000000000011527374d62788b9fb49f8b78624d39291703000000000000000000000000000000000000000000000000000000000000000c1c2a34373e3e3e3e3e3a372e2010000000000000000000000d1e3245566278879ba3b2a69d8c82786c646054524f4d4b4639444b4c4f52555660656c757d78624d38220d080100000000000000000000000000000005192b3c485a62788799857562594e413631272523202122252f37444b606c8196a6b8b9a895806a553b2a1805001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b16001b30455a70859aafbfaa957f6a553a2a170000000000000000000012253b50657a90a5bab39e89745846331f0a0000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b66503b2611000000000000000000000002101c2c3d4c5e6c8196a8b9bfb19b86715c4a36220d000012273c51677c91a6bcbba5907b66503b2611000000000000000f243a4f64798fa4b9c7a48e79644f39240f00000000000a1f344759616a6a6a6a6a6a6a625948372715040000000000000c1c2e3f4d5e666a6a6a6a6a6a68604e3a2611000000000000000b2035485a626a6a6a6a6a69604f404c505d656a6d71706e675f4d392510000000000000000000092035485a6e8398aeaa96806b5746331e0900000000000000000000000000000000000000000000000000000000000000000c181f22282828282825221b10020000000000000000000d1d31424b6074859ba5b3a39b887a6d625a4f4b43363a383632283136373a3d38454b50576168625a483525201c14080200000000000000000000000000000e1e2b3c485a627884766157483b31201d151a1c1e1b1916192631424b6175889db3c6b09b86715947341f0b001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b16001d32475d72879cb2bda8927d68533d2813000000000000000000000e23384d63788da2b8b9a88b76614c36210c0000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b66503b2611000000000000000000000814202d3a495b657b8c9fb4c6b3a1907b65503e2d1b07000012273c51677c91a6bcbba5907b66503b26110000000000000011263b50667b90a5bbc8a48f7a644f3a250f000000000004182a3a474c555555555555554d483b2b19090000000000000000102130404d51555555555555534e42311f0b0000000000000005192b3c484d5555555555534f4232383f4b5055585c5b59524d41301d0a00000000000000000005192b3c4f647a8fa3b39e8976614c372715010000000000000000000000000000000000000000000000000000000000000000040a0c13131313130f0d080000000000000000000005182b3b4e606d8197a3b3a1998577645c4d493c35373d4042413f3c363329252828323639464b534d483c403a3530261d150900000000000000000000000000000e1e2b3c485a626e615847392b21232a2d303233312e2b27201e324657697e93aabbb59f8b77624c37220d001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b16001e34495e73899eb3bba6917c66513c2711000000000000000000000c21374c61768ca1b6c6a38e79634e39230e0000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b66503b2611000000000000000108101b22313e4a596379899eaabbbbaa99836f5d4b38201000000012273c51677c91a6bcbba5907b66503b26110101010100050e1d2f3f54697f94a9bebbaa8d77624d38220d0000000000000c1c2a34374040404040404037342b1d0d00000000000000000002122230393c4040404040403e3a3124140200000000000000000e1e2b353840404040403e3b3224232e373a40434646443c3930231301000000000000000000000e22374b5c70859bb0a8947f695544311d0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20344859687e929fb1a599837562594a3e363a474c5255575754514b4639372e1f3137444b515557595755504b43363127191002000000000000000000000000000e1e2b3c484d594c473a292c35383f434547484643403c363129394c61768b9fb4bcab927d67523d2812001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b16001d32475d72879cb2bda8927d68533d2813000000000000000000000e23384d63788da2b8bcab8d78624d38220d0000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b66503b2611060600030a0c0e141d202e37424e5c6477879ca7b9c1b49f8b79634e3f2f1c0200000012273c51677c91a6bcbba5907b66503b2616161616161718202c3b4b5d70859bb0c5b49f8a75604b36200b000000000000000c181f222a2a2a2a2a2a2a2220180d000000000000000000000004121d24272a2a2a2a2a2a28261f1406000000000000000000000e1920222a2a2a2a2a29261f14111c23252a2e31312e27251d13050000000000000000000000081b2e3e50657b90a2b29d8774604b35200f00000000000000000000000000000000000001080b10131518191714110d0b050000000000000b0b0b0b0b0a090400000000000005182a3b4c62778a9fb4a99c87766157483b3d4a4e5861676a6c6c69676157504b3f34424e5560666a6c6e6d6a6560544b44372d201002000000000000000000000000000e1e2b353844373333363d494e54585a5c5d5b5856514b453836475870859ab0c9ab95806b56402b16001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b16001b30455a70859aafbfaa957f6a553a2a170400000000000000000010253b50657a90a5bab59f8a73604b36200b0000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b66503b261b1b1b1c171e21232631353f4b4f60687a879ca5b6c3b4a396816c5b493521110000000012273c51677c91a6bcbba5907b66503b2b2b2b2b2b2b2c2b343c4959657b90a2b4c6af9a846f5544311d080000000000000000040a0c151515151515150d0b0500000000000000000000000000000a0f1115151515151513110b02000000000000000000000000050b0d151515151514120c0200080e1015181c1b1912100a01000000000000000000000000001023384c5e70859ab0a5927d67523d2d1a070000000000000000000000000000000808141c2025282b2d2e2c29262220190e0903050b0d2020202020201e191004000000000b1f3448596c8196a9b49f8a7a64584639434a5b636f777d8082817f7c766e655d4c484a6068747b7f828482807a746a60554a3e2e201002000000000000000000000000000e192022273139464c555b636a6d6f7173706e6b6660564e4a3d556b8095aac0ad97826d58422d18001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b1600192e43586e8398adc3af9a85705847331f0e00000000000000000a1a2f40556b8095aac0b39e88735544311d080000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b66503b30303030312933363937444b505d656f7e8b9da5b6c3b7a59b8574604b3d2c1a030000000012273c51677c91a6bcbba5907b665041414141414141413b484c5a6377879db2c0b9a8937e6953372715020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091c2f4050657b8f9b9b9b86715b4a36210c0000000000000000000000000006101b222630353a3e404243413e3c38352b211e16192022353535353535332c2214040000031628384c62778a9fb4a5937e685c4a3a4354606b79848b9295979694918a837a6d6259606c7e879194979997958f887f74645c4b3f2e201000000000000000000000000000010f1d2b37444b57616a72787f828587888683807c756c635b4b53697e93a8beae99846f59442f1a001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b160014293e53697e93a8c2b49f8b77614c3c2b1a0b000000000000081528384c5e71869cb1c9ae99846f59372715020000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b665045454545454639464b4e535560656f7a84939fa9b7c2b6a69d8778625645311f0f000000000012273c51677c91a6bcbba5907b665656565656565656575859626b78869ca5b7c2b39e8977614c37220c000000000000000000000000000000000000000000070b13131313130f0d0700000000000000000000000000000000000000060c0e20202020202020202020202020202020202020202020202020202020191710070000000000000000000000000000001123374b5d6d828686868579634e39230e0000000000000000000000000e19212e3736434b4f535557595654514d483c3632282b354a4a4a4a4a4a4a483f3222100000091e3245566b8196a9b29d8774604b3d43546072808c999faaaaacaca9a99f998f8277627281939da5aaacaeacaaa69d94867a645d4b3e2d1a0a000000000000000000000002101f2d3b48556068767f878d94989a9c9d9b9895918881796b6056677c91a6bcb09b86705b46311b001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b16000d23384d62788da4b5bbaa95806b5a4838291b10080200070e1826324556667b90a4b5bcab937d68533e2813000000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b665b5b5b5b5b5b5b5d576163686e747b848f9aa2b4babeb2a49c887963594838271501000000000012273c51677c91a6bcbba5907b6b6b6b6b6b6b6b6b6b6c6e7177808a9ca4b5c3b5a4947f6a5847331f0a0000000000000000000000000000000000000008131c20282828282824221b1002000000000000000000000000000000010f1a2123353535353535353535353535353535353535353535353535353535352e2b24180a0000000000000000000000000000081c2e3f52646d71717171635b4a36210c0000000000000000000008131c2c353f4b4f546065686a6d6e6c6966625a524b45393c485e60606060605f5c503f2c1900000b21364b60758a9fb4a6937e6855443e4a607282959fabb4b4aca6a4a5a8aeaea09887777e929fb2b6b2ab9faba4acb3a49c8a7b645c4a382715020000000000000000000010202d3d4a5962737e88959ca4a9adafb1b2b0adaba79e968c807464657b90a5bab19c87725c47321d001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b16000b2035485a71869cb1c3b49e8a78625646392d201d15131c202b36434b6074869cb1c2b59f8c77624c37220d000000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbba5907b7070707070707071727476787e8389909aa2afb3c0bab4a0988679635b493b2b1a0a00000000000012273c51677c91a6bcc3ae98828080808080808080808183868c959ea8b5c2b7a69c8674604b3a2a180400000000000000000000000000000000000008182530353d3d3d3d3d39362d20100000000000000000000000000000000f1f2c35384a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a43403628180700000000000000000000000000001121354552585b5b5b5b4e4a3d2d1a070000000000000000000a1825303c494d5d656c747a7d808283817e7b786f6760574e485a707575757575756e5c48331e000011263b50667b90a8b29d8875604b374a5c6a7f94a0b4b4a89e97918f9093999faaa59c87889eb3b6a59c8f8a8b8e979faaa89e8a7a645645311d0b0000000000000000000c1c2d3e4a5b637785939ea6b1b6c2bcb4b3b1b0b2b4b8b3aa9f95867a657a90a5bab19c87725c47321d001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b160006192b3c53687e93a5b6b9a89b857461574a3e3631272530353c4854606d8297a4b5bbaa99836e594834200b000000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcc6b19c86858585858585858688898b8e93999ea7afb4c0bfb3a99f938275635b493d2c1d0d0000000000000012273c51677c91a6bcc6b2a09896969696969696969696989ca4aab4b9c0b3a69d8878625645321c0c00000000000000000000000000000000000000132536434a53535353534f4a3e2d1b0700000000000000000000000000061a2c3d495e606060606060606060606060606060606060606060606060606060605953463624100000000000000000000000000000031727353f424646464639362d1f0f0000000000000000000b1a2736434a5b636e7a81888f939597989693918b847d7568604d62788a8a8a8a8a8c755f4a35200005192b3b566b8196abac96816c56453c4f647a8c9fb4b4a39b8a827c7a7a7d838b99a1a49c9ea6b8b29c877b757679818c9ea8a89c8674604b3a2917040000000000000008182a3a4a5c6479879ba3b3b8bbb4adab9f9d9b9b9d9fa9aab2b4a49c89797b90a5bab19c87725c47321d001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b1600000e20364b6074879cb2beb5a3998375645c504b443736434a4f5a62728096a0b1c2b49f8c79634e3b2b1805000000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcc9b5a49c9a9a9a9a9a9a9a9b9d9fa9a3a8aeb3b9c5bcb5aea1998b7e6e6157493d2c1f0e000000000000000012273c51677c91a6bccfbfb2aeabababababababababacadb1b5c2c2b5b1a29a877a645a4838281600000000000000000000000000000000000000071c304354606868686868645c4a36220d000000000000000000000000000c2135495b70757575757575757575757575757575757575757575757575757575756e6453402b170000000000000000000000000000000917232b2d3131313123211a0f0100000000000000000b1b28384554606a78838f979da6a8aaacaeaba9ab9f9a92897d6f6262778d9f9f9f9f8a755f4a3520000b2034485971869cb1aa917b665138495b6e8399abb6a49b85786c676465686e7883949db2b3b8bcab8f7a656060646c7c8a9eb4a495806a5846331f0a000000000000011426364758647a8a9da6b5bfb3aa9f98918b88868587898e959da5b3a79d877d92a7bdb19c87725c47321d001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b160000081d314455677d92a0b2c1b3a199867a6e65605559595460646c7883969eb0beb6a497816c5b49351d0d00000000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcd2c2b5b1b0b0b0b0b0b0b0b0b2b4bac7bdc3c3b7b2ab9f998e837969604b46392c1f0f00000000000000000012273c51677c91a6bcbdbdbdbdbdbdbdbdbdbdbdbdbdbdbbc3b6b2aca49c918477645c4a3c2b1a0a000000000000000000000000000000000000000b20354a60727d7d7d7d7d7a644f39240f000000000000000000000000000e23384e63788a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a826e59432e1900000000000000000000000000000000061016181c1c1c1c0e0c070000000000000000000316283946566072808b99a1acb3b8c4c8bbb4b3b9bcb5afa79e92847863778da2b5b49f8a755f4a3520000d22374d62778ca4b49f8a76614c384d63788c9fb5b19c8676625a514f50535a636e7f949eb0c1b59f8b76604b4b4f5e677d92a1b49f8a76614c36210e000000000000081c3043546176879da8b7bcb5a1998c837c767371707274797f87939ea7a69d899eb4c7b19c87725c47321d001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b160000021527374d5f6d8298a3b5bfb3a49c8d837b75706e6e70747a818b99a1b0bcb8a79c8676614c3d2c1a0000000000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6bcbdbdbdbdbdbdbdbdbdbdbdbdbcbbc5b9b3aea8a59d978c837a6e645c4e4232291b0f0100000000000000000012273c51677c91a6a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7a6a4a59c9790867c7361594a3e2d1e0e00000000000000000000000000000000000000000b20354b60748a92929292806b55402b16000000000000000000000000000e23384e63788d9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f98836e59432e190000000000000000000000000000000000000000000000000000000000000000000000010f1e324657617482959faab3bfb6b2aba4aa9f9ea7a2a7aeb4b3a1998979788da2b7b49f8a755f4a35200010263b50657b90a5b09b857057463e53697e93abb5a3907b6558483c3a3b3c494d616b8095a3b5b39e8974574636404d5f6f8499afa8937e69533c2c190600000000021527374b6073849aa5b7bcab9f9483796d6761585c5b5460646a747e899ca5a89ea8b9c7b19c87725c47321d001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b16000000091930414b6074859ba4b2bfb5ab9f98908986838385888f969fa9b3bfb5a79e8978625746331f0f0000000000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91a6a8a8a8a8a8a8a8a8a8a8a8a8a8a7a6a4a79e99938d8781796e645c4e4a3d311e160b000000000000000000000012273c51677c9193939393939393939393939393939392908f8c87817b73676054473a2d20100000000000000000000000000000000000000000000b20354b60758aa0a8a895806b55402b16000000000000000000000000000e23384e63788da3b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5ae98836e59432e190000000000000000090f11121212120c090300000000000000000000000000000000000f1f31424b61758498a0b4bbb8b3a59d968f8c8a898b8d92989fa9b5a79d877a8fa4bab49f8a755f4a35200012283d52677d92a7ad98836e583944596e8399aeb19b86715d4b3a2b25252c35434b6073859bb0b9a78b76614b36304150657a8fa5b19c86715a4935200c00000000081d314455687d92a2b3bdb59f8d7f6e635b514c463a36434a4f56606979879ca5b4b9c6c7b19c87725c47321d001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b1600000000131e32455662778698a0b3b8bcb5ada89e9b99989a9ea6abb4babbb4a39b897b645a49392917010000000000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c26110012273c51677c91939393939393939393939393939291908f8c89847e78726c645c4f4a3e362d1f14030000000000000000000000000d23384d62787e7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b7977726c6660544b43362a1c10020000000000000000000000000000000000000000000b20354b60758aa0b5aa95806b55402b16000000000000000000000000000e23384e63788da3bdced8c7bab4acacacacacacacacacacacacacacacacacacac98836e59432e1900000000000004121d242627272727211e160b000000000000000000000000000000061a2c3d4e606d8298a2b2beb4a69d9287807a77757475787d838a989faba59d889db3c8b49f8a755f4a35200014293f54697e94a9ac96816c5741475c72879cb1ab95806b563f2f1b0f101920314455657a8fa3b5a38e79644e3924374b5d72879db2a48d78634d38230e000000000b20364b6074879db2c0b19f937e6a614e493d36332925303538454b5b6376879ca9bacdc7b19c87725c47321d001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b1600000000021628384859627583939ea7b4bac6b9b3b0aeaeb0b3b8c4bcb4aa9f968578645d4b3c2c1b0b000000000000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c2611000d23384d62787e7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c7b7976746f69635b574e4a3e362d211a0f01000000000000000000000000000c2035495a6268686868686868686868686868686868686664625957514a43363026180c00000000000000000000000000000000000000000000000b20354b60758aa0b5aa95806b55402b16000000000000000000000000000e23384d63788d9fb1c0cebaa99f9797979797979797979797979797979797979797836e59432e1900000000000012222f383c3d3d3d3d3632281b0b00000000000000000000000000000c2136495b687e93a0b2bfb3a29a887d736b656160566062676e78828d9fa8a69da6b7cab49f8a755f4a352000162b40566b8095abaa957f6a5540495e73899eb3a7917c67523c27120000061426374b5d71869bb0a7927d68523d282e3f576c8297aca7927d67523d271200000005182b3b53687e93a5b7b8a697816d604f43352c211f17131c2027313d4958647a8a9fb4c5c7b19c87725c47321d001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b1600000000000a1a2b3b485761727e89959fa8acb2b5bcc9b9c5b8b3aeab9f988b8175625a4b3f2e1e0e00000000000000000000000000000000000000000000000000000000000f243a4f64798fa4b9bba6917b66513c2611000c2035495a62686868686868686868686868686868676664615859534e493d39362d221b100700000000000000000000000000000006192c3c494d5353535353535353535353535353535352514f4d483b3b3530251c14080000000000000000000000000000000000000000000000000b20354b60758aa0b5aa95806b55402b16000000000000000000000000000c2035495a6d8297a2b4c4b49f8b81828282828282828282828282828282828282827e68533e29130000000000091d2f404c51525252524b4639281603000000000000000000000000071a2d3d4e63798b9fb4beb3a19984766860544f4c4a454b4d5259626d7c8a9ea8b3b7c4cab49f8a755f4a352000182d42586d8297ada8937e68533e4a5f758a9fb4a5907b66503b261100000009192e3f556a7f95aaac97816c573828283d52677d92a7ac96816c57412c170200000b2034485971869bb1c3b39d8875604b4232211a0f0a0400070b151d2c3a4a5c6a7f95a7b9c7b19c87725c47321d001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b160000000000000d1d2b394654606976808a91979d9faba4a4a2a79e98928b82786c6057483c2e20100000000000000000000000000000000000000000000000000000000000000f243a4f64798fa4a8a8a6917b66513c26110006192c3c494d53535353535353535353535353535352514f4c473a3e38352c24211a0f070000000000000000000000000000000000000e1e2c35383e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3d3b3a37342b26201c130801000000000000000000000000000000000000000000000000000b20354b60758aa0b5aa95806b55402b160000000000000000000000000006192c3c4b6074849ba6b7baa995806d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d68604e3a261100000000000f24384c5e6667676767615746321e0b0000000000000000000000000c21364a5b6e8398a9bab6a499837461584b433637353236383b484d5e667a8a9eb3bdcecab49f8a755f4a352000182d43586d8298ada8937e69533e495e74899eb3a5907b66503b26110000000010263b50657b90a5b09b8671564532243a4f64798fa4b09b85705b46311b0000000d22374d62778ca3b5baa9947f69574532241506000000000000020f1c2d3d4c6176899eb3c7b19c87725c47321d001f344a5f74899fb4c2ad98826d58432d180300000000000000000000000000000d22374c62778ca1b7c0aa95806b55402b16000000000000000d1b2836434a58616b767b82888a8c8e8f8d8b88837d776d625a4b45392b1e10020000000000000000000000000000000000000000000000000000000000000f243a4f647a8f93939393917c66513c261100000e1e2c35383e3e3e3e3e3e3e3e3e3e3e3e3e3e3d3c3b3a37332a2923211a0f0d070000000000000000000000000000000000000000000e19202328282828282828282828282828282828282624222018110b0700000000000000000000000000000000000000030a0c0e0e0e0e0e0e0e20354b60758aa0b5aa95806b55402b160e0e0e0e0e0e0d0b0600000000000e1d3145566277879da9baaf9e917d675b57575757575757575757575757575757534e42311f0b000000000011263c51667c7d7c7c7d75614b3929170300000000000000000000011527374e63798c9fb5bbaa9c86756156473a302622201d20232b34404c5c677d919fb1c8cab49f8a755f4a352000172c41576c8196acab95806b5640475c72879cb1a7927d68523d2813000000000e23394e63788ea3b49f8a75604b3621374c61768caab29d87725d36261401000013283d53687d92a8c2b49f8a76614b392816060000000000000000000f1f3346586c8196abc9b19c87725c47321d001f344a5f74899fb4bdad98826d58432d180300000000000000000000000000000d22374c62778ca1b7bdaa95806b55402b1600000000000000000b1825303a464c5761666d737577797a7876736e6761584d493c32281b0e00000000000000000000000000000000000000000000000000000000000000000c22374c61777e7d7d7d7d7e78624d38230d0000000e192023282828282828282828282828282828272624211f17140e0c0600000000000000000000000000000000000000000000000000060c0d1313131313131313131313131313131313110f0d0b050000000000000000000000000000000000000000000b171e212323232323232323354b60758aa0b5aa95806b55402b232323232323232320190e00000000021527384859647a8b9fb4bcb49e8a7963584737424242424242424242424242423e3a312414020000000000162c41566b81929292927f6a5746331e0c00000000000000000000081d3144556d8298abbcb49f8c7963574638291c140c0b090b0d19202f3e4d5f6d8297aabbcab49f8a755f4a352000162b40566b8095abad97826d5842455a70859aafab95806b563d2d1a070000000d22374d62778ca2bbaa8f7a644f3a24334758758a9fb39e89745443301c080003192e43586e8398adc3af9a856f5746331b0a000000000000000000000417293a50667b90abbcb19c87725c47321d001f344a5f748a9fa8a8a898826d58432d180300000000000000000000000000000d22374c62778ca1a8a8a895806b55402b1600000000000000000008131c293339464b5157556062646462605659524c473a352b1e160a0000000000000000000000000000000000000000000000000000000000000000000b1f34475961686868686868625a4835200b00000000060c0d13131313131313131313131313131312110f0c0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1b2933363939393939393939394b60758aa0b5aa95806b5540393939393939393938352b1e0e000000000a1a2a3b4a5c677d929eb0b9a89d8776615544312d2d2d2d2d2d2d2d2d2d2d2d29261f14060000000000000d22384d62788b9fa79e8976614c3a2a17040000000000000000000b20354b6075899eb3c2ad97826d5b4a39281a0c01000000000005122030414d62788b9fb4c9b49f8a755f4a35200013293e53687e93a8af99846f5a3a41566b8096abb09b86715b4a3621120200000e23384e63788da3c8a8937e69533e29293a5e74899eb39f8a75604b35200b00061b30465b70859bb0bfaa957f6a553929170000000000000000000000000b21364b60768a9fb4b19c87725c47321d001f344a5f748b9393939393826d58432d180300000000000000000000000000000d22374c62778c9393939393806b55402b1600000000000000000000000c171f2832363c37444b4d4f4f4d4b45383d37332a20190e030000000000000000000000000000000000000000000000000000000000000000000004182a3b474c5353535353534d483c2b1906000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003172939464b4e4e4e4e4e4e4e4e4e4e60758aa0b5aa95806b554e4e4e4e4e4e4e4e4e4d483c2b1906000000000d1d2d3e4d5f6b8096a1b3b6a59a8473604b4131201818181818181818181813110b02000000000000000b2035485a6e8398ada7957f6a5847331f0900000000000000000010253a50657a8fa8b9b5a48d79634e3d2d1b0b000000000000000002122034485a6d8297adc8b49f8a755f4a35200010253b50657b90a5b19b867158463b50657b90a8b5a38e79634e402f2012080515273750657b90a5baad98826d583a2928385d73889db2ab8c76614c37210c00081d32475d72879cb2bda7927d68523d2813000000000000000000000000091e32455773889eb3b19c87725c47321d0013283d53687d7d7d7d7d7d7b65503b25100000000000000000000000000000000b21364b60757e7d7d7d7d7e7a644f3a240f000000000000000000000000040b161e212627313637393a3836322828221f180c06000000000000000000000000000000000000000000000000000000000000000000000000000c1d2a34373e3e3e3e3e3e38352b1e0e0000000000040a0c15151515150b0801000000000003090b15151515150c0a040000000000000000000000000000000000070d0f101010100b0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1e334657616363636363636363636363758aa0b5aa95806b63636363636363636363625a4835200b0000000000102030414b60738399a4b6b4a296816c5f4e3e2e1d0d0002020202020202000000000000000000000005192b3c4f647a8ea2b39e8976614c372715020000000000000001162b40566b8095abc6b19c86715b49351f0f0000000000000000000005192b3c51667b90aabbb49f8a755f4a3520000d22374d62778ca5b49f8a76614c364b6075899eb3ad98836e5e4c3e30201d18203144556b8095aac0b19c877258463332455673899eb3a78b75604b36200b000a1f34495f74899eb4bba5907b66503b2611000000000000000000000000031628395c71869cb1b19c87725c47321d0011263a4e60686868686868655d4b37230e000000000000000000000000000000091e32455660686868686868645c4a36220d000000000000000000000000000003090c11151d2022242523211e16120c0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000c181f222828282828282320190e00000000000c181f222a2a2a2a2a201c14080000000a161e212a2a2a2a2a211f170c000000000000000000000000000002101b222425252525211e160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000c21364b617679787878787878787878787a8ea3b9ac9781797878787878787878787878624d38230d000000000002131d3144556176869ca8b9b09f927d685c4b3b2b1a0a000000000000000000000000000000000000000e22364a5c70859aafa8947f6a5544311d0800000000000000051a2f455a6f849aafc0ab96816b563d2c1a0100000000000000000000000d21364b61768a9fb4b49f8a755f4a3520000b2034485972879db2aa917c67523745566b8096a8b2a0917c665c4d4035312b34404b6074879db2c7b59f8b76614c36364b60758ba7b39e89735645321d09000a20354a5f758a9fb4baa5907a65503b2510000000000000000000000000001325365b71869bb0b19c87725c47321d000b1e31424e535353535353504b3f2f1c0800000000000000000000000000000003162838454b5353535353534f4a3e2d1b0700000000000000000000000000000000000002080b0d0f0f0d0b0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b0c1313131313130d0b0600000000000c1c2a3337404040403f3530261808000a1a28323640404040403633291c0c0000000000000000000000000311202d36393a3a3a3a3632281b0a000000000000000000000000000000000000000000000000000000000000000000000000000000000011263b51667b8e8e8e8e8e8e8e8e8e8e8e8e98a9bcb19f978e8e8e8e8e8e8e8e8e8e8e846f5a452f1a00000000000001142637465863798a9eabbcb49f8b7a64594838281502000000000000000000000000000000000000071b2d3e51667c91a4b39d8874604b36201000000000000000071c31465c71869bb1bca7927c67523d27120000000000000000000000000a1e32465771869cb1b49f8a755f4a35200005182b3b576d8297acad98836e5544384c61778a9eb4b49e8a7a675f504b443b484d5e697e93a5b7c6bcab907b65503b384d62788da2b19c86715c3828150200081e33485d73889db2bca7917c67523c2712000000000000000000000000071c30435472889db2b19c87725c47321d00021324313a3d3e3e3e3e3e3b372f211100000000000000000000000000000000000a1a2832363e3e3e3e3e3e3a362d201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004182a3a474c55555555544b4336261403162838454b55555555554c463a291704000000000000000000000011212f3e4a4e4f4f4f4f4b45392816030000000000000000000000000000000000000000000000000000000000000000000000000000000011263b51667b90a3a3a3a3a3a3a3a3a3a3a3a9b6c6bdb1aca3a3a3a3a3a3a3a3a3a39a846f5a452f1a000000000000000919293a495b667c8d9fb5baa99d8877625645321d14030000000000000000000000000000000000001020354a6073869cb1a6927d67523e2d1b07000000000000091e33485e73889db3baa5907a65503b2510000000000000000000000000031629395a6f859aafb49f8a755f4a3520000012273c51677c91a7b39e8975604b3747586a7f94a2b3a89e8a7c6f6560555a59626b7c8c9fb4aeb2bfa9947f6a543f3a4f647a8fa4af9a846f5a452f1a0000061c31465b71869bb0bea9937e69543626140100000000000000000000000b20354a60748a9fb4b19c87725c47321d000006131e2628282828282825231c11030000000000000000000000000000000000000a161e2128282828282824221b10020000000000000000050b0d1216120d0b060000000000000000050b0d1216130e0c060000000000000000040a0c1115130e0c070000000000000000000000000002090b101514100b0801000000000000000000000000000000000a1f334758616a6a6a6a6a605443301c0c1e324556606a6a6a6a6a615846331f0a000000000000000000000c1c2f3f4b5c6465656565605745321e090000000000000000000000000000000000000000000000000000000000000000000000000000000011263b51667b90a6b8b8b8b8b8b8b8b8b8b9bcc6d4cec5c1b8b8b8b8b8b8b8b8b8af9a846f5a452f1a00000000000000000c1c2c3d4c5e6a7f94a0b2b7a69b8574604b42322111000000000000000000000000000000000000071c304354687e93a8b19b86715c4a36220a0000000000000a20354a5f758a9fb4b8a38e79634e39240e00000000000000000000000000192e43586e8398adb49f8a755f4a352000000b20364b6075899eb3a7917c6655443a4b6072849aa5b5a89e91847b75706f7277808c9faaa199a1b2ae99836e593b3b546a7f94a9ad97826d58422d180300041a2f44596f8499aec3ad98836e5443301c0800000000000000000000011426364f64798ea9bab19c87725c47321d000000020b11131313131313100e0800000000000000000000000000000000000000000003090b1313131313130f0d070000000000000000010e192022272b282320190e0100000000000d192022272b282320190e0200000000000c181f22272b2823211a0f03000000000000000000000a161e21262a2925201d14090000000000000000000000000000000c22374c61777f7f7f7f7f72604b3a2a192c3c4b60747f7f7f7f7f76614c36210c0000000000000000000417293a4b5d65797a7a7a7a75604b36210b0000000000000000000000000000000000000000000000000000000000000000000000000000000011263b51667b90a5a5a5a5a5a5a5a5a5a5a6abb8c8beb2ada5a5a5a5a5a5a5a5a5a59a846f5a452f1a0000000000000000000f1f2f4050616e8298a3b5b4a397816d604f3f2e1e0e0000000000000000000000000000000000001325364b6075899eb3a38f7a644f3827150200000000000a1f34495f74899eb4b9a48f79644f3a240f00000000000000000000000004192f44596e8499aeb49f8a755f4a35200000091d3245566c8197abb19c8674604b3943546176879ba3b2b3a19990898685878b959faaa1998399aeb39d88735948485970859bb0aa927d67523d2712000000152a3f556a7f94aac4b39e8974604b35201301000000000000000000081c3043546a7f94aac7b19c87725c47321d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141d2b35383d403d38352b1d1509000008131c2b34373c403d38352c1d150a000005131c2a34373c403d39362d1e160b0000000000000002101a2832363b3f3f3a353126190e00000000000000000000000000000a1f3347586f84959595937e685847332035495a6a8095959595836e5846331f0a0000000000000000000e1f334758657b8d8f8f8f8775604b35200b0000000000000000000000000000000000000000000000000000000000000000000000000000000011263b51667c9090909090909090909090909aabbeb2a0989090909090909090909090846f5a452f1a00000000000000000001122233434b6075859ba7b8b19f937e695d4b3c2b1b0a0000000000000000000000000000000000081e3245566d8297adac96816c5645311d090000000000081d32475d72879cb2bba6917b66513c2611000000000000000000000000061a2c3d5b70859bb0b49f8a755f4a35200000021528384e63798c9fb4a4937e68574636475862778598a0b0b3afa79e9b9a9c9faab4a399837b8fabb7a68c77624d4c62778c9fb49f8b76614c36210c0000000f24394e64798ea6b7b8a7907b665141311f100000000000000000091729394b6073869cb1c6b19c87725c47321d0000000001080b1819191916140e0400060b0d18191915130d0400000000000000000000000000000000000000000000000000000000091926313c484d5255524d493c31271909081825303b484d5255524d493c31271a0a051323313a474c5155534e4a3d32291b0b00000000000010202d38454b505454504b44372c1f0e0000000000000000000000000004182a3a4d63788b9faa9e8977614c3f2f404d62788a9faa9f8a78624d3a29170400000000000000000e1e30414c6176879daba5927d685544311d08000000000000000000000000000000000000000000000000000000000000000000000000000000000c22374c61777b7b7b7b7b7b7b7b7b7b7b7c90a6bbad98827b7b7b7b7b7b7b7b7b7b7b79644f39240f0000000000000000000004151e3245576278899eaabbb49f8c7b655a4839281603000000000000000000000000000000000316283850657b90a6b39e8975604b36200b0000000000061b30455b70859ab0bea9937e69543827150200000000000000000000000c2136495b73889db3b49f8a755f4a35200000000a2135495b6d8298a9b39e8875614b433a48596275828f9ba3aab1b3b0afb1b1ab9f988576768b9faaa6917c6651596a7f94abaf9a846f5846331f0a0000000b20354a6074889db3c5b09b85715f4e3d2d1c130803000000070e1927334657677c91a4b6c7b19c87725c47321d00000008141c202d2e2e2e2b2921160e1920232d2e2e2b28211507000000000000000000000000000000000000000000000000000001142637444b5a62676b67625a4b44372715132536434a5962676b68635a4b45382715132331414d5961666a68635b4b4639291603000000000e1e2d3e4a5660656a69656055493d2c1c0c000000000000000000000000000c2035495a6a8095a5a797826d5d4b384c5e6f8399a9a4947f6a5a48351c0c000000000000000009192b3c4d5f6e8298a6b29d8774604b37261401000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f344759616666666666666666666666748aa0b5aa95806b66666666666666666666645c4a36220d000000000000000000000003162839485a657b8c9fb4bbaa9e8978625745321e1504000000000000000000000000000000000b20354b6074889db3a7917c6651382715020000000003182e43586d8398adc2ae99836e5645311d0900000000000000000000011426364e63798ea6b7b49f8a755f4a3520000000061a2c3d4e63798b9fb4a697816d614f413b4857616d7a858e959b9ea7a89e9b978c827561728694949494806b566277899eb3a7937e68533a291704000000071c3043546b8196a8b9b5a3927d685b4a3e30251e161514161a212c37444c6176879cb2c2c7b19c87725c47321d0000081826303542434343413d34261e2b3538434343403c3325150000000000000000000000000000000000000000000000000000081d314455606a787d807d786a605544311d1c3043546069787c807d786b605645311d1c31414e5f67777c807d796d615746321e1301000006192c3c4a5c64757b7f7e7a73635b493a2a180400000000000000000000000006192c3c4b6075879db29f8d7a64554556667c91a1b29c8774604b3c2b19000000000000000001142637485a677d92a0b2a5927d685544311909000000000000000000000000000000000000000000000000000000000000000000000000000000000004182a3a474c5050505050505050505060758aa0b5aa95806b555050505050505050504f4a3e2d1b070000000000000000000000000a1b2b3c4b5d687e939fb1b8a79b8575604b4332221201000000000000000000000000000000081d3144556c8197acae98836e5645311d09000000000013283d53687d92a8c2b49e8975604b37261401000000000000000000081c304354697e93a9c4b49f8a755f4a3520000000000f2135495b6a8095a4b19f947f695f4d3f39464b5d6571798086898b8c898681786d6157677d7f7f7f7f7d675d6d8297a8b39e8976614c37210c00000000001325364c61778a9eb4c1b49f8a79645c4a433632282a292b2d363c4955606e8399a5b6cac7b19c87725c47321d0001142636434b5859595956514434303c494d585959555043331e0e000000000000000000000000000000000000000000000000071a2d3e4b60737f8b9295928b8073604b3e2e2c3d4a60727f8a9195928b8074604b3f2e2a3a4e5f687d899195928e8175614b41301e0a00000c2135495b647a869094948f8579635847331f08000000000000000000000000000e1e324556667c91a1ab9b8673604b6075879db2a0907b665645311e0e00000000000000000a1d3144556278899eb3b29d8774604b372715000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1c2a34373b3b3b3b3b3b3b3b3b4b60758aa0b5aa95806b55403b3b3b3b3b3b3b3b39362d201000000000000000000000000000000e1e2e3f4e606c8197a2b4b5a398826e614f402f1f0f0000000000000000000000000000000114263751667b90a9b49e8975604b36200b00000000000d22374d62778ca4b5b9a8927d685544311d1202000000000000000a182a3a4b6073869cb1c7b49f8a755f4a352000000000061a2c3d4b6074869ca8b59f8d7d675d4a43363f4b4f5c646b7173767774716c635a4b4d5f676a6a6a6a675f657b8d9fb4a4937e695847331f0a0000000000081f3447596b8095a5b7baa99d887a6860544b45393f3e403d4a4e5a62748197a1b2c3cec7b19c87725c47321d00081c304354606d6e6e6e6b62513e414d5a626d6e6e6a61503c2c190600000000000000000000000000000000000000000000000d21364a5c6b80949faaaaaa9f95816c5c4b3735495b6a7f949fa9aaaa9f95816d5d4b37344759687d929ea7aaa89f97836f5f4d392510000417293a4d63798b9ca4a9a9a39b8876614c36251300000000000000000000000000031628384c5e6f8399a9a3937e695a6a7f95a5a898836e5e4c38271500000000000000000a1b2d3e4b6073849aa8b7a5927d68554431190900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c181f222626262626262626354b60758aa0b5aa95806b55402b2626262626262624221b1002000000000000000000000000000000112131424b6074849aa5b7b2a0947f6a5e4c3d2c1b0b0000000000000000000000000000000b21364b60758a9fb4a8907b65503b261000000000000b2034485971869cb1c3b29c8773604b402f1e160a04000000070f1a28364758677c91a4b6cab49f8a755f4a352000000000000f1d32455663798a9eabab9f8b7c6a6054463a373e4a4e555c566061595c574d493c414d52555555555b647a8a9eabb19c8674604b3a291704000000000004182a3b4c6176879da9bab7a69d8a7d7266605757555456585b636c7884979fb4acb1bdc7b19c87725c47321d000b20354b607381838383806b5c4a4b5f6778828383806a5a4935200d00000000000000000000000000000000000000000000000f24394e64798b9fb4bbc8bbb49f8c7a644f3a384e63798b9fb4bac7bbb49f8f7b65503a374c6177899eb3b9c5bdb1a1927d67523d2712000a1f33475870859aa9b6c2c1b4a698826d5443301c07000000000000000000000000000a1a30404d63788b9fb39e897762788a9fb49f8a78624d402f1a0a00000000000000031628394a5c6a7f94a2b4b29d8774604b37271500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c1111111111111120354b60758aa0b5aa95806b55402b161111111111110f0d07000000000000000000000000000000000003141d3145566277879da9bab49f8d7c665b493a2918080000000000000000000000000000091e3245566f849aafac96816c573b2b18050000000005182b3b53687e93a5b7b6a595806a5e4c4032281f171514161a212c3845546176879db2c2cab49f8a755f4a35200000000000021528384a5b677d8d9fb5a99f8d7f7261584b443736394038454b4c473b4238352c30393c39464b5f6779889ea8af9e907b665544311c0c000000000000000c1f334758647a8b9fb4bbb7a89e92867c766f6c6a696b6d7279818b9aa2ab9f979fb1c7b19c87725c47321d00081c3043546b819698988e7a6457606d7d899898988c78634d3b2a180500000000000000000000000000000000000000000000152a3f556a7f94aabbced8cebcab95806b56403e54697e93a9bacdd7cebdab96816b56413c51677c91a7b9ccd6cebfae98836e59432e19000c21374c61768ca2b4c7d3d1c5b39e8974604a35200b0000000000000000000000000000122035495a6a8095a5a898826e8399a9a4947f6a5a4834221100000000000000000c1e324557647a8b9fb4b7a5937e685544311909000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354b60758aa0b5aa95806b55402b160000000000000000000000000000000000050b0d0d0d0d0d0d0d0d0d1527384759647a8a9fb4bcab9e897963584636261401000000000000000000000000000316283854697e94a9b29d8772594834200b00000000000d20364b6074879db2c0b49f8d7c665e4b453833292a292b2d363d495660728399a6b7cbcab49f8a755f4a35200000000000000a1a2d3d4d5f697e939db4ab9f9483766860554b44373733323637342a2c2c2a34373b474c57616d7d899ea6b19f95806b5e4c37271500000000000000000417293a4a5c687e929faab9b9b4a39b918a84817f7e8082878e969fa9b49f8d8197acc1b19c87725c47321d00011426364d62788b9fad98826d647582919ea7aeab97816c5947341f0b00000000000000000000000000000000000000000000192e43596e8398aec8d9eadac9af99846f5a4442586d8297adc7d8e9dac5af9a85705a4540556b8095aac5d6e8dcc7b29c87725d47321d0010253a50657a8fa5c0d1e5e1ccb9a88d78634d38230e000000000000000000000000000006192c3c4b6075879db2a0968096a1b19c8674604b3c2b1903000000000000000c1d2f404b6075869caabbb29d8774604b37271500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354b60758aa0b5aa95806b55402b16000000000000000000000000000000000d181f22222222222222222222222a3b4a5c677d929eb0b9a79c8676615443301c1201000000000000000000000000000f243a4f64798fa9b6a58c77624d37220d0000000000091d314556687e93a2b4bcab9f8a7c6a60564c473a3f3e403d4a4e5b63748298a1b3c4cdcab49f8a755f4a3520000000000000000f1f30414f60697f929fa9b4a199877e74686055524c473a42403e3e40413b484c5259616a7582919ea7b1a197816d6250402f19090000000000000000000c1c2d3e4e60687e8c9ea8b3bfb5b1a99f9996949395989da5abb4aa9f937e7b90a5bab19c87725c47321d0000082034485a6d8298ad9f8c787986979fa49ca4b49f8a77624c39291603000000000000000000000000000000000000000000172c42576c8197acc2d2dfd3c3ad97826d584241566b8096abc1d1dfd4c3ad98836e58433e53697e93a8bfd0dfd6c5b09a85705b45301b000e23394e63788ea7b9ccdedecab59f8b76614c36210c0000000000000000000000000000000e1e324556667c91a1b09e969eb0a0907b655645311d0d0000000000000004182a3b4c5e6c8197a4b6b7a6937e68564531190900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354b60758aa0b5aa95806b55402b160000000000000000000000000000000d1d2a34373737373737373737373737373e4d5f6b8096a1b3b6a4998372604b41301f0f000000000000000000000000000b20364b60758a9fb4a6917c67513c27120000000000021527384b6073859ba7b8baa89f8c7f7568615857555456585c646c798598a0b0abb0bdcab49f8a755f4a35200000000000000001122332424f61697d8b9da5b2a69d93877d746d67615859575553535557585962676d778089979fb3b39f978373604b443322110000000000000000000000102031424e60687c8a99a1b0b4c1bab4afacaaa9abadb2b6b2a49c8b7f697b90a5bab19c87725c47321d000005192b3c4e63798ea1aa9b858b9ca49f96879aa2a995806b5746321e0900000000000000000000000000000000000000000012283d52677d92a4b5c4cac4b6a4937e68533e3c51667c91a3b5c3cac5b7a5947e69543f3a4f647a8fa1b3c2cac6b8a796806b56412c16000b20354b6074899eb3bec9c9bcb19c86715746331e0a000000000000000000000000000000031628384c5e6f8399a9b0abb0a898836e5e4c38271500000000000000000b1f344759667c909fb1c2b29d8875604b3827150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354b60758aa0b5aa95806b55402b16000000000000000000000000000005182a3b484c4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d60728399a4b6b3a195806b5f4d3d2d1909000000000000000000000000091d31455670859bb0ab96816c563626140100000000000a1d3144556278899eaab9baaa9f94877d766f6c6a696b6d7279818c9ba3b09f969fb0cab49f8a755f4a3520000000000000000005142432434f5f677b8798a0afb2a59d9288827c76716e6c6a68686a6c6e72777c828a959ea7b1a89e92827460554431261503000000000000000000000002132431424e5e6678838f9ba3a9afb3b5bcc5b9b3b1aca59c94867a69657a90a5aaaa9c87725c47321d0000000d21364a5b6f8499afa39b9fa69e8d8075849ab09e8976614b3727150200000000000000000000000000000000000000000b20364b6074869ca6b2b6b2a69c8675604b36354b6073859ba5b1b5b2a79d8775614b36364a5c6e8399a4b1b4b3a89e8977624c37220d00081c304354697e93a0b0b4b4af9e917c665139291703000000000000000000000000000000000a1a2f404d62788a9fb4c2b49e8a78624d402f1a0a00000000000000031628384c6177889ea5a5a5a6937e695645321a0a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354b60758aa0aaaa95806b55402b1600000000000000000000000000000b1f34485962626262626262626262626262626262626276869ca9baaf9e917d675c4a37261401000000000000000000000002152738566c8196abb09b86715443301c080000000000011527374859657c8c9ea8b8bbb4a59d928b85817f7e8082878e969faab49e958196abc1b49f8a755f4a352000000000000000000006152532414d5d6576828f9aa2afb2a69e98918b8683817f7d7e7f8183878c91979fa9b3afa29a897d6d605645372715070000000000000000000000000006142431404c5a636e7b858d939a9d9faba3a79e9b978f877f74645c657b909595959586725c47321d000000071a2d3d50657b8fa3b0b0a29a887c6b667c91a4a7947e695544311d080000000000000000000000000000000000000000091d314556647a88979ca59d97887a64564532314455637987969c9f9d97897b655746322e3e4c627786959c9f9d988a7c66594834200b00011426364a607282929a9f9e9a90806b5e4c391b0b000000000000000000000000000000000000122035495a6a8095a5a8a4947f6a5a483421110000000000000000091e3245566f848f8f8f8f8f8f8874604b382815000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354b60758a95959595806b55402b1600000000000000000000000000000d22374c62777777777777777777777777777777777777777b8a9fb4bcb49f8a7a645544311d0800000000000000000000000013283d53687d92a8b49f8975604b35200b00000000000009192b3b4c5e667c8a9da6b4bcb7b2aa9f9a97949395989da5acb4ab9f9580788da2b7b49f8a755f4a352000000000000000000000071523303f4b58616d7a848f9aa2abb1adaa9f9b99979593939596989ca4a7adb3ada19a908578675f4b45382819090000000000000000000000000000000614222f3c494d5d6570787e85888a8c8e8b8986827a726960564d62787f7f7f7f7f7e69533e2914000000000f23374b5d71859b9b9b948477665e6073869b9b9b8875604b36200b0000000000000000000000000000000000000000021527384a5c647681878b878277645c4a38282637495b637681878a878277655d4b392920344859627480868a888378665e4c3b2b18050000081c304354606e7d858989857c6b625140301d0000000000000000000000000000000000000006192c3c4b6074879393938674604b3c2b190300000000000000000b21364b60757b7a7a7a7a7a7a79635645321a0a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354a60727f7f7f7f7f7b65503b251000000000000000000000000000081d32485d72878c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c909fa9bacdbaa89d8774604b35200b00000000000000000000000010253a4f657a8fa4baa98d78624d38230d000000000000000d1d2f404c5e667a88979fabb4bcbbb4afacaaa9abadb2b6b2a49c8c806b788da2b7b49f8a755f4a352000000000000000000000000513212e3a464c5d646f7a858f969ca4a9afb0aeacaaa8a8aaacadb1aea9a79e988e847b70625a4d4132281a0a000000000000000000000000000000000004111e2c353f4b505a62696f737577787674716d655d544b45495a626a6a6a6a6a69604e3b261100000000081c2e3f51667c8585857f7262594c54677d858585857b65503a25100000000000000000000000000000000000000000000a1a2d3d4a58616c7275726d61594a3e2e1a192c3d4957616c7275726d62594b3f2e1b182b3b4856606b7175736e635a4c40301d0d00000000132536434a5f6770757570665e514434221200000000000000000000000000000000000000000e1e324556647a7d7d7d79635645311d0d000000000000000000091e3245566065656565656565635b493828160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071c304354606a6a6a6a6a655d4b37230e00000000000000000000000000081d32485d72879da2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a5b4bac7d7c6b7a58b75604b36200b0000000000000000000000000c22374c61778ca7b9a6907b66513b2611000000000000000011212f404c5c6477828c9a9fabafb3b4bcc5b8b3b1aca59c94867a6b62778da2b7b49f8a755f4a352000000000000000000000000003101c29333f4b4f5d65707a81878d93999d9faba3a5a4a2a99f9d99938e8882796f655d4d493c301e160a00000000000000000000000000000000000000000e19202e373c484d545a5560626361585c574f4b3f36313c494d5555555555534e42311f0b00000000001124384c5e66707070696054483b4d5f6770707070655d4b37230e000000000000000000000000000000000000000000000f1f2d3a474c57566056574c473a2e20100f1f2c39464c57566056584c483b2e21100d1d2b38454b55566056594d493c302212000000000008182530414d5255606054514c40342616040000000000000000000000000000000000000000021628384a5c64686868635b4a3827150000000000000000000003162838454b505050505050504e493d2c1a0a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000132536434a5555555555504b3f2e1c0800000000000000000000000000081d32485d72879db2b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7babfbfbfbfbfc3a08b75604b36200b0000000000000000000000000b1f34475974899eb3a9947f69543f2a1400000000000000000312222f3e4a59626d7a848b939a9d9faba3a79e9b978f877f75645d62778da2b7b49f8a755f4a352000000000000000000000000000000c171f2e373f4b505d656b72787e84888b8d8e8f8f8d8b8a88847e79746d645c504b3f352c1e13030000000000000000000000000000000000000000000006111c232b35383e37444b4d4e4c463a423a372e201d2b353840404040403e3b312414020000000000091d2f404c515b5b5b544a433630414d525b5b5b5b504b3f2e1c0800000000000000000000000000000000000000000000010f1c2a333738454b453837342a1c1002010f1b29333638454b453837342a1d1003000d1a28323638454b453838352c1e120400000000000008131c303a37444b4b4336382f221608000000000000000000000000000000000000000000000a1a2d3e4a4f5353534e4a3d2d1a0a00000000000000000000000a1a2832363a3a3a3a3a3a3a38352c1f0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081825303540404040403b372e21110000000000000000000000000000081d32485d72879daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa08b75604b36200b00000000000000000000000004182a3b5c71869bb1ac97816c57422c170200000000000000000412202d3b474c5c646f777e84888a8c8e8b8986827a726a60564d62778da2b7b49f8a755f4a352000000000000000000000000000000004101b222e373f4b4f565a63696f727678797a79787674736e696360544f4a3e372e20190e0000000000000000000000000000000000000000000000000000080e1920222927313637393633292d25221b100e1920232a2a2a2a2a29261f14060000000000000012222f383b4646463f3530252330393d464646463a372e2111000000000000000000000000000000000000000000000000000c171f212832363228221f180c000000000b171e212832363228221f180d000000000a151d2028323632282320190e00000000000000000000131e25273135353026241d120400000000000000000000000000000000000000000000000010202d36393e3e3e39362d1f0f000000000000000000000000000a161e212525252525252523211a0f01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131c202a2a2a2a2a25231c11030000000000000000000000000000081d32485d728795959595959595959595959595959595959595959595959595958b75604b36200b000000000000000000000000001a2f445a6f8499afae99846e59442f190400000000000000000002101d2a343e4a4f5962686f737577787673716d655d544b454d62778da2b7b49f8a755f4a3520000000000000000000000000000000000008111c232e373a3c494d545a5660636465646261575d59544e4a4336362d231c11060000000000000000000000000000000000000000000000000000000000050b0d14151d202223211f1718100e080000060b0d151515151514110b02000000000000000004121d24263030302a201c13131e25273030303025231c11030000000000000000000000000000000000000000000000000000040a0c151d201d150c0a04000000000000030a0c151d201d150d0b0500000000000002090b151d201d150e0c060000000000000000000000010a09151d20201c140809000000000000000000000000000000000000000000000000000002101b222428282824211a0f01000000000000000000000000000003090b101010101010100e0c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070b1515151515100e08000000000000000000000000000000000014293e54697e7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f73604b35200b00000000000000000000000003182d43586d8298adb09b86705b46311b0000000000000000000000000d181f2d363b474c535a5560626361585c574f4b3f36384d62778da2b7b49f8a755f4a35200000000000000000000000000000000000000008101b22252c35383e38454b4d4e504f4d4b4639443e39353025221b1008000000000000000000000000000000000000000000000000000000000000000000000002080b0d0e0c0a0400000000000000000000000000000000000000000000000000000000090f111b1b1b140b0700010a10121b1b1b1b100e080000000000000000000000000000000000000000000000000000000000000002090b090200000000000000000000000002090b090200000000000000000000000002090b0902000000000000000000000000000000000001080b0b0801000000000000000000000000000000000000000000000000000000000000070d0f1313130e0c07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012273b4f60696a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a605544311d0800000000000000000000000001162b41566b8096abb29d88725d4825130000000000000000000000000005101b222a34373e37444b4d4e4c463a423a372e22384d62778da2b7b49f8a755f4a3520000000000000000000000000000000000000000000080e101920232928323638393a3a383633292f2924201c130807000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f15172020202020202020202020202020202020202020202020202020202020202020202020200f0d0700000000000000000000000000000000000000000000000000000000000000000000000000000c1f32424f545555555555555555555555555555555555555555555555555555554b443726140100000000000000000000000000152a3f546a7f94a9b49f8a745443301c070000000000000000000000000000070d181f222927313537393633292d25231c22384d62778da2b7b49f8a755f4a3520000000000000000000000000000000000000000000000000060c0e14161e212324252423211e1719140e0b0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b0d12141618191715130e0c060000000000000000000000000000000000000000070d0f1d1d1d1d1d1a181208000000000000000000000000000000000000000000000000000000000000000000000000000000050b0d1215130e0c06000000000000000000010a101220202020202014120c030000000000000000000000000000000000000000000000000000000000040e1416202020202020110f0a000000000000000a1012202020202020110f0900000000000000000000000000000000000000000000050b0d20202020202015130d04000000000917222a2c35353535353535353535353535353535353535353535353535353535353535353535353524211a0f01000000000000000000000000000000000000000000000000000000000000000000000000021424323b3e4040404040404040404040404040404040404040404040404040403531261909000000000000000000000000000014293e54697e93a9baa98a75604a35200b00000000000000000000000000000000050b0d13151d202223211f1718100e0d22384d62778da2b7b49f8a755f4a35200000000000000000000000000000000000000000000000000000000002090b0e0f100f0d0c0a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b0d182022282a2c2e2e2c2a2823211a0f0d0700000000000000000000000000000002101b222432323232322f2d25190b000000000000000000000000000000000000000000000000000000000000000000000000000d182022272b282321190e0200000000000005131e25273535353535352927201407000000000000000000000000000000000000000000000000000000081621292c35353535353527241d120400000004121d242735353535353526231c1103000000000000000000000000000000000000000d1820353535353535352a282015070000051727353e424a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a39362d1f0f0000000000000000000000000000000000000000000000000000000000000000000000000006141f27292a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a201d140900000000000000000000000000000013293e53687e93a8b5a08b76604b36210b000000000000000000000000000000000000000001080b0d0e0c0a040000000d22384d62778da2b7b49f8a755f4a352000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e1920222b34373d3f414343413f3d38352c24211a0f060000000000000000000000000010202d363a47474747474541372919080000000000000000000000000000000000000000000000000000000000000000000008131c2b34373c403d38352c1d150a0000000001132330393d4a4a4a4a4a4a3f3b3225140000000000000000000000000000000000000000000000000000001626343d414a4a4a4a4a4a3c39302212000000122230393c4a4a4a4a4a4a3b382f22110000000000000000000000000000000000000d1d2b344a4a4a4a4a4a4a403c33251504000f22354552576060606060606060606060606060606060606060606060606060606060606060606060604e4a3d2d1a0700000000000000000000000000000000000000000000000000000000000000000000000000020c12141515151515151515151515151515151515151515151515151515150b08010000000000000000000000000000000013283d52687d92a7b6a18c76614c37210c000000000000000000000000000000000000000000000000000000000000000d22384d62778da2b7b49f8a755f4a352000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070b0f14171a1b1c1d1b1a1915110d0b050000000000000000000000000000000000000000000000000000000000000c171f2b35383b484d52545658595755534e493d39362d20190e0000000000000000000000071b2d3e4a4f5c5c5c5c5c5a5447372512000000000000000000000000000000000000000000000000000000000000000000081825303b484d5255524d493c32281a0a0000000a1e30414d52606060606060544f43321909000000000000000000000000000000000000000000000000000b1b34445156606060606060514d40301d0a000a1d30404d51606060606060504c402f1c090000000000000000000000000000000005182b3b485e60606060606055504333200d00152a3e52636c757575757575757575757575757575757575757575757575757575757575757575757575705c4a36210d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012273d52677c92a7b7a18c77624c37220d000000000000000000000000000000000000000000000000000000000000000d22384d62778da2b7b49f8a755f4a352000000000000000000000000000000000000000000000000000000000000000000000000000000002090b131c2024292c2f303132312f2e2b272220190f0b070000000000000000000000000000000000000000000000000005131c2a333c484d55596267696b6d6e6c6a68635b564e4a3d352b1e15020000000000000000000d22364a5c6472727272726f6554412d18030000000000000000000000000000000000000000000000000000000000000000132536434a5962676a68635b4b453828150200001025394d5f6775757575757569614f3726140100000000000000000000000000000000000000000000000316293951626b757575757575665e4d39240f001024394d5f67757575757575665e4c38230f000000000000000000000000000000000b20344859707575757575756a61503c281300172c42576c818a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7a644e39240f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012283d52677d92a7b6a18c77614c37220c000000000000000000000000000000000000000000000000000000000000000d22384d62778da2b7b49f8a755f4a352000000000000000000000000000000000000000000000000000000000000000000000000000040a151d20253035393e4144464747464443403c38352b25201c130802000000000000000000000000000000000000000000071523303a474c5a626a71777d7f818383817f7d78726b645c4d483c331d150a00000000000000000f243a4f647a8687878787836f5a452f1a0500000000000000000000000000000000000000000000000000000000000000071c3043546069777c807d786b605645321d11000012273d52677d8a8a8a8a8a8a7f695544311d0800000000000000000000000000000000000000000000000a1e3246576b808a8a8a8a8a8a7c66513c27110012273c51677c8a8a8a8a8a8a7b66503b2611000000000000000000000000000000000d22374d62778a8a8a8a8a8a7f6a55402a1500172c42576c81979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f8e79644e39240f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013283e53687d93a8b6a08b76614b36210c000000000000000000000000000000000000000000000000000000000000000d22384d62778da2b7b49f8a755f4a35200000000000000000000000000000000000000000000000000000000000000000000000030c171f28323636434a4f53575a5b5c5c5b5a5855514d483c3a3530251d150a0000000000000000000000000000000000000009172533414d58616b7880868c92949698989694928d8781796d625a504331271a0a0000000000000010253a50657a8f9c9c9c9c87725d47321d0800000000000000000000000000000000000000000000000000000000000006192c3c4a60727e8a9195928c8074604b402f1c09000b20364b6074889d9f9f9f9d8774604b35201000000000000000000000000000000000000000000000011426364b6176899e9f9f9f9d8773604b35200b0012273c51677c919f9f9f9f907b66503b2611000000000000000000000000000000000d22374d62778c9f9f9f9f957f6a55402a1500172c42576c8197acb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5a38e79644e39240f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8bbaa8a75604b35200b000000000000000000000000000000000000000000000000000000000000000d22384d62778da2b7b49f8a755f4a3520000000000000000000000000000000000000000000000000000000000000000000000a161e2a3338454b50546064696c6f707172706f6e6a66625a564f4a433631271c1308000000000000000000000000000000000617273543505f6776808a959ba3a7a9abadaeacaaa8a49c968c82786a614b4538281b0a00000000000010253a50657a8fa5b1b19c87725d47321d080000000000000000000000000000000000000000000000000000000000000c2035495a6a7f939fa9aaab9f96826d5e4c38230f00081d3144556a7f94a8bab7a5917c67513e2e1b07000000000000000000000000000000000000000000081c304354697e93a7b9b9a7937e695443301c080012273c51677c91a6b5b5a5907b66503b2611000000000000000000000000000000000d22374d62778ca2b5b5aa957f6a55402a1500172c42576c8197acc2d2cacacdc4c0babababababababababababababababababababababababab9a38e79644e39240f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000142a3f54697f94a9b49f8a755544311d08000000000000000000000000000000000000000000000000000000000000000d22384d62778da2b7b49f8a755f4a3520000000000000000000000000000000000000000000000000000000000000000001131b28323a474c5660666c74797e8184858687868483807c78726b6460544b45383025180f0100000000000000000000000000021424354552616a7d89969fa9b0b5c1bebdbbbbbdbfc2b6b1ab9f988b7f6d60564539281603000000000010253a50657a8fa5bab29c87725d47321d080000000000000000000000000000000000000000000000000000000000000e23384d63788a9fb4bac7bcb4a0907b66503b261100021527374c61768a9fb4c3b09b85705c4a36220d0000000000000000000000000000000000000000000b20354b6073879cb2c5b39e8976614b362614010012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a1500152a3f546a7f94a3b5c7d8cdbcb0aba5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a38e79644e39240f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152b40556a8095aab39e89735e49271501000000000000000000000000000000000000000000000000000000000000000d22384d62778da2b7b49f8a755f4a35200000000000000000000000000000000000000000000000000000000000000008141c3039454b58616b757b81888e9396999b9c9c9b999895918d87817a736860564a43362c1f13000000000000000000000000001020324252636c7f8d9ea7b4babcb5b0aaa8a6a5a7aaafb4bbbcb5a99f948274605745321e14000000000010253a50657a8fa5bab29c87725d47321d0800000000000000000000000000000000000000000000000000000000000014293e53697e93a9bacdd7cfbeac97816c57422c170000091f3347586c8197abbcb4a28f7a644f3b2b190500000000000000000000000000000000000000071a2d3e51667c91a5b6bbaa96806b5746331808000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a15000b20364b6074869ba9bacec4b09e968f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8e7a644e39240f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002172d42576c8297acb19c87715c47321c00000000000000000000000000000000000000000000000000000000000000000d22384d62778da2b7b49f8a755f4a35200000000000000000000000000000000000000000000000000000000000000b182630414d57606a76808990979da6a8acafb0b1b1b0afadaaa6a59d968f877d74686054493d311c1308000000000000000000000a1a2e3e4f606c81949fabb9bbb4ab9f9b9592909092949a9faab4b9bab4a0988475604b42311e0e0000000010253a50657a8fa5bab29c87725d47321d08000000000000000000000000000000000000000000000000000000000000182d42576d8297acc7d7e9dac5b09b85705b46301b000004172a3a4e63788c9fb5c0ad98836d594834200a000000000000000000000000000000000000000d21364a5c70849aafc3b49f8b78624d39291700000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a1500091d31455663798b9fb4c0c0ab96807b7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7b75614b36210c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004192e44596e8399aeaf9a846f5a452f1a05000000000000000000000000000000000000000000000000000000000000000d22384d62778da2b7b49f8a755f4a352000000000000000000000000000000000000000000000000000000000000e1b2936434b5f67757f89969ea8acb2b7c4c1c3c1bebdbec0c3bfc3b7b2aba59c93887e72635b4e41302518080000000000000000021528384b5c697e939fb5bcb6aa9f978c86807d7b7b7d7f848b959ea8b4beb2a298826d604e3c2c190600000010253a50657a8fa5bab29c87725d47321d08000000000000000000000000000000000000000000000000000000000000162b40556b8095aac1d1dfd4c4ae99836e59442e190000000c2135495b6f8499aec2b49f8b78624d39281603000000000000000000000000000000000005182a3b4e64798ea2b4c0ad98836e5a48351b0b00000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a1500021527384a5b6a7f94a2b4c6b39e88776565656565656565656565656565656565656565656565656565615746321e090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021528385b70859bb0ad98826d58432d1803000000000000000000000000000000000000000000000000000000000000000d22384d62778da2a5a59f8a755f4a3520000000000000000000000000000000000000000000000000000000000e1e2b3a4654606b7d88949ea7b4b9c6c7bab4b0adaba9a8a9abadb2b5bcc9c3b6b2a69d93847968604a433626180800000000000000091d324556647a8b9fb4bdb5a59d8c8178716b686666686a6f767f8a9aa2b2beb2a0937e685a4935200e00000010253a50657a8fa5bab29c87725d47321d0800000000000000000000000000000000000000000000000000000000000011263c51667c91a3b4c3cac5b7a6947f6a543f2a15000000061a2c3d50657b90a3b5bbaa95806b5745321e0800000000000000000000000000000000000b1f3448596d8298adc0b4a28f7a644f3c2b190000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a1500000a1a2d3d4b6073849aa8b9b8a699836e5f5050505050505050505050505050505050505050505050504b46392816030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091d32455672879db2ab95806b56402b1601000000000000000000000000000000000000000000000000000000000000000d22384d62788d8f8f8f8f8c755f4a35200000000000000000000000000000000000000000000000000000000b1b2b3c4858617280919da6b3b9c5b9b3ada99f9a989694939495989c9fabafb5bcc4b7b2a29a8b7d6b605443362614010000000000021527374b6074879daabbb5a39b87796c625955535150525558616a778498a0b2beb49f8b78634d3c2b1906000010253a50657a8fa5bab29c87725d47321d080000000000020402000000000000000000000000000000000000000000000b20354b6073859ba5b1b5b2a79d8876614c36210c000000000e23384b5d71869bb1c4b39e8975604b36251300000000000000000000000000000000021628384c62778b9fb4c3b09b85705c4b371e0e0000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a150000000f1c30435463788a9eb4bfb3a1927d685a48363a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3632281b0b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20364b60758a9fb4a7927d67523d281200000000000000000000000000000000000000000000000000000000000000000b20364b60747b7a7a7a7a7b65503a2510000000000000000000000000000000000000000000000000000008182939485a627683969eb3b7c4bab4a79e98918a8583817f7e7f8083878b929a9fabb4bcc0b4a99f928072605443301c150300000000081d314455687e93a5b7b8a79b8577635b4d483b3d3b3b3d3a464c5961748298a3b5baa997826d5a4935200b000010253a50657a8fa5bab29c87725d47321d00070d0f121517191715130e0c060000000000000000000000000000000000081c304354637987969c9f9d98897b655846331f0a00000000081c2f3f52687d92a6b8b8a7937e685443301c11111111111111111111111111111111111e3245566a8095a9bab7a5917c67513e2e1b000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a1500000001142636495a687e93a1b3bfb39e8978625443302525252525252525252525252525252525252525211e160b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e24394e63798eabbcab8e79644f39240f0000000000000000000000000000000000000000000000000000000000000000091d324556606565656565655d4b37230e0000000000000000000000000000000000000000000000000001142636465762788699a1b0bcbeb1a89f9589827c76706e6c6968696b6e72777d848c989fabb6c2bab49e958272604b43332111000000000b20364b6074879db2c2b39e897862594a3d342b2826262829333b47566074859ba9bab49f8b78624d38230f000010253a50657a8fa5bab29c87725d47321d101b2224272a2d2e2c2a282320190e0b05000000000000000000000000000001142636495b637581878a888277655d4b3a29170400000000001120364b6074889db3c5b19c8773604a3526262626262626262626262626262626262626364b6075889eb3c6b29d8774604b352010000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a150000000008182c3c4e606f8399a7b8b9a89a8472604a3d2c191010101010101010101010101010101010100c0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011273c51667c91a6b59f8b76614b36210c000000000000000000000000000000000000000000000000000000000000000002152838454b5050505050504b3f2e1c08000000000000000000000000000000000000000000000000000a1c3043546175869ca4b3bfbbb4a0978a80766d676157585654535456585861686f79828c9ca4b1bdbcb0a097816c61503f2e1b0b00000114263652677d92a5b7b5a3917c675a483b2d201913111113171f2a38455663788b9fb4bbaa96816c573d2c1a060010253a50657a8fa5bab29c87725d473220222d36393c3f4243423f3d38352c2220190e030000000000000000000000000008182c3d4957616c7275726d62594b3f2e1b0b000000000000091d3145566a7f95a9bab6a4907b66513d3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3f53687d92a6b8b9a8947e695544311d08000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a1500000000000e1e31424c6277899eb3beb4a2937e695b4937271501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f556a7f94aab29d87725746321e0a0000000000000000000000000000000000000000000000000000000000000000000a1a2832363a3a3a3a3a3a372e2111000000000000000000000000000000000000000000000000000a1a30414b60728399a4b6c2b8aa9f9382776b6157514b4639413f3e3f403a474c535b636d7a86979fafbbbeb19f947f6a5d4b3a29170400081c3043546e8398aec3b19b86715f4d3c2b1d0f0500000000040c1a2838495b6d8297acc2b29d88725b4935210c0010253a50657a8fa5bab29c87725d472b34373e4a4e525457595755524d493c38352b1e160b000000000000000000000000000e1f2c39464b56566056584d483b2e211100000000000000021527384c61778a9fb4c2af9a846f5b5151515151515151515151515151515151515151515d71869cb1c5b39e8976614c37261401000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a150000000000001420344859677d91a0b2c0b49f8b79635544311d10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005192b3c596e8399aead98836e5839291603000000000000000000000000000000000000000000000000000000000000000000000a151d20252525252525231c1103000000000000000000000000000000000000000000000000021628384d5f6b8096a1b3c2b8a79e8c7e6d62594b46393632292c2a292a2b2a33373d494e5c647481949dafbbbdb49f8d7b655846331f0a000b20354b6073899eb3bbaa927d675240301e0e00000000000000000a1a2c3c4e63788da4b6b7a58d78634e38230e0010253a50657a8fa5bab29c87725d473b484d545c64676a6c6e6c6a68635a554d483c32281b11040000000000000000000000000e1b29333638454b453837342b1d110300000000000000000a1f3447596d8297acbfb3a28e7966666666666666666666666666666666666666666666667b90a4b5bbaa96816b574633190900000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a1500000000000005182b3b4d5f6d8298a6b7baa99b8573604b3e2d1a0a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2035485a73889db3a9937e69543e291400000000000000000000000000000000000000000000000000000000000000000000000002090b1010101010100e080000000000000000000000000000000000000000000000000000091e324556677d919eb0bfbaa89e897b68604d483b3329211e161714131416171f212c363e4b56606d7f949dafbdbcab9d8776614c36210c000f243a4f647a8fa7b8b49f8b76614c362112000000000000000000000e2135495b71869cb1c3a8937e69533e29140010253a50657a8fa5bab29c87725d454b59626a72797c7f8283817f7d78716a625a4b46392f22130600000000000000000000000417293a464c4f4f4f4d483c2b190500000000000000000004182a3a4e63798ea1b3c0ae99837b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b849aafc2b49f8b78624d3929170000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a15000000000000000d1d30414c6176889db2bdb5a3957f6a5c4a382816030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d22384d62778da6b7a88e79644f39240f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000417293a4b6075879db2bcbcb49f8a7a655d4e42342b1e170c0a030000000000040a0f1a212e38454b616a7f949fb1ab9f97887a654f3a25100014293e53697e93a8c5b09b86705746331e0a00000000000000000000061a2c3d576c8196acc1ad98826d58432e180010253a50657a8fa5bab29c87725d57606c777f878e919497989794928d867f786b61574c4031241507000000000000000000000a1f33465861656565625a4835200b000000000000000000000c2136495b6f849aafc2b2a19990909090909090909090909090909090909090909090909aa2b4c1ae98836e5a48351b0b0000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a150000000000000000121f334758667b909fb1c1b49f8c7a645645321e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012273c51677c91a6b49e8975604b35200b0000000000000000000000000000000000000000000000000000070b0f14171a1b1c1c1b191715110c0a030000000000000000000000030b0b0b0b0b0b0b0a0000000000000000000a1f334658697f94a5b7c3b09e927d675c4b3f3120180d03000000000000000000000006101a28324350616c8197a39b8c8176655d4b37230e00152b40556a8095aabfac96816c5739291703000000000000000000000012283d52677d92a7bcaf9a846f5a452f1a0010253a50657a8fa5bab29c87725d6575818b949ca4a7a9acaeacaaa7a49c958a8075665e4e42332515050000000000000000000c21364c61767a7a7a78624d38220d00000000000000000000061a2c3d50667b90a4b6bfb2aea6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6afb4c0b4a38f7a644f3c2b19000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a1500000000000000000417293a4c5e6c8197a5b6bbaa9c8675604b3f2e1b0b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071a2d3d576c8297acae99846f5544311d080000000000000000000000000000000000000000000002090b131c2024292c2f303132302e2c2b26211e160e0c06000000000001080b18202020202020202013110b0200000000011527374c6176899eb3c3b6a596806b5f4d3e2f2113050000000000000000000000000000000a151d33434b60748593857a6c61584b3f2e1c0800172c42576c8197acbfaa957f6a55402a1500000000000000000000000010263b50657b90a5bab19b86715c46311c0010253a50657a8fa5bab29c8772677b87969faab1b6bbb4b3b5bcc9c2b5b1a99f95887c6860504333231301000000000000000012273c51677c8f8f8f816b56412c1601000000000000000000000f23384c5e71869cb1c5c6c3bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc5c8c3b09b85705c4b371e0e000000000000000012273c51677c91a6bcbba5907b66503b2611111111111111111111111111111111111122374d62778ca2b7bfaa957f6a55402a150000000000000000000c1c2f404b6175879caabbb6a496816c5d4b392917030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c21364a5b72879db2a8937e6853372715010000000000000000000000000000000000000000040a151d20253035393e4144464747454442403b36322923211a0f07000009141d202d353535353535353528261f1406000000081d3144556b8095a7b8c2b29c8774604b4130201103000000000000000000000000000000000002151d31455663797e73645c4c473a2e21110000192e43596e8398aebda8937e68533e29130000000000000000000000000f24394f64798ea4b9b39d88735e48331e0010253a50657a8fa5bab29c87727d8d9ca5b4b3aca5aa9f9e9faba6adb3b9bab4a69d8c7e6a615041301f0f000000000000000013293e53687e93a498836d58432e180300000000000000000000091c2f4053687d93a7b8ccd1c0b4b0adadadadadadadadadadadadadadadadadb1b5c2d2cab7a5917c67523e2e1b00000000000000000012273c51677c91a6bcbba5907b66503b2626262626262626262626262626262626262626374d62778ca2b7bfaa957f6a55402a1500000000000000000000111e324657647a8c9fb4c1b59f8d7b655746331e120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e23394e63798ea5b5a38c77624d37220d00000000000000000000000000000000000000030c171f28323636434a4f53575a5b5c5c5b595755504b463939352c201c130a19263135424a4a4a4a4a4a4a4a3e3a3124140200000b20354b6074899eb3c5b5a4927d675544312313020000000000000000000000000000000000000002152738495b636860544a3e332a1c110300001a2f455a6f849aafbca7927d67523d28120000000000000000000000000e23384d63788da2b8b49f8a745f4a341f0010253a50657a8fa5bab29c877b8c9fabb4a69d97908c8a898a8c91989ea7b4bbb7aa9f927f6a5f4d3d2c190900000000000000152a40556a7f95aa9a846f5a452f1a0500000000000000000000001121364b6075889eb3c7c8b4a29b98989898989898989898989898989898989ca4b5c9c6b29d8774604b35201000000000000000000012273c51677c91a6bcbba5907b66503b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b4d62778ca2b7bfaa957f6a55402a1500000000000000000000031628394b5c6b8095a3b5bcab9d8776614c40301d0c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006192b3c54697f94a9b09b8671594834200b0000000000000000000000000000000000000a161e2a3338454b50546064696c6f707171706e6c6a666157564e493d3530251a2837444b58606060606060605f534e42311f0b000010253b50657a90a7b8c8b19c8673604b372715050000000000000000000000000000000000000000000a1a2c3d494e534b43362d1f170c000000001a2f455a6f849aafbca7927c67523d27120000000000000000000000000e23384d63788da2b8b49f89745f4a341f0010253a50657a8fa5bab39e8a899eaaa89e9488817b77757375777c8289969faab8bbb49d927d675b4937261401000000000002172c41576c8196ac9b86715c46311c000000000000000000000000091e3245566a8095a9bac5b09b848383838383838383838383838383838383869cb1c6b9a8947f695544311d0800000000000000000012273c51677c91a6bcbba5907b6650505050505050505050505050505050505050505050505062778ca2b7bfaa957f6a55402a1500000000000000000000000b1b2e3e4b6074859ba9bab7a597826d5e4c3b2a18040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2035485a70859bb0ab947f6a553b2b18050000000000000000000000000000000001131b28323a474c5660666c74797e8184858687858381807b76706b635b514a43362f384555606d757575757575757568604e3a261100071a2d3d566c8196abc5bbaa927d67544330190900000000000000000000000000000000000000000000000f1f2c35393e35302618100400000000001a2f455a6f849aafbca7927c67523d27120000000000000000000000000e23384d63788da2b8b49f89745f4a341f0010253a50657a8fa5bab9a89e9ea8a49c8a7f756c656260556062666d76818b9ea6b7bcb49e8a79635544311d09000000000003192e43586e8398ad9d88735d392917030000000000000000000000021628384c62778b9fb4c2ad98826e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e71869bb0c9b49e8976614c3726140100000000000000000012273c51677c91a6bcbba5907b6666666666666666666666666666666666666666666666666666778ca2b7bfaa957f6a55402a15000000000000000000000000101d31445563798b9fb4c0b1a0917c665947341f130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d23384d62788da3b59f8c78624d38220d0000000000000000000000000000000008141c3039454b58616b757b81888e9396999b9c9c9a999795908a8580796f6660544c3f46566073828a8a8a8a8a8a8a8d7d68533e2813000c21364a5b72879db2c7b49f8a76614c362614000000000000000000000000000000000000000000000000010f1a212329201c1408000000000000001a2f455a6f849aafbca7927c67523d27120000000000000000000000000e23384d63788da2b8b49f89745f4a341f0010253a50657a8fa5bac6b9b3b4a39b86786a6056504c4b444b4d5158616c7a889da5b7b9a89c8673604b3727150100000000051a30455a6f859aaf9f8a745746331e0a0000000000000000000000000a1f3448596d8297adc0b49f8b776258585858585858585858585858657a8fa3b5bcab96816c58463319090000000000000000000012273c51677c91a6bcbfaa947f7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7d92a7bcbfaa957f6a55402a15000000000000000000000000021527374a5b697f94a2b4beb39e8877614c41311e0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071b2d3e546a7f94a9af9a846f5a4835200b0000000000000000000000000000000b182630414d57606a76808990979da6a8acafb0b1b1b0aeacaaaa9f9b958e847b73655d4c57617483979f9f9f9fa89e8b7d68604e3a2611000e24394e63798ea5b6c4af9a856f57463318080000000000000000000000000000000000000000000000000000060c0e130b080100000000000000001a2f455a6f849aafbca7927c67523d27120000000000000000000000000e23384d63788da2b8b49f89745f4a341f0010253a50657a8fa5bad6ccb8a79b8576625a4b453837353135373a474c5c6478879daabbb5a4927d675544311d0800000000001325365c71869cb1a98b76614c36210c00000000000000000000000005182a3b4e64798ea2b4bbaa95806b5645434343434343434343485a6e8398aec1b49f8c78624d3a2917000000000000000000000012273c51677c91a6bcc2af9d949090909090909090909090909090909090909090909090909090929bacc0bfaa957f6a55402a150000000000000000000000000009192d3d4b6073849aa8b9b8a699836e5f4e3c2b18080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d22364a5c71869cb1a8927d67523c2b190500000000000000000000000000000e1b2936434b5f67757f89969ea8acb2b7c4c1c3c1bebdbfc0c1c8bbb4b0aba29a90867b6d6161758499a1b1beb7a79e8a7c675f4e42311f0b0013283d53687d92a8c3bea9947e69543929170000000000000000000000000000000000000000000000000000000000000000000000000000000000001a2f455a6f849aafbca7927c67523d27120000000000000000000000000e23384d63788da2b8b49f89745f4a341f0010253a50657a8fa5bad2c2b39e89786258493c322822201d202229333e4a5a647a8c9fb4c2b29c8774604b35200b00000000071c30435473889db3a28d78634d38230e000000000000000000000000000d21364a5c6f849aafc2b39e8875604b362e2e2e2e2e2e29394d62788b9fb4c1ae99836e5a49351b0b000000000000000000000012273c51677c91a6bcccbbafaaa5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a7acb9cabfaa957f6a55402a1500000000000000000000000000000f1c30435462788a9eb4bfb3a1927d685a48362513000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005192b3c4f647a8fa4b39e8975614b36210e00000000000000000000000000000e1e2b3a4654606b7d88949ea7b4b9c6c7bab4b0adaba9a8aaabaeb2b7c4c5c0b3afa49c90827777859aa2b2bfb6a69d897a655e4d413124140200162b40566b8095abc0b9a48f7a644f3a250f0000000000000000000000000000000000000000000000000000000000000000000000000000000000001a2f455a6f849aafbca7927c67523d27120000000000000000000000000e23384d63788da2b8b49f89745f4a341f0010253a50657a8fa5bac9b5a3917c675a483a2c1e160d0b080b0d171f2e3c4b5c6a7f94a7b8b6a5927d6752372715020000000b20354a60758a9fb4a48f7a644f3a250f00000000000000000000000000071a2d3d51667b90a4b6b8a7927d6853402f1c1919191e3346576b8196aabbb5a38f7a654f3c2c1900000000000000000000000012273c51677c91a6bcd1ccc2bfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcc0cad4bfaa957f6a55402a15000000000000000000000000000001142636495a687e93a1b3bfb39e8978625443301c0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2035485a6e8398adaa96816b5746321e09000000000000000000000000000b1b2b3c4858617280919da6b3b9c5b9b3ada99f9a989694939496989da6a8b0b5c1c2b6b1a09888879ba3b4c0b5a49c8879645c4c40302314060000192e43596e8398aec3c5a28d77624d38220d0000000000000000000000000000000000000000000000000000000000000000000000000000000000001a2f455a6f849aafbca7927c67523d27120000000000000000000000000e23384d63788da2b8b49f89745f4a341f0010253a50657a8fa5bac7b19b86715f4d3c2b1c0e02000000000004101e2e3e4b6175899eb3c3ae99836e5544311d080000000c21374c61768caabba6917b66513c261100000000000000000000000000000f20354a6073879cb1c5b19c86715e4c38230f011426364b6176899eb3c3b09b85705d4b371e0e00000000000000000000000012273c51677c91a6bcd5c5b8b3b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b3b7c4d5bfaa957f6a55402a1500000000000000000000000000000008182c3c4e606f8399a7b8b9a89a8472604a3d2c190900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000417293a4d62788b9fb49f8b78624d3928160300000000000000000000000008182939485a627683969eb3b7c4bab4a79e98918a8583817f7e7f8183888d939ba3aeb3bfbeb2a79e9ca5b5c0b4a39b8678635b4b3e2f2112050000001a2f455a6f849aafc4b9a78b76604b36210b0000000000000000000000000000000000000000000000000000000000000000000000000000000000001a2f455a6f849aafbca7927c67523d27120000000000000000000000000e23384d63788da2b8b49f89745f4a341f0010253a50657a8fa5babaa9917c675241301e0e000000000000000000101e3246576a7f95aac4b39e8974604b36200b0000000e23384e63788da3c8a8927d68533d28130000000000000000000000000000071c304354687e93a7b8b5a4907b65503d2c1a081c304354697e93a8b9b7a5917c67523f2e1b0000000000000000000000000012273c51677c91a6bcccb8a79e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9da6b7cbbfaa957f6a55402a15000000000000000000000000000000000e1e31424c6277899eb3beb4a2937e695b4937271501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f3346586b8196aaae98836e5a48351b0b00000000000000000000000001142636465762788699a1b0bcbeb1a89f9589827c76706e6c69686a6b6e73787e868e99a1b2b7c4b8b3b2b6c1b4a29a8577625a4a3d2e201103000000001b30465b70859bb0c5b39e89745645321e090000000000000000000000000000000000000000000000000000000000000000000000000000000000001a2f455a6f849aafbca7927c67523d27120000000000000000000000000e23384d63788da2b8b49f89745f4a341f0010253a50657a8fa5bab49f8a76614b36211200000000000000000000031628394e63798ea6b7b9a88f7a65503a251000000010253a4f657a8fa4baa9947f6a543f2a150000000000000000000000000000001325364b6075899eb3c2af99846f5b4935210c20354b6073879db2c6b29d8774604b3520100000000000000000000000000012273c51677c91a6bcc8b39e888888888888888888888888888888888888888888888888888888889db3c8bfaa957f6a55402a150000000000000000000000000000000000131f344859677c91a0b2c0b49f8b79635544311d10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011527374c6176899eb4a18f7a644f3c2b19000000000000000000000000000a1c3043546175869ca4b3bfbbb4a0978a80766d676157585654535556595a6268717983909da6b7cbc8c7c9b5a39a84756159483c2d1f100200000000001c31465b71869bb0c6b39d88735443301c080000000000000000000000000000000000000000000000000000000000000000000000000000000000001a2f455a6f849aafbca7927c67523d27120000000000000000000000000e23384d63788da2b8b49f89745f4a341f0010253a50657a8fa5baaf9a85705746321e0900000000000000000000000b21364a5b73889db3c6a9947e69543f291400000012273c51677c91a6bcab96816b56412c16010000000000000000000000000000081e3245576b8095aabbb59f8c79634e3a2a1b2d3e51667c91a5b6b9a8947f695544311d080000000000000000000000000012273c51677c91a6bcbba5907c7373737373737373737373737373737373737373737373737373778ca2b7bfaa957f6a55402a15000000000000000000000000000000000005182a3b4d5f6d8298a6b7baa99b8573604b3e2d1a0a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081d314455697f94a8af99846f5c4b371e0e0000000000000000000000000a1a30414b60728399a4b6c2b8aa9f9382776b6157514b4639413f3e3f413c484d535c646e7b889db2c8dddbc6b09b86756157473b2b1e0f010000000000001b30455a70859aafc5b49f8a75604b35200b0000000000000000000000000000000000000000000000000000000000000000000000000000000000001a2f455a6f849aafbca7927c67523d27120000000000000000000000000e23384d63788da2b8b49f89745f4a341f0010253a50657a8fa5baab96816b56392816030000000000000000000000071a2d3d596f8499aec0ab96806b56412b1600000013293e53687e93a8bdad98826d58432d18030000000000000000000000000000031628394d62778b9fb4bcab97816c58473322364a5c70859aafc3b49e8976614c372715010000000000000000000000000012273c51677c91a6bcbba5907b665d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d62778ca2b7bfaa957f6a55402a150000000000000000000000000000000000000d1d30414c6176879dabbcb5a3957f6a5c4a38281603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354b6074879db0a18f7a644f3e2e1b000000000000000000000000021628384d5f6b8096a1b3c2b8a79e8c7e6d62594b46393632292c2a292a2c2b3538435060697d8b9fb4cad2ddc9b49f8a79635544311d0e00000000000000001a2f44596f8499aec4bbaa8c77614c37220c0000000000000000000000000000000000000000000000000000000000000000000000000000000000001a2f455a6f849aafbca7927c67523d27120000000000000000000000000e23384d63788da2b8b49f89745f4a341f0010253a50657a8fa5baa9947f69543f2a1400000000000000000000000000182d42576d8297acc2ad98826d58432d18000000152a3f546a7f94a9bfae99846f59442f1a040000000000000000000000000000000a203448596d8298adc0b49f8a77614c372b3b4e64798ea2b4bcab96816c5846331909000000000000000000000000000012273c51677c91a6bcbba5907b6650484848484848484848484848484848484848484848484d62778ca2b7bfaa957f6a55402a1500000000000000000000000000000000000000121f334658657b8d9fb5c1b49f8c7a645645321e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012273d52677d929b9b99836e5c4a362010000000000000000000000000091e324556677d919eb0bfbaa89e897b68604d483b3329211e1617141315192736434a616a7e8d9faabbc9bdc7cbbaa99b8573604b3c2b190500000000000000172d42576c8297acc1c8a38e79634e39240e0000000000000000000000000000000000000000000000000000000000000000000000000000000000001a2f455a6f849aafbca7927c67523d27120000000000000000000000000e23384d63788da2b8b49f89745f4a341f0010253a50657a8fa5baa8927d68533d281300000000000000000000000001162b40566b8095abc0af99846f5a442f1a000000152a3f546a7f94a9bfae99846f59442f1a0400000000000000000000000000000005182b3b4f647a8ea2b4baa9947f6a55443448596d8298adc0b49f8c78634d3a291700000000000000000000000000000012273c51677c91a6bcbba5907b66503b3333333333333333333333333333333333333333374d62778ca2b7bfaa957f6a55402a15000000000000000000000000000000000000000417293a4c5d6c8196a4b6bbaa9c8675604b3f2f1b0b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000172d42576c81858686857a644e3e2d1b0200000000000000000000000417293a4b6075879db2bcbcb49f8a7a655d4e42342b1e170c0a0300000b1a28374454606c80939fabbbbbb4a8b2b7c3b5a3947f6a5a4834200b0000000000000014293f54697e94a9c6bca7917c67523626140100000000000000000000000000000000000000000000000000000000000000000000000000000000001a2f445a6f8399afbda7927d68523d28130000000000000000000000000e23384e63788da3b8b49e89745f49341f0010253a50657a8fa5baa8937e69533e291400000000000000000000000001172c41566c8196abc1ae98836e59432e19000000152a3f546a7f94a9bfae99846f59442f1a04000000000000000000000000000000000d22364a5c70859ab0c3b29d8874604b384c62778b9fb4c1ae99836e5a49351c0c00000000000000000000000000000012273c51677c91a6bcbba5907b66503b261e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e22374d62778ca2b7bfaa957f6a55402a1500000000000000000000000000000000000000000c1c2f3f4b6075869caabbb6a496816c5d4b3a2917040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3e52636c71717171645c4a3620100000000000000000000000000a1f334658697f94a5b7c3b09e927d675c4b3f3120180d03000000000b1b29384555607281959eb5bcbaaa9f929da5b7c1b49f8b78624d3929170300000000000010263b50657b90a8b9c2ad97826d5443301c08000000000000000000000000000000000000000000000000000002090b0c0a04000000000000000000182d43586d8298adbea9947e69543f291400000000000000000000000010253a4f657a8fa4bab29c87725d47321d0010253a50657a8fa5baaa95806a55402b1500000000000000000000000003172939586e8398adc1ac96816c57412c17000000152a3f546a7f94a9bfae99846f59442f1a0400000000000000000000000000000000071b2d3e51667c91a5b6b7a6927d675245566b8095a9bab5a38f7a654f3c2c190000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611080808080808080808080808080808080d22374d62778ca2b7bfaa957f6a55402a15000000000000000000000000000000000000000000111e324557647a8c9fb4c1b59f8d7b655846331f1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f22354552575b5b5b5b4e4a3d2d1a020000000000000000000000011527374c6176899eb3c3b6a596806b5f4d3e2f2113050000000000031729394656607382969fafbcb8a89f8c7d879db2bfbaa996806b5746331e0a0000000000000b21364b6075899eb4c8b39e8874604b35200f000000000000000000000000000000000000000000000000000a151d20211f170c0000000000000000162c41566b8196abc0aa95806b55402b1600000000000000000000000011263c51667b91a6bbb09b85705b46301b0010253a50657a8fa5baad98826d583d2c1a0600000000000000000000000a1e33465770859bb0bfaa947f6a553f2a15000000152a3f546a7f94a9bfae99846f59442f1a0400000000000000000000000000000000001020354b6073879db2c4b09b85715d4b6075889eb3c4b09b85715d4b371e0e0000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a15000000000000000000000000000000000000000000031628394b5c6b8095a3b5bcab9d8776614c40301d0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051727353e424646464639362d1f0f000000000000000000000000081d3144556b8095a7b8c2b29c8774604b41302011030000000000000a1e33465761748398a0b0bdb7a79e8a7c687c91a1b3c7b39e8976614c36210d000000000000091e3245566e8399aec9b8a68f7a644f3d2c1a0600000000000000000000000000000000000000000000000a1a2731363733291c1308000000000000152a3f546a7f94a9c9ad98836e583d2c1a06000000000000000000000115273754697e94a9beae99836e59442f190010253a50657a8fa5bab29d88735b4935210d00000000000000000000000c21364c61768a9fb4c2a7927d67523d2812000000152a3f546a7f94a9bfae99846f59442f1a040000000000000000000000000000000000081c304354697e93a7b9b5a38f7a6553687d92a7b8b7a6927d67523f2e1c000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a15000000000000000000000000000000000000000000000a1b2e3e4b6074859ba9bab7a597826d5e4d3b2a1804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000917222a2d3131313124211a0f010000000000000000000000000b20354b6074899eb3c5b5a4927d67554431231302000000000000000c21364b61758499a1b2beb6a69d897b665e6e8399aec1b9a8947f69543c2b190500000000000216283852687d92abbcc4ad98826d5b493521110000000000000000000000000000000000000000000002152738454b4c473a30251810040000000012273c52677c91abbcb39d88735b4936210c00000000000000000000081d3144556e8499aec8ab96816c56412c170010253a50657a8fa5bab7a68e79634e3b2a18050000000000000000000a1a2e3e51667c91aabbb5a48c77624d37220d000000152a3f546a7f94a9bfae99846f59442f1a040000000000000000000000000000000000011426364b6176899eb3c1ae98836e5d71869cb1c5b29d8874604b362011000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a150000000000000204070707070707070707070707070700101d31445563798b9fb4c0b1a0917c665947341f130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f15171c1c1c1c0f0d07000000000000000000000000000010253b50657a90a7b8c8b19c8673604b37271505000000000000000012273c52677c919eb0beb5a59c8879645c4f647a8fa3b5c6b19c87725a4834200b0000000000000c22374c61778b9fb4cab49f8c79634e3f2e1d0d0000000000000000000000000000000000000000010f1d3145566061584a43362d1f170c0000000c22374c61778b9fb5b7a68e79634e3a2a17040000000000000000021020354b6074899eb3bbaa907c66513b26110010253a50657a8fa5bac4ac96816c5948341f140400000000000000081528384a5c6f849aafc8b19c8671594834200b000000152a3f546a7f94a9bfae99846f59442f1a04000000000000000000000000000000000000081e3346576b8096aabbb49f8b78657b90a4b5b9a8947f6a5544311d08000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a1500000000071117191d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1527374a5b697f94a2b4beb39e8877614c41311e0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071a2d3d566c8196abc5bbaa927d6754433019090000000000000000001025394d5f6b8095a0b1a39b8778635b4b4b5c71869bb0c6b6a48d77624d38220d0000000000000a1f3447596f849aafbfbcab98836e5d4b3c2b1a0a000000000000000000000000000000000000000f1f2f3f4b6074766860544a3e33291c0c00000a1f34475971869bb1c4ab96816c5847331f1405000000000000031120324252677d92a7b9b49f8a76614b36210c0010253a50657a8fa5bac9b49f8a77624c42321f170c05000000060d1826324556647a8fa2b3bbaa95806b563b2b1805000000152a3f546a7f94a9bfae99846f59442f1a04000000000000000000000000000000000000031729394d62788b9fb4bbaa96816f8499afc2b49e8a76614c37271502000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a150000000a18242c2e3232323232323232323232323232323232322d3d4b6073849aa8b9b8a699836e5f4e3c2b180800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0c121212121212121212121212120c0903000000000c21364a5b72879db2c7b49f8a76614c362614000000000000000000000a1e304150626d8297a19a8577625a4a3d3e53687d93a8c3c2a7927d68523d281300000000000004182a3a4f647a8fa0b2c8b59f8d7b655a4838281b0d0000000000000000000000000000000001101e2d3d4b5d6b80887d72645c4c473a2917040004182a3a566b8096abbcb49e8a76614c423120180d080200070b161e2f3e4f6071869cb1c3af9a85705746321e0a0010253a50657a8fa5bacdbaa999836e614f423329201815141619202b36434b6074859bb1c0b49f8b78634d38230e00000000152a3f546a7f94a9bfae99846f59442f1a04000000000000000000000000000000000000000b2035485a6e8398aec1b39e89798d9fb5bcab96816c584733190900000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a1500000718283640444747474747474747474747474747474747474747435462788a9eb4bfb3a1927d685a483625130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b171e2127272727272727272727272727211e160b0000000e24394e63798ea5b6c4af9a856f57463318080000000000000000000001132333444b6073839684766259493c2d384d62788da5b7c2ad98826d58362614010000000000000c22374b5c6e8398aabbbcab9e8878625645392b1d10060000000000000000000000000009141d2e3c4a5b657b8d9e92857a6c615847331f0a00000e23394e63798c9fb4b9a898826d604e42342b201d15131c2028323f4b5c697e93a4b5b6a5927d6752392916030010253a50657a8fa5bad7c7b3a1937e69614c473a342b2b292b2c353c4854606c8197a3b5bbaa97826d5a4935200c00000000152a3f546a7f94a9bfae99846f59442f1a040000000000000000000000000000000000000005192b3c4f647a8fa3b4b9a89d889dabbcb49f8c78634d3a29170000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a1500001124364754595c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5a687d92a1b3bfb39e8978625443301c0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1b2933363d3d3d3d3d3d3d3d3d3d3d3d3d3632281b0b000013283d53687d92a8c3bea9947e695439291700000000000000000000000005161d314455617580756158473b2b2035485a72879db2c7b29d88725443301c08000000000000071b2e3e4e63798b9fb4c2b8a69b85746057483b2e20190e0801000000000000000309111926313f4b5b6379899eaba39b8c8176614c37210c00000c2135495b6e8398abbcb2a0937e68604c483b36312725303539464b5d657a8b9fb4c1b29c8773604b35200b000010253a50657a8fa5bad4cabfb49f8d7f6c61584d483b403e403c494d5a627281969fb1bfb49f8b78624d3c2c190600000000152a3f546a7f94a9bfae99846f59442f1a0400000000000000000000000000000000000000000e22374b5c70859bb0c3b7a69da6b7c1ae99836e5b49351c0c0000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a150002172c4054656e727272727272727272727272727272727272727272727272728499aec4b9a89a8472604a3d2c1a06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003172939464c525252525252525252525252524b463928160300162b40566b8095abc0b9a48f7a644f3a250f00000000000000000000000000011527374657616b6056463a2a1d192b3c586d8398adc2b49f8a75604b35200b00000000000000102135495b6c8197a4b5c5b5a399837562594b3f352c201c14100e0c0b0c0d10161e212e37444b5d6579889da7b9b4ab9f8a7a654f3a25100000061a2c3d4e63798d9fb5beb49f8c7e6d6259504b443736434a4f57616a7b899ea9bab4a3927d685544311d08000010253a50657a8fa5bac3b7b2aeab9f93817669625957555455575a636b7883969fb0bdb3a1957f6a5a49351e0e0000000000152a3f546a7f94a9bfae99846f59442f1a040000000000000000000000000000000000000000081b2e3e52677c91a5b7c4b7b3b7c4b5a38f7a65503c2c19000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a150004192e44596e8387878787878787878787878787878787878787878787878787889db2c8c6b4a2937e695b4935210c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1e3346576167676767676767676767676767615746321e0900192e43596e8398aec3c5a28d77624d38220d000000000000000000000000000009192939464b564b4538291b0d152b40556a8095aabfbbaa8c76614c37210c00000000000000061a2c3d4b6175869ca7b8c1b3a1998577655d4d493c353026252321202123252832363f4b55606a7b899da6b7c3b5a395806b5d4b37220e0000000f21364a5b6c8197a3b5bbaa9f9382776c6560555a5a5460646a757f8b9ea7b9b8a79b8573604b37261401000010253a50657a8fa5bab7a59d99a1b49f97897f77706c6a696b6d7178808a99a1b0bdb5a5998372604b3c2c19000000000000152a3f546a7f94a9bfae99846f59442f1a040000000000000000000000000000000000000000001020354b6074879db2c6cbc8cbc4b09b86715d4b371e0e000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a1500071c31465c71869b9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9da6b7cbd1c0b49f8a79634e39230e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c21364c61757d7c7c7c7c7c7c7c7c7c7c7c7d75614b36210c001a2f455a6f849aafc4b9a78b76604b36210b0000000000000000000000000000000b1b293236413632281a0b0014293e54697e93a9bec8a38e78634e39230e00000000000000000e1e3246576278899eaabbbfb3a39b887a6e635a4f4b43363b38363536383b38454b515d65737f8b9ea7b7c4b6a59b8574604b3f2e1b08000000071a2d3d4b6074859ba7b7bbb49f978a817b7572706f7174798088959faab9baab9e897862554431190900000010253a50657a8fa5bab29d878499a2b1a79e948c8582807e8082868d959fa8b3bfb4a49c8776615443301e0e000000000000152a3f546a7f94a9bfae99846f59442f1a04000000000000000000000000000000000000000000081d314455697f94a8b9cdddcbb7a6927d67523f2e1c00000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a1500071c31465c71869bb1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b2b7c4d4d2cdbaa9947f6a553f2a1500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e23384e63788d92929292929292929292928d78624d38220d001b30465b70859bb0c5b39e89745645321e09000000000000000000000000000000000b161e212b211e160a000012273d52677c92a7bcbaa58f7a65503a2510000000000000000003162939485a657b8c9fabb9c1b5a69d8f83786c65605452504e4c4b4c4d5054566067707a85949fa9b8c3b6a69c877762554431211000000000000f1e3245566278899da6b5beb1a89f96908987858587898e959da6b4bbb7a99f8d7c665a483727150000000010253a50657a8fa5bab29c8775849aa2b4b3ab9f9b97959395979ca4aab4bab8b3a29a867862584736261400000000000000152a3f546a7f94a9bfae99846f59442f1a04000000000000000000000000000000000000000000011426374c6176899eb4c9d7c6b29d8874604b36201100000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bfaa957f6a55402a1500071c31465c71869bb1bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdc7aa947f6a553f2a1500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e23384e63788da3a7a7a7a7a7a7a7a7a7a28d77624d38220d001c31465b71869bb0c6b39d88735443301c080000000000000000000000000000000000030a0c160b090300000012273c51677c91a6bcbba6907b66513b26110000000000000000000b1b2b3c4b5d687e8d9ea8b6c3b7b2a0988b817a746d6765636160616265696e757c858f9ba3b4bac0b4a59c887862594737271503000000000002162838495a647a889ca4b4babab4aba89f9c9a9a9c9ea7aab3b8bcb4a69d8b7d665e4c3c2b19090000000010253a50657a8fa5bab29c87727684939ea8b3b5b0acaaa9aaacb1b5c2b9b4a79e9384766259483a2a180800000000000000152a3f546a7f94a9bfae99846f59442f1a0400000000000000000000000000000000000000000000091f3346586c8196abbcbdbaa8947f6a5544311d0800000000000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000d22374d62778ca2b7bdaa957f6a55402a1500071c31465c71869ba8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8947f6a553f2a1500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e23384e63788da3afafafafafb2b6c3b7a28d77624d38220d001b30455a70859aafc5b49f8a75604b35200b00000000000000000000000000000000000000000100000000000014293e53697e93a8bebaa58f7a65503a2510000000000000000000000e1e2e3f4e60687c8a9da5b4c0beb2aa9f978f88827d7a78767576787b7f8389919aa2b0b5c1bbb4a29a8779635a493b2a1909000000000000000a1a2c3c4a5c647886959fa9b4bbc6bab4b1afafb1b3b9c5bcb5ab9f98887a665e4d402f1d0d000000000010253a50657a8fa5aaaa9c8772616f7e8a979ea7aeb1b4bac7bab4b2ada89e97897e736158483b2b1c0c0000000000000000152a3f546a7f94a9bdae99846f59442f1a04000000000000000000000000000000000000000000000417293a4d62788c9fa8a8a89f8a76614c3727150200000000000000000000000000000000000000000012273c51677c91a6a8a8a5907b66503b2611000000000000000000000000000000000d22374d62778ca2a8a8a8957f6a55402a1500071c31465c7186939393939393939393939393939393939393939393939393939393939393939393937f6a553f2a1500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e23384e63788d9a9a9a9a9a9a9ca4b6b7a28d77624d38220d001a2f44596f8499aec4bbaa8c77614c37220c000000000000000000000000000000000000000000000000000000162b40556b8095aac0c5a38e79644e39240f0000000000000000000000112131424e5e6679879aa2b2b6c3bbb4aca69e9792908d8b8a8b8d9094989ea8afb4c0c1b5aa9f958476635b493c2b1d0d0000000000000000000e1e2d3e4a596275808a989faaadb3b5bcc9b9c5b8b3aeab9f998c8277645c4d4030221100000000000010253a50657a8f9595959587725d606878818991999c9fa9a3a99f9d9891898177696055463a2b1d0d000000000000000000152a3f546a7f94a8a8a899846f59442f1a0400000000000000000000000000000000000000000000000b2035495a6e839393939393816c58473319090000000000000000000000000000000000000000000012273c51677c9193939393907b66503b2611000000000000000000000000000000000d22374d62778c93939393937f6a55402a15000012273c51677d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7e7a644f39240f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d22384d627884858585858585869cb2b7a28d77624d38220d00172d42576c8297acc1c8a38e79634e39240e00000000000000000000000000000000000000000000000000000417293a576d8297acc2b9a78c77614c37220c000000000000000000000003132331404c5b637684919ca4b3b7c4c5b8b3ada7a5a3a1a0a1a2a5a9aeb4b9c6c1b5b0a39b8b80746158493d2c1e0e000000000000000000000010202d3b4857616b78828a91989d9faba4a4a2a79e99928c84796d62594a3e302212030000000000000d22384d62787f7f7f7f7f7e69534e5a626c757c8387898c8e8c8a87827c756c61584b4437291b0d00000000000000000000152a3f546a7f9393939393836f59442f1a04000000000000000000000000000000000000000000000006192c3c4e63797e7d7d7d7e78624d3a2a1700000000000000000000000000000000000000000000000d23384d62787e7d7d7d7d7e78624d38220d000000000000000000000000000000000c21364b61757e7d7d7d7d7e79644f39240f00001024394d5f6768686868686868686868686868686868686868686868686868686868686868686868645c4a36220d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2034485a62707070707070707e93a8b7a28d77624d38220d0014293f54697e94a9c6bca7917c675236261401000000000000000000000000000000000000000000000000000a1f33475870859ab0c5b39e89745947341f0a000000000000000000000000051322303d4a5861727c87939da6aeb4b9c6c2bcbab8b6b5b6b7babec3c5b9b3ada39b9185796b6055473a2c1f0f00000000000000000000000002101d2b39464b5a626d767c83888a8c8f8f8d8b89847d776f645c4d483b2d201204000000000000000b2035485a626a6a6a6a6a69604f3c484d5660676e717577797774726d6660564c473a3127190b00000000000000000000000f24394e647a7e7d7d7d7d7c66503b2611000000000000000000000000000000000000000000000000000e2135495b636868686868625948341c0c00000000000000000000000000000000000000000000000c2035495a62686868686868625a4834200b00000000000000000000000000000000091e32465761686868686868645c4a36220d00000a1d30414d51535353535353535353535353535353535353535353535353535353535353535353534f4a3e2d1b07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005192b3c484d5a5a5a5a5a5a697e93a8b7a28d77624d38220d0010263b50657b90a8b9c2ad97826d5443301c08000000000000000000000000000000000000000000000000000c21374c61768b9fb4c5b09b85705b3a2a18040000000000000000000000000004121f2d3a47546067747e8892999ea8acb1b4bac7b9bab8c4b7b3afaaa79e9790857c72645c4b44372a1c0f0100000000000000000000000000000d1b29323c484d5861676d737577797a7876736e6862594e4a3e342b1d1002000000000000000005192b3c484d5555555555534f42323538454b52595460626361585d58514b4538332a1d15090000000000000000000000000d21364a5c646868686868665e4c38230f00000000000000000000000000000000000000000000000000061a2c3d494e53535353534d483b2b1900000000000000000000000000000000000000000000000006192c3c494d5353535353534d483c2b19050000000000000000000000000000000003162839464b5353535353534f4a3e2d1b07000000122330393c3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e39362d2010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1d2b3438454545454553697e93a8b7a28d77624d38220d000b21364b6075899eb4c8b39e8874604b35200f00000000000000000000000000000000000000000000000005182b3b52677c92aabbc3aa947f6a553f2a15000000000000000000000000000000010f1c2a36434a556068757d838990979c9fa9a3a4a5a3a2a69d99959089827b716660544a3d3127190c00000000000000000000000000000000000b161e2b353a464c5258556062646462605659534c483b362d20180d00000000000000000000000e1e2b353840404040403e3b3224202832363c36434a4c4e4c473a433c3632281f180c0100000000000000000000000000071a2d3e4a4e5353535353504c402f1c0900000000000000000000000000000000000000000000000000000e1f2c35383e3e3e3e3e37342b1d0d000000000000000000000000000000000000000000000000000e1e2c35383e3e3e3e3e3e38342b1d0d0000000000000000000000000000000000000b1b2832363e3e3e3e3e3e39362d20100000000004121d24272828282828282828282828282828282828282828282828282828282828282828282824221b100200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d192022303030303e53697e93a8b7a28d77624d38220d00091e3245566e8399aec9b8a68f7a644f3d2c1a0600000000000000000000000000000000000000000000000b203448596d8298adc8b7a58e79634e39240e00000000000000000000000000000000000c18253037444b5761686e757b8286898c8e8f8f8e8d8b8884807b756d655d514a43362d1d150900000000000000000000000000000000000000030e19202933363c37444b4d4f4f4d4b45383d37342a211a0f05000000000000000000000000000e1920222a2a2a2a2a29261f140a151d2027253035373937332a2d26211e160a04000000000000000000000000000000000f202d36393e3e3e3e3e3b382f2212000000000000000000000000000000000000000000000000000000000e1a212328282828282220190d0000000000000000000000000000000000000000000000000000000e1920232828282828282220190d00000000000000000000000000000000000000000b161e2128282828282824221b10020000000000000a1012131313131313131313131313131313131313131313131313131313131313131313130f0d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b0d1b1b1b293e53697e93a8b7a28d77624d38220d000216283852687d92abbcc4ad98826d5b493521110000000000000000000000000000000000000000000006192b3c4c62778a9fb4c7b29d87725b4a36210c00000000000000000000000000000000000008131c273139464b525660666c717477797a7a797776736f6b666055504c3f353025180f0200000000000000000000000000000000000000000000050b171f2127273136373a3a3836322828221f180d0700000000000000000000000000000000050b0d151515151514120c020002090b12131c202224221f1818110b0902000000000000000000000000000000000000010f1a2124282828282826231c12040000000000000000000000000000000000000000000000000000000000060c0e13131313130d0b050000000000000000000000000000000000000000000000000000000000060c0d1313131313130d0b050000000000000000000000000000000000000000000003090c1313131313130f0d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050514293e53697e93a8b7a28d77624d38220d00000c22374c61778b9fb4cab49f8c79634e3f2e1d0d000000000000000000000000000000000000000003112035495a6c8196a9babfab96816c563d2d1a07000000000000000000000000000000000000000009151d28323638454b5157546062636465636261575a55504b4437382f201c13080000000000000000000000000000000000000000000000000000040a0c12151d2022242523211e16130d0b05000000000000000000000000000000000000000000000000000000000000000000000000070b0d0e0c0a0400000000000000000000000000000000000000000000000000070d0f1313131313110f090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b111320202020200e0c07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d00000a1f3447596f849aafbfbcab98836e5d4b3c2b1a0a00000000000000000000000000000000000003112232434d62788b9fb4c7b3a18f7a654f3a251000000000000000000000000000000000000000000000010b161e212832363b36434a4d4e4f504e4d4c4639403b363127231c1107000000000000000000000000000000000000000000000000000000000000000002080b0d0f0f0d0b09020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c0e131313131313130d0b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000001080b12131313131313110f0900000000000000000000000000000000000000080e10202020202015130d030000000000000000000000090f11202020202014110b02000000000000000000000000000000000000000000000000000000000000000006141f2628353535353524211a0f0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d000004182a3a4f647a8fa0b2c8b59f8d7b655a4838281b0d000000000000000000000000000000000213212f404f616e8399aabbbcab99846f5d4b37220e00000000000000000000000000000000000000000000000003090c161e212625303537393a3a39383633292b26201d1509080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c1115130f0d0700000000000000000000080e1020202020201d1b140b00000000000000000000020b111320202020201a18110800000000000000000000040e1416202020202017150f0500000000010f1a2124282828282828282220180d0000000000000000000000000000000000000000000000000000000000000000000000000000000008141c202728282828282826241c120400000000000000000000000000000003111c232535353535352a28201507000000000000000004121d2426353535353529261f1406000000000000000000000000000000000000000000000000000000000000001424313a3e4a4a4a4a4a39362d1f0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000c22374b5c6e8398aabbbcab9e8878625645392b1d1006000000000000000000000000010a161e313f4c5e6a7f94a1b3c7b49f8c79644e3f2e1b0800000000000000000000000000000000000000000000000000000002090b11131c20222425252422211e1716110b08020000000000000000000000000000000000000000000000000000000000000000000000000002090b1013151719181715110c0a0400000000000000000000000000000000000000000c171f21262b2924211a0f0400000000000003111c23253535353535322f281c0e000000000000000006131e262835353535352f2c25190b0000000000000000081621282b35353535352c292217080000000f1f2d36393d3d3d3d3d3d3d37342b1d0d000000000000000000000000000000000000000000000000000000000000000000000000000008182630353d3d3d3d3d3d3d3b382f221200000000000000000000000000000011212e373a4a4a4a4a4a3f3c3325150300000000000000122230383c4a4a4a4a4a3e3b312414020000000000000000000000000000000000000000000000000000000000081831424e5360606060604e4a3d2d1a07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d000000071b2e3e4e63798b9fb4c2b8a69b85746057483b2e20190e0801000000000000000408141c2832414e5d667c8d9fb4bfbaa998826d5c4a362110000000000000000000000000000000000000000000000000000000000000000000070b0d0e0f100e0d0c0a0300000000000000000000000000000000000000000000000000000000000000000000000000000002090b151d2026292b2d2e2e2c2a26221f180c0a0400000000000000000000000000000005121c2a33373c403e39362d1f170c000000000011212e373a4a4a4a4a4a47443a2c1c0b000000000000021324313a3d4a4a4a4a4a444137291908000000000000041626333d404a4a4a4a4a413e3427170500071a2d3d4a4e525252525252524c483b2b1d0d00000000000000000000000000000000000000000000000000000000000000000000000008182636434b52525252525252514c402f1c0900000000000000000000000000081c2e3f4b50606060606055504333200d000000000000091d30404c516060606060534e42311f0b00000000000000000000000000000000000000000000000000000000011426364e60687575757575635b4a36210d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d00000000102135495b6c8197a4b5c5b5a399837562594b3f352c201c14100e0c0b0d0f11181f263038454b5f687b899eabbcbdb49f8b78624d3d2d1a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a161e212731363b3e40424443413f3b37332a211f170c04000000000000000000000000041223303a474c5155534e4a3e33291c0c000000081c2e3f4b5060606060605d574a3a28140000000000000b1e31424e5360606060605a54473725110000000000000e2133445156606060606057514534220f000c21364a5b63686868686868686259483b2b1d0d000000000000000000000000000000000000000000000000000000000000000000000818263643546067686868686868665e4c38240f000000000000000000000000000e23374b5d6575757575756a61503c280f0000000000000f24384c5e66757575757569604e3b260d00000000000000000000000000000000000000000000000000000000081c304354687e8a8a8a8a8d79634e3b2b19050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d00000000061a2c3d4b6175869ca7b8c1b3a1998577655d4d493c353026252321202224262a3436434b56606b7d8b9ea7b8c0b09e927d685a48351f0f000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c1214161819181715110d0b0500000000000000000000000000000000000000000000000000000009141d28323638454b5053555759585755504c473a37332a1f170c0000000000000000000000122330414d5861666a68645c4c473a29180800000e23374b5d657575757575726857442f1b06000000000011263a4e606875757575756f6554412c1803000000000014283d51626b75757575756c63513e2915000e24394e63797d7d7d7d7d7d7d776259483b2b1d0d000000000000000000000000000000000000000000000000000000000000000008182636435460727c7d7d7d7d7d7d7c66513b26110000000000000000000000000114263750657b8a8a8a8a8a7f6a553d2d1a07000000000316283951667c8a8a8a8a8a7e69533b2b18050000000000000000000000000000000000000000000000000000000b20354b6073879c9f9fab97826d594834200c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d00000000000e1e3246576278899eaabbbfb3a39b887a6e635a4f4b43363b383635373a3c3a474c5460677580929fa9b8c2b3a296816c604e3c2b1901000000000000000000000000000000000000000000000000000000000000000000000000060b0d181f2227292b2d2e2e2c2a262220180d0b0500000000000000000000000000000000000000000000021019263138454b52566065686a6c6e6d6c6a666158534c473a33291c120000000000000000000b1b30414d5f67767c807e796d615847362614010010253a50657a8a8a8a8a8a87725d47321d08000000000013283d53687e8a8a8a8a8a836f5a442f1a050000000001162b40566b808a8a8a8a8a816c57412c17000b21364b60758592929292929286776259483b2b1d0d0000000000000000000000000000000000000000000000000000000000000818263643546072829292929292928879634e39240e000000000000000000000000081d3144556c81979f9f9f9c86715b4a36210c00000000091e3245576e83989f9f9f9a8570594834200b0000000000000000000000000000000000000000000000000000081c2e3f51677c91a5b6b5b49f8b78624d3a29170400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d000000000003162939485a657b8c9fabb9c1b5a69d8f83786c65605452504e4c4b4d4f5154596168737d87969eb4babfb3a49a8473604b42311e0e0000000000000000000000000000000000000000000000000000000000000000000000040e1920232a33373c3e40424443423f3b37342b2220190d05000000000000000000000000000000000000000513202e37444b5660686e757b7e80828383817f7b77706961584c463a2f1c1308000000000000031729394d5f677d899195938e8276615443301c080010253a50657a8f9f9f9f9c87725d47321d08000000000013283d53687d929f9f9f99846f5a442f1a050000000001162b40566b80959f9f9f96816c57412c1700091e3245576075849aa2a7a7a49c86776259483b2b1d0d0000000000000000000000000000000000000000000000000000000008182636435460728298a0a7a7a69e8879635b4a36210c0000000000000000000000000b20354b6074889eb3b5b5a48e79634e392310000000000b21364b6075899eb4b5b59f8c77624d37220e00000000000000000000000000000000000000000000000000000e23374b5d70859bb0c3cebbaa96816b5846331f0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000b1b2b3c4b5d687e8d9ea8b6c3b7b2a0988b817a746d67656361606264666970777d86929da5b0bcbcb0a199867661554431231300000000000000000000000000000000000000000000000000000000000000000000000c181f2b35383a474c5154565859585754514d483b37342b20190d0000000000000000000000000000000000081623303e4b556068757d83899093959799989694908b857e766b61584c403025180900000000000a1e334657677d919ea7aaa8a0988473604b35200b0010253a50657a8fa5b5b29c87725d47321d08000000000013283d53687d92a8b5af99846f5a442f1a050000000001162b40566b8095abb5ac96816c57412c17000316283945576075849aa2b4b6a49c86776259483b2b1d0d000000000000000000000000000000000000000000000000000008182636435460728298a0b2b8a69e8879635b4a3d2d1a0700000000000000000000000215273750657b90a6b8cbc2aa95806b553e2d1b0700000317293952677c91a8b9cdbcab937e69543c2b1905000000000000000000000000000000000000000000000000071a2d3d50657b8fa3b5c9d8c8b49e8976614c38281602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d000000000000000e1e2e3f4e60687c8a9da5b4c0beb2aa9f978f88827d7a78767577797b7f858b929ba3b2b7c3bab49e9683766158473726140500000000000000000000000000000000000000000000000000000000000000000002141d2a343c484d55586167696b6d6e6d6c6a666259554d483b342b1d1402000000000000000000000000000006162633414d5c64737d8892999ea8a8aaacaeadacaaab9f9b93898076665e4a4336271909000000000c21364c6176889eb3b8c5beb2a2937e69533e29140010253a50657a8fa5bab29c87725d47321d08000000000013283d53687d92a8bdaf99846f5a442f1a050000000001162b40566b8095abc0ac96816c57412c1700000a1b283945576075849aa2b4b6a49c86776259483b2b1d0d00000000000000000000000000000000000000000000000008182636435460728298a0b2b8a79e8879635b4a3d2d1f0f000000000000000000000000081d3144556d8297acc4d5c7b29c87725c4a36220800000a1e3346576e8399aec6d7c9b09b85705a4835200b0000000000000000000000000000000000000000000000000c21364a5b6f8499afc1ccc9ccb9a8947f6a5645321e08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000000112131424e5e6679879aa2b2b6c3bbb4aca69e9792908d8b8a8c8f91949a9fabb1b5c1bbb4a99f9280736158473a29190900000000000000000000000000000000000000000000000000000000000000000009151d323b474c5a626a70777c7e80828383817f7b77716a62594d483c321d150a0000000000000000000000000314243344505f677a86929da6aeb4b9c6c8bbb4bbc8c9bcb5b0a89e95887c6b6054443727150200000011263b50667c90a6b8cbd5cfc0af9a846f5a452f1a0010253a50657a8fa5bab29c87725d47321d08000000000013283d53687d92a8bdaf99846f5a442f1a050000000001162b40566b8095abc0ac96816c57412c170000000a1b283945576075849aa2b4b6a49c86776259483b2b1d0d0000000000000000000000000000000000000000000008182636435460728298a0b2b8a79e8979635b4a3d2d1f0f010000000000000000000000000b20364b6075899eb3c8decab6a58e79644f36251300000c21364b61768a9fb4c9dec8b4a38d78624d38220e000000000000000000000000000000000000000000000005192b3c4e63798ea1b3c6b9b4b9c6b39d8875604b362614010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d000000000000000003132331404c5b637684919ca4b3b7c4c5b8b3ada7a5a3a1a0a2a4a6a9b0b4bcc9bfb3aa9f978a7d6b6055463a291c0c0000000000000000000000000000000000000000000000000000000000000000000b192731424f59616c787f858b9193959799989794908c8680786d625a4f4232281a0a00000000000000000000001121324250626b7d8b9ca4b2b7b9b4ada7a3aa9faaa2a6acb4bab9b4a69d908072605544311d14010000152a3f546a7f94a9c5d5e7ddc8b39e88735e49331e0010253a50657a8fa5bab29c87725d47321d08000000000013283d53687d92a8bdaf99846f5a442f1a050000000001162b40566b8095abc0ac96816c57412c17000000000a1b283945576075849aa2b4b6a49c86776259483b2b1d0d000000000000000000000000000000000000000008182636435460728298a0b2b8a79e8979635b4a3d2d1f0f010000000000000000000000000215283850667b90a7b8ccc9ccc3ab96816b5443301c070417293a52677d92a9baccc9ccc1a9947f69543c2c1906000000000000000000000000000000000000000000000b2035485a6d8298adbfb9a89ea8b9b8a6937e685443301c080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d000000000000000000051322303d4a5861727c87939da6aeb4b9c6c2bcbab8b6b5b7b9bbbec4c2b6b1aba1998c8278685f4b4437291c0c0000000000000000000000000000000000000000000000000000000000000000000b1b2837444b606977818b949b9faba9abadaeadaca9a6a39b958b827869604b4538281a0a0000000000000000000c1c2f3f4f606b80929fa9b6bab4a89e98928e8c8a8b8d91979fa9b3b8b7b39e968273604b43321f0f000013283d52687d92a7becfdfd7c6b19c86715c47311c0010253a50657a8fa5bab29c87725d47321d08000000000013283d53687d92a8bdaf99846f5a442f1a050000000001162b40566b8095abc0ac96816c57412c1700000000000a1b283945576075849aa2b4b6a49c86776259483b2b1d0d00000000000000000000000000000000000008182636435460728298a0b2b8a79e8979635b4a3d2d1f0f0100000000000000000000000000091d3245566d8297adc5b9b3b9c5b29d8873604a35200b0a1f3347586f8499aec5b9b3b9c5b09b86715a4935200c00000000000000000000000000000000000000000004172a3a4d62788b9fb4b9a89e899eb4c1b29c8773604b3520110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000000000004121f2d3a47546067747e8892999ea8acb1b4bac7b9bab9c4b7b2afa9a49c968e83796d62594e413126190c000000000000000000000000000000000000000000000000000000000000000000031628394655606d7e8a969fa9b0b4bcc8bbb4b3b8c5bac2b5b1aa9f978a7e6d605645382818080000000000000004182a3a4b5d697e939eb4bab6a99f9589837c78767575777c828a959ea7b5bcb0a097816d614f3d2d1a07000e23394e63798ea0b2c1cac7baa897826d57422d180010253a50657a8fa5bab29c87725d47321d08000000000013283d53687d92a8bdaf99846f5a442f1a050000000001162b40566b8095abc0ac96816c57412c170000000000000a1b283945576075849aa2b4b6a49c86776259483b2b1d0d0000000000000000000000000000000008182636435460728298a0b2b8a79e8979635b4a3d2d1f0f0100000000000000000000000000000b20364b6075899eb3b9a79ea7b6b7a68f7a654f3726140c21374c61768a9fb4b8a79ea7b9b5a38d78634d38230f0000000000000000000000000000000000000000000a1f3347586c8196aabbb49e8a7b90a3b4b6a4917c67513f2e1c0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000000000000010f1c2a36434a556068757d838990979c9fa9a3a4a5a4a3a69d9a948d87807a6e635b4d483b311d140900000000000000000000000000000000000000000000000000000000000000000002101e324657617381939ea8b4bab6b1aaa5aa9f9ea7a2a5aab2b7bbb4a89e938274605645362614010000000000000a1f334758657b8c9fb4bcb4a49c8b80766e676361586062666c777f899ca4b3beb19f947f695b4a36210c000c21364a5b6d8298a3b1b4b3a99f8a78634d38230e0010253a50657a8fa5bab29c87725d47321d08000000000013283d53687d92a8bdaf99846f5a442f1a050000000001162b40566b8095abc0ac96816c57412c17000000000000000a1b283945576075849aa2b4b6a49c86776259483b2b1d0d000000000000000000000000000008182636435460728298a0b2b8a79e8979635b4a3d2d1f0f0100000000000000000000000000000316283851667c91a7b9b39e899ca5b6ac97816c5544311d182a3a53687d92aab8a79e899eb3c1aa947f6a553d2c1a0600000000000000000000000000000000000000031628384c61768a9eb4bbaa968170859bb0c3b09b85705d4b37230f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d000000000000000000000000000c18253037444b5761686e757b8286898c8e8f8f8e8d8b88847e78726b645c4e493d342b1d130100000000000000000000000000000000000000000000000000000000000000000000102032434b617584979fb4b9b6b1a49c958f8c8a898b8d90949da5b0b5b9b4a0988474605443301c0e000000000005192b3c4c6177899eaabbb4a39b86786b6157524e4c474b4d5159616a78869aa2b3beb49f8b79634e39240e00071a2d3d4c617685959b9f9e998b7d675a4935200c0010253a50657a8fa5bab29c87725d47321d08000000000013283d53687d92a8bdaf99846f5a442f1a050000000001162b40566b8095abc0ac96816c57412c1700000000000000000a1b283945576075849aa2b4b6a49c86776259483b2b1d0d00000000000000000000000008182636435460728298a0b2b8a79e8979635b4a3d2d1f0f01000000000000000000000000000000091e3245566d8398adc3aa9580879cb2b39e8874604b35201f3447596f849aafb39e897f94abbcb19c86715b4935210c00000000000000000000000000000000000000091e3245566a7f94a8b9b49f8b78667c91a5b6b5a38f7a65503d2d1a07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d000000000000000000000000000008131c273139464b525660666c717477797a7a797876736f69635b564f4a3e362c20190d0000000000000000000000000000000000000000000000000000000000000000000000071b2d3e4f616e8298a2b1bdb1a49c9186807a76757376787a7f87909ba3b1beb2a2998372604b3c2b1905000000000b2034485a6b8196a7b8b7a69b8476635a4c463939373336383a474c5a6276839aa4b4ab9f97856f5a45301a00000f1f33475861747f868a888379675f4d3c2c19060010253a50657a8fa5bab29c87725d47321d08000000000013283d53687d92a8bdaf99846f5a442f1a050000000001162b40566b8095abc0ac96816c57412c170000000000000000000a1b283945576075849aa2b4b6a49c86776259483b2b1d0d0000000000000000000008182636435460728298a0b2b8a79e8979635b4a3d2d1f0f01000000000000000000000000000000000b21364b6075899eb4b6a58e7a8095aab8a6907b6550382822374c61778b9fb4ac9781778c9fb5b5a48e79634e39230f000000000000000000000000000000000000011426374b6075889eb3c0ad98826d6073879cb2c1af99846f5b4a36210e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000000000000000000000009151d28323638454b5157546062636465646361575a544e493d39362d211a0f050000000000000000000000000000000000000000000000000000000000000000000000000d22364a5c697f94a0b2bcafa097867c736b656160566063656a737b85979faebbb2a1947f6a5a4835200b000000001325364d62788b9fb4bcab9d88776158493c332923211f20222a343c48586174869ca29a8d8277624d37220d000004172a3a4755606a7175736e635b4d41301e0e000010253a50657a8fa5bab29c87725d47321d08000000000013283d53687d92a8bdaf99846f5a442f1a050000000001162b40566b8095abc0ac96816c57412c17000000000000000000000a1b283945576075849aa2b4b6a49c86776259483b2b1d0d000000000000000008182636435460728298a0b2b8a79e8979635b4a3d2d1f0f01000000000000000000000000000000000316283951677c91a8b9b29c8772798ea4b5ad97826d5645322b3b53687e93aab8a6907b70859ab0c2aa95806a553d2d1a070000000000000000000000000000000000081d314455687e93a6b8b4a28e796454697e93a7b8b3a18e79634e3c2b19050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000000000000000000000000010b161e212832363b36434a4d4e4f504f4e4b46393f38352c24221b100600000000000000000000000000000000000000000000000000000000000000000000000000071b2d3e4f647a8c9fb4beaf9e958274676054504c4a454b4d505460667482949daeb3a79e8a77624d38220d000000071c3043546c8197a9bab59f8d7a6559473a2c1e170e0c0a0b0d181f2b3a4656647a8c91847a6d62594834200b0000000c1c2a37444b55566056594e4a3d30231300000010253a50657a8fa5bab29c87725d47321d08000000000013283d53687d92a8bdaf99846f5a442f1a050000000001162b40566b8095abc0ac96816c57412c1700000000000000000000000a1b283945576075849aa2b4b6a49c86776259483b2b1d0d00000000000008182636435460728298a0b2b8a79e8979635b4a3d2d1f0f010000000000000000000000000000000000091e3246576e8398aec3ab95806b71869cb1b39e8975604b3634485970859aafb39d8874697e93abbcb19c87725b4a36210c00000000000000000000000000000000000b20354b6074879cb2c2af9a846f5c4b6075889eb3bfad98826d5a4835200c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000000000000000000000000000003090c161e212625303537393a3a39383632292923211a0f0d070000000000000000000000000000000000000000000000000000000000000000000000000000000d22364a5c6f8399aabbb2a095806d60564a4336373532363836434b56606d7f94a0a199897c665a4835200b0000000b20354a6074889db3c2ae99836e5d4b3b2a1c0e030000000000040e1b29384a5c697e7c6f645c4d483b2b1805000000000c1927313638454b453839362d1f130500000010253a50657a8fa5bab29c87725d47321d08000000000013283d53687d92a8bdaf99846f5a442f1a050000000001162b40566b8095abc0ac96816c57412c170000000000000000000000000a1b283945576075849aa2b4b6a49c86776259483b2b1d0d0000000008182636435460728298a0b2b8a79e8979635b4a3d2d1f0f010000000000000000000000000000000000000c21364b61768a9fb4b6a58e79646a7f94aab9a7917c665139374d62778b9fb4ac96816c62778c9fb5b6a48e79634e39241000000000000000000000000000000000081c2f3f51677c91a5b6b6a4907b665045576b8095a9bab49f8b78624d3a2a170400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000000000000000000000000000000000002090b11131c20222425252423211e16140e0c060000000000000000000000000000000000000000000000000000000000000000000000000000000000021528384f647a8fa1b3b8a698826d624b4538302521201e2123263038454b616e8298928377665e4d3c2b19050000000f243a4f647a8fa6b8b6a48e79644e3f2e1d0c0000000000000000000b1a2e3e4f6169665e4e4a3e342b1d0d00000000000009151d20283236322823211a0f010000000010253a50657a8fa5bab29c87725d47321d08000000000013283d53687d92a8bdaf99846f5a442f1a050000000001162b40566b8095abc0ac96816c57412c17000000000000000000000000000a1b283945576075849aa2b4b6a49c86776259483b2b1805000001142636435460728298a0b2b8a79e8979635b4a3d2d1f0f010000000000000000000000000000000000000317293952677c91a8bab29c87725c63788da3b5ad98836e57463c54697e93abb7a68f7a655970859bb0c2aa95806b553e2d1b070000000000000000000000000000000e23374b5d71859bb0c3b19c8673604a394c62778a9fb4bbaa96816c5847331f0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d000000000000000000000000000000000000000000000000000000070b0d0e0f100f0e0c0a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091d3245566e8399aebfb39d8875614b4432281c130c0b090b0e141c2832434b6175867d6f62594d40301e0e00000000162b40556b8095aac4b19c87725c4a3621100000000000000000000000102032424f54514c40362d20180d000000000000000002080b151d201d150e0c0700000000000010253a50657a8fa5bab29c87725d47321d08000000000013283d53687d92a8bdaf99846f5a442f1a050000000001162b40566b8095abc0ac96816c57412c1700000000000000000000000000000a1b283945576075849aa2b4b6a49c867762594834200b0000081c30435460728298a0b2b8a79e8979635b4a3d2d1f0f01000000000000000000000000000000000000000a1e3346576e8399aec3ab95806b565b71869bb0b49f8a76614b485a70859bb0b29d88736054697e93abbcb29c87725c4a3622080000000000000000000000000000071a2d3e50657b90a3b5b7a6927d6854433447596d8297abbcb49e8a76614c38281602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20364b6075899fb4b9a8937e685746331e16141414141414141414151e334657617468604c473b30221200000000041a2f44596f8499aec1ab96816c563e2d1a020000000000000000000000021424323b3e3c382f221b100500000000000000000000000002090b090200000000000000000010253a50657a8fa5bab29c87725d47321d08000000000013283d53687d92a8bdaf99846f5a442f1a050000000001162b40566b8095abc0ac96816c57412c170000000000000000000000000000000a1b283945576075849aa6b7b6a49c8677624d37220d00000b20354b60728298a0b2beb39e8979635b4a3d2d1f0f0100000000000000000000000000000000000000000c21364c61768a9fb4b6a58e79644f54697f94abbaa8917c67524d62788da3b4ab96816b544d62788c9fb5b6a58e79644f36251300000000000000000000000000000d21364a5c6f8499afc1b39d8875604b362a3b4e63798c9fb5b9a8947f6a5645321e08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000000000000070d0f0e0c07000000000002090b12100a010000000000000000000000000000060c0e0e0e0e0b080100000000000000000000000000000003090b0d0d0d0d0d0b0902000000000010263b50657b90a8bab49e8975604b3929292929292929292929292929292939465460544e42342a2220190e000000061c31465b71869bb0bca7927c67523d27120000000000000000000000000006141f272926241d12070000000000000000000000000000000000000000000000000000000010253a50657a8fa5bab29d87725d48321d00000000000013283d53687d92a8bdaf9a846f5a452f1a050000000001162b40566b8095abc0ac96816c57412c17000000000000000000000000000000000a1b283945576176889db3c2b6a49b86705b46311b0600152a3f556a7f94a0b2bebaa5907b655b4a3d2d1f0f0100000000000000000000000000000000000000000417293a52677d92a9bab29d87725c4a4d62788c9fb5ae99836e5854697f94a9b6a58f7a644f485a70859bb0c3ab96806b5443301c0700000000000000000000000005192b3c4e64798ea1b3b9a8947f6a5645322135495b6f8499aec1b39e8875604b362614010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d00000000000000000000101b222423211a0f0100000a151d2027251e13040000000000000000000000010f1a2123232323201d1409000000000000000000000000000a161e212222222222201d150a00000001162c41566b8196abc6ad98836e56453f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f36434a43363f3f3f38352b1e0e0000081e33485d73889db2baa5907a65503b25100000000000000000000000000000020c1214110f0900000000000000000000000000000000000000000000000000000000000010253a50657a8fa5bab39e88735e3a291704000000000013283d53687d92a8bdb09b85705b46301b000000000001162b40566b8095abc0ac96816c57412c1700000000000000000000000000000008182536435460728197a6b7b9a79e897a644f39240f00000c21364b6175849ba2b4c0b19c86776159473b2a1d0c00000000000000000000000000000000000000000a1f3347586f8499aec3ab96806b563e485a70859bb0b49f8a76615b71869bb0b29d87725c4a3c54697e94abbcb29d8773604a35200b0000000000000000000000000b2035485a6d8298adbfb49e8a76614c38281a2c3d50657b8fa3b5b8a6937e685443301c080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d000000000000000008131c2d363939362d1f0f000a1a2832363c39301f170c000000000000000000000f1f2c3538383838353126190900000000000000000000000a1a28323638383838383631271a0a0000051a2f455a6f849aafbda8937e685454545454545454545454545454545454545454545454545454544d483c2b1905000a20354a5f758a9fb4b8a38e79634e39240e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010253a50657a8fa5bab49f8a745846331f0a000000000013283d53687d92a8bdb19c87715c3b2b18050000000001162b40566b8095abc0ac96816c57412c170000000000000000000000000000081825364354607281979fb1b9a79e897a645c4a36220d00000a1e3346576175849ba2b4b6a49c86776159473b2a1d0c000000000000000000000000000000000000000c21374c61768a9fb4b7a58e79644f393c54697e93abbaa9927d6863788da3b5aa95806b553e384d62788c9fb5b7a58f7a644f362614010000000000000000000004172a3a4d62788b9fb4bbaa96816c5847331a0f23374b5d71869bb0c3b29c8773604b3520110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d000000000000000c1825303e4a4f4e4a3d2d1b0a152838454b524d4133291c100300000000000000061a2c3d494e4e4e4e4b443726140100000000000000000003162838454b4d4d4d4d4d4b453827150200071c31475c71869cb1bba5907b69696969696969696969696969696969696969696969696969696969625a4835200b00091f34495e74899eb3b9a48f7a644f3a250f000000000000000000000000000000050b0d0b070000000000000000000000000000000000000000000000000000000000000010253a50657a8fa5babbaa8b76614c36210c000000000013283d53687d92a8bdb39e8873594834200b0000000001162b40566b8095abc0ac96816c57412c1700000000000000000000000000081825364354607281979fb1b8a79e897a645c4a3e2d1b0700000317293946576175849ba2b4b6a49c86776159473b2a1d0c000000000000000000000000000000000004182a3a53687d92aabbb29d87725c4a36374c62778b9fb4af99846f6a7f94aab6a48e79634e3935485a70859bb0c3ab96816c5443301c08000000000000000000000a1f3347586c8196aabbb49f8b78624d3a2917081c2e3f52677c92a5b7b6a5917c67513f2e1c0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000000c1d2a36434a5c64635b4a3928161d32455660675f4c473a2e2110000000000000000c2135495b63636363605544311d0d000000000000000000091e324556606262626262605645311d0900091e33485e73889db3c0ab96807e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7f78624d38220d00071d32475c72879cb1bba6917b66513c261100000000000000000000000000000d181f22201c13080000000000000000000000000000030a0c100e0c06000000000000000010253a50657a8fa5bac8a5907a65503b25100000000000142a3f54697f94a9beb8a68c77624d37220d0000000002172d42576c8297acc1ac96816c57412c17000000000000000000000000081825364354607281979fb1b8a79e897a645c4a3e2d2010000000000b1b293946576175849ba2b4b6a49c86776159473b2a1d0c000000000000000000000000000000000a1f3347586f849aafc3ab96806b563e2d34485970859aafb49f8b7771869cb1b19c86715b4a362b3c54697e94a9c1b29d8874604b35200b000000000000000000031628394c61778a9fb4c0ae98836e5a49351c0c001120354b6074879db2c3b09b85715d4b37230f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d000000000004182a3b475460697979635745321e30404b60747c6e61584b3f2e18080000000000000e23384e637978787873604b3c2b190500000000000000000b21364b6075787777777874604b36200b000a20354a5f758a9fb4cab09e96949494949494949494949494949494949494949494949494949494917b66513c261100051b30455a70859aafbea9937e6954382816030000000000000000000000000d1d2a343735302518110600000000000000000000060b171e21252320190e0b01000000000010253a50657a8fa5babfa9947f6a543d2c1a0600000002172c41576c8196acc1c5a6917c665139281603000000051a2f445a6f8499afc0ab95806b56402b160000000000000000000000081825364354607281979fb1b8a79e897a645c4a3e2d20100200000000000b1b293946576175849ba2b4b6a49c86776159473b2a1d0c0000000000000000000000000000000c22374c61778b9fb4b7a58f7a644f3a242b3b53687e93aabbaa937e798ea4b5aa957f6a553d2d22384d62788da3b5b7a68f7a6550372614010000000000000000091e3245576a7f95a8bab4a28f7a644f3c2c190000081d314455697e94a7b9b5a3907b65503d2d1a07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d00000000000b1f34475961727f8a8675604b41303c4c5e6c81918376655d4b3625130000000000041a2f44596f848d8d8d7e695a48342012000000000000000011263c51667c8d8d8d8d8d7a644f3a240f000a1f34495f74899eb4c9bcb0aba9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a6917c66513c27110003182d43586d8298adc8ae99846f5645321e0a00000000000000000000000a1a2a3b474c4a43362e211a0e00000000000000000e19202933363a38352c251e13050000000010253a50657a8fa5bac5b09a85705b4935211000000004172a3a596e8399aec3c2ac97826d5746321e0d000000071b2e3e5c71879cb1bea9947f69543f2a1400000000000000000000081825364354607281979fb1b8a79e897a645c4a3e2d201002000000000000000b1b293946576175849ba2b4b6a49c86776159473b2a1d0c0000000000000000000000000005182a3b53687e93aabbb29d87725c4a362222374c61778b9fb4af9a848095aab5a38d78634e38232035485a70859bb0c4ac97816c5544311d0800000000000000011426374b6075889eb3c2b09a85705c4a361e0e0000011527374b6176899eb3c1af99846f5c4a36210e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d00000000000c22374c617783949f97816c5f4d3c485a667c919f98877b655443301c07000000000010253a4f657a8fa29e8a78624d40301b0b0000000000000011263c51667b91a2a2a28f79644f3a240f00081d32475d72879cb2c7c2b5b1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab4bbc8baa48f7a654f3a2510000012283d52677d92aabbb49f8a75604b382816020000000000000000000215283847596260544b3f352c1f160800000000010f1e2b3539464b4f4d493c3a3123160800000010253a50657a8fa5bac8b4a28d79634e3f2e1d0e0300081f33475871869bb0c6c9b49e8975614b3b2b1a0c02000b22364a5c74899eb4c7a8927d68533d2813000000000000000000081825364354607281979fb1b8a79e897a645c4a3e2d2010020000000000000000000b1b293946576175849ba2b4b6a49c86776159473b2a1d0c0000000000000000000000000b1f3448596f859aafc3ab96816b563e2d1b1f3347586f8499afb59f8d889db3b19b86715b493521192b3c54697f94a9c1b39e8874604b35200b00000000000000081d314455697e93a7b8b6a4917c66513e2e1b00000000091e3346576b8096aabbb3a18e79644e3c2b19050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000152a40556a7f95a1b49f917d675a48556278899eb3a59b8675604a35200b00000000000e23374b5d70859aa899836e5e4c3929160300000000000011263c51667b91a6b7a48f79644f3a240f00061b30455b70859ab0c5b5a49c959595959595959595959595959595959595959595959faabbc5a28d78634d38230e00000c21374c61768b9fb4baa8937e695645321e14040000000000000004131d324556627773655d4e493d342616040000000f1f2d3c484d576165635a524e4134261603000010253a50657a8fa5bad1c0ac97826d5d4b3b2c1e17141828394c61778b9fb4caccb9a8947e69594838291d15141b2b3c4f647a8fa8b9baa98f7a644f3a250f0000000000000000081825364354607281979fb1b8a79e897a645c4a3e2d20100200000000000000000000000b1b293946576175849aa2b4b6a49c86776159473b2a1d0c00000000000000000000000d22374c62778b9fb4b7a58f7a644f3a2410182a3a52687d92a9baab9f9da6b7a9947f6a543d2c1a0e23384d62788da3b5b8a6907b6550372715010000000000000b20354b6074879db2c5b19c8773604a35201000000000031729394d62788b9fb4bfad98826d5a4835200c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d00000000000b20354b6073859ba8b39e897862556073849aa7b49e8a78635443301c070000000000081c2e3f51667b90a4a1917c665746321e1000000000000011263c51667b91a6b9a48f79644f3a240f0003182e43586d8398adc9b19c86808080808080808080808080808080808080808080808b9fb4b8a78b76614b36210c00000a1f33475870859ab0c1b39d8875604b41321f180c07000000060b171f31404b607486867b6e635b514434210e000009192d3d4a5a626f767a787368605145342111000010253a50657a8fa5bacfcab59f8d7b6559493c3329292a364557697e93aabbc5b8b3b49e8a776256473a3127292d39495a6c8196acc6b49f8a75604b36200b00000000000000081825364354607281979fb1b8a79e897a645c4a3e2d201002000000000000000000000000000b1b293946576175849aa2b4b6a49c86776159473b2a1d0c00000000000000000005192b3b53697e93abbcb29d8773604a35200b0c21364c61768a9fb4bcb5b3b7b4a38d78624d38230f0b2035485a71869bb0c4ac97826c5544311d080000000000081c2f3f52677c91a5b6b8a6937e685443301c0700000000000b203448596d8298adc0b49f8b78624d3a2a170400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000000081d31445563788a9eb4a79b8573606b8095a2b19f927d675a49362513000000000000001120354a6073869cb19d8775614b3e2d1808000000000011263c51667b91a6b9a48f79644f3a240f000013283d52687d92abbcb29c87726b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b788daabbb39e89735746331e0a000004172a3a52677c91a3b5b7a697816c5f4f42342a211a17151619202933424e5e6b80969b8f83796b62513d291400011426374a5b6378848b8f8d887d6c63513f2f1c080010253a50657a8fa5bad4cabcab9d8778635a4c46393e3b47546075889db2c6b8a79ea7a89a847461584b45383e3d4a5762788b9fb4c5af9a85705645311d09000000000000081825364354607281979fb1b8a79e897a645c4a3e2d2010020000000000000000000000000000000b1b293946576175849aa2b4b6a49c86776159473b2a1d0c00000000000000000b2034485970859ab0c3ab96816b5443301c070a1f3346586e8399aec7cac8c9b09b85705a4935200b06192b3c54697f94a9c1b39e8874604b35200b00000000000e23384c5d71869bb0c3b39e8875604b36251300000000000005192b3b4e64798ea2b3bbaa96816c5847331f0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d000000000001152737495a677d92a0b2a395806b7b8d9fb4a497826d5f4d3c2c180800000000000000071c304354677d92a5a696816b5c4a362614010000000011263c51667b91a6b9a48f79644f3a240f00000d22374c62778b9fb5b6a58e7963555555555555555555555555555555555555687e93a8c8ae98836e59392917030000000c20354a6072869bb1beb19f927d69604c473b362d2c2a2b2b353a464c60687c8c9fb0a1998c806b56412b1600081d31445563798a9a9faba79e92816c5d4c38230e0010253a50657a8fa5bac3b7b2b0a59c86786961575654555962728298a6b7b9a89e889ea8a29a83766760565554565b6375859ba9bab8a7927d6852382715020000000000081825364354607281979fb1b8a79e897a645c4a3e2d20100200000000000000000000000000000000000b1b293946576175849aa2b4b6a49c86776159473b2a1d0c000000000000000d22374d62778c9fb5b7a58f7a644f362513000417293a52677c92a9bacdcfbcab947e69543c2b1906000e23384d62788da3b5b8a7907b665038281502000000071b2d3e50657b90a3b5baa9957f6a5645321808000000000000000d21364a5c6f849aafc2b49f8a77614c38281603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d00000000000009192c3c4d5f6d8298a5b49f8d7c889daba99c8675604b41301e0e0000000000000000001325364b6074879db29f8c7a645443301c0d0000000011263c51667b91a6b9a48f79644f3a240f00000b1f34485971869bb0c3ad98826d5c4a3a4040404040404040404040403a4c5e71869bb1bfa8927d68533d281300000000071c304354667b90a0b2bdb49f8c7e6d61594e4a3d4140403c484d58616b7e8c9faabbb3a3947f6a543f2a15000b20354b6075859ba8b5bcb8b39f907b65503b26100010253a50657a8fa5bab7a59d9ba3a49c8a7f766e6b696a6e778398a0b2c4b49e8a788a9fb4a19a887d756d6b696b7079859ba3b5c0b39e8875604b36210b0000000000081825364354607281979fb1b8a79e897a645c4a3e2d201002000000000000000000000000000000000000000b1b293946576175849aa2b4b6a49c86776159473b2a1d0c000000000006192b3c54697e94abbcb29d8773604a35200b00000c21364b61768a9fb4c9cab59f8c77624d37220e00000b2035495a71869bb0c5ad97826d5645321d090000000d22364a5c6f849aafc1b49f8a77614c3828160000000000000000071a2d3d50667b90a4b5baa8957f6a5645321e09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d00000000030a0e1a2130414c6176879daaab9f929da6b49f8a7963574532201c13080600000000000000081d314455697e93a6aa9b8573604b3b2b180500000011263c51667b91a6b9a48f79644f3a240f000005182a3b53687d92a5b6b49f8c7a6458473a2e2b2b2b2b2b2b2b2b2b394658667b90a3b5b3a18c77624d37220d00000000001325364c5e6d8298a3b5bbaa9f9382776a635b59575556585a626b7681939faabbb8a69b8573604b35200b000f253a4f647a8fa3b5c6cfccbdae98836e59432e190010253a50657a8fa5bab29d87859ba7a89f948a83807e80838b99a1b2beb7a6947f6a7f95a2b3a69d928982807e80858d9ba3b5c1b4a2947e695645321e0900000000081825364354607281979fb1b8a79e897a645c4a3e2d2010020000000000000000000000000000000000000000000b1b293946576175849aa2b4b6a49c86776159473b2a1d0c000000000b2035485a70859bb0c4ab96816b5443301c0700000a1e3246576e8398aec6c8af9a8570594834200b000006192b3c546a7f94a9c1b39e8975604b36200b000006192b3c4f64798ea2b3bcab97816c5847331a0a0000000000000000000f23384c5e71869cb1c4b39e8875604b372614010000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d0000000b171e212c35383d4957647a8c9fb4b4a7b3b4a2937e685b4a3e3a35302520190e000000000000011527374b6075889eb3a3937e69594834201200000011263c51667b91a6b9a48f79644f3a240f0000000d20354b6074879cb2bcab9d877661584b3e362c2725242629333c48576176889db2bcab99836e594834200b000000000008182f404b6074859ba6b5bbb49f97898079726e6c6a6b6d71788189969eb4bbb8a89e8878625544311d080014293e53697e93a8c1d2e3ddc7b29d87725d48331d0010253a50657a8fa5bab29c8778899ea9b4a99f99969395999fa9b3bfb8a89d88756173849ba4b3b3a79e989593959a9fabb5c1b5a59a8473604b38281602000000081825364354607281979fb1b8a79e897a645c4a3e2d20100200000000000000000000000000000000000000000000000b1b293946576175849aa2b4b6a49c86776159473b2a1d0c0000000d23384d62788da3b4b7a68f7a644f3625130000000316293951677c91a8b9bbaa937e68533b2b18050000000e23384d63788da3b5b9a7917c665138281603000b2035495a6e8398aaaaaa9f8c78634d3a2a1800000000000000000000091c2f4052687d92a6aaaaa7937e685544311d080000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d00000b1b2933363d494e555b636a718196acc1bcc5af9a85726b645c564f4a4336352c1e0e000000000005192b3b495b6a7f94aab49e8a77624d402f1c09000011263c51667b91a6b9a48f79644f3a240f000000081d314455677d92a1b3b7a59b8576645c4e493d3c3a3a3b3a464c5a6275849aa6b7b59f8c79644e3b2b1805000000000000121e3245566277889ba3b2beb1a89e958e8783817f8082868b969ea8b0bcb4a69e8a7a645a48372715010014293e54697e93a9c1d2e4ddc8b29d88735d48331e0010253a50657a8fa5bab29c87727c8b9da5b4b4aeaba9aaaeb4babfb2a79e8a7a645761768699a1b2b7b3adaaa9abafb5bcbab4a49c8778625443301a0a000000001325364354607281979fb1b8a79e897a645c4a3e2d201002000000000000000000000000000000000000000000000000000b1b293946576175849aa2b4b6a49c86776159473b2a1804000215283854697f94a9aaaa9d8873604a35200b000000000b21364b6075899eaaaa9f8b77614c37220d000000000c2035495a71869baaaaaa98836d5645321e09000d23384d62788b9595959595836e5b49351c0c00000000000000000000001120364b60748895959595958775604b35200b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d0003172939464c555b636a71787f86969fb0c4d1c8b4a29a87807a726b6460544d493c2c1906000000000b203448596379859bb1b9a899836e5e4c38240e000011263c51667b91a6b9a48f79644f3a240f000000011527374b60738499a5b6b5a39b867a6d635b5651504f515458616a78849aa2b4b7a698836e5c4a361d0d0000000000000002162838485962788598a0b2b6b9b4aaa59c98969595979c9fabb4b9b9b3a29a887a645c4b3c2b1909000010253a4f657b8fa3b5c6d1cdbdae99836e59442e190010253a50657a8fa5aaaa9c8772667a87989fa9b0b3b8c5bcb5b1aca199897b655c4a58617683929da6aeb3b8c4c7bab4afa99f958677625a4836261400000000071c304354607281979fababa79e897a645c4a3e2d2010020000000000000000000000000000000000000000000000000000000b1b293946576175849aa2ababa49c8677615947341f0b00091d32455671869595959595816c5443301c0700000000091e3245566d8295959595846f5947341f0b0000000006192c3c546a7f94959595958976604b36210b0010253a4f657b7f7f7f7f7f7f79634e3c2c19000000000000000000000000091d314556667c7f7f7f7f7f7f78624d37220d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d000a1e334657616a71787f868d949ba3b0bdcad4cec0b4a59d968f87817a736b635a4935200c000000011527374d6278889ba3b5c6b2a1907b66513c2b19060011263c51667b91a6b9a48f79644f3a240f00000000091c3043546176879ca8b7b5a49c8c8279706b67656466696e767f8a9ba2b4baa99d8878624d3e2d1a0000000000000000000a1a2b3b485a627583929da5b2b6c3b6b2aeacaaabadb1b4bcb7b3a79e948478645c4b3e2e1e0e0000000b20354b6073859ba8b4c0b9b49f907c66503b26110010253a50657a8f9595959587725c6477828a949b9ea7a3ab9f9c968e8378655d4b3e475861727d8891999da6a3a3a99f9a938a7f746259483c2b1808000000000b20354a607282969696969696897a645c4a3e2d20100200000000000000000000000000000000000000000000000000000000000b1b293946576175849596969696968677614c37220c000b20364b60747f7f7f7f7f7f79634e3625130000000000021628384e647a7f7f7f7f7b654f3b2a180400000000000e22374d62787f7f7f7f7f7f78624d38220d000e22374b5d656a6a6a6a6a6a635b4a361e0e000000000000000000000000021527384c5e666a6a6a6a6a6a62594834200b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d000c21364c61767f868d949ba3aab1b2abb2b6c3bbb4aab1b2aba59d968f878078634d38230e000000081d3144556d8297a6b5c1cfbfb09b85705a4935200b0011263c51667b91a6b9a48f79644f3a240f0000000001142636475863798a9da5b4b6ab9f978e85807c7a797b7e8389949ea8b4b8aa9f8b7b64594834200f000000000000000000000d1d2b3c485761727d87939da5a9b0b3b4bcc9c6bab4b0aba69d95897f73625a4a3e2e201000000000081d314455647a8a9ba2a6a89e93816c5e4c38230f000d22384d62787f7f7f7f7f7e695359616d777f86898b8e8d8b8781796e625a4b3f2e3a47546068757c83888c8d8e8c8a857e776a6056483b2b1e0e00000000000f243a4f647a808080808080807a645c4a3e2d201002000000000000000000000000000000000000000000000000000000000000000b1b293946576175808080808080807d68523d281300091d324556606a6a6a6a6a6a635b493518080000000000000a21364a5c646a6a6a6a655d4b371d0c0000000000000b20344859626a6a6a6a6a6a625a4835200b00081b2e3f4b4f5555555555554e4a3d2d1a00000000000000000000000000000a1a2f404c515555555555554d483b2b19050000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d000c21364b61768a9ba3aab1b2aba59d969da5b6aa9f959ca4a9b0b2aba59d8f7a644f3a250f0000000b20354b60758a9fb4c4d2ddc9b5a38d78624d38230d0011263c51667b91a6b9a48f79644f3a240f00000000000818293a4a5b6379879aa2b3b8b4aca39b95918f8f9093999ea8b4b9b3a69e8c7d675d4b3b2b190100000000000000000000000e1e2b3946546067747e878e949a9d9faba3a2a89f9a9690888076696054493c2d20100200000000011527374a5c6479858c908e897e6c6352402f1c09000b2035485a626a6a6a6a6a69604f474c59616a717376797876726c645c4d483c2e212a36434a5660676e737778787674706962594b45382b1d0e0000000000000d22364a5c646b6b6b6b6b6b6b645c4a3e2d2010020000000000000000000000000000000000000000000000000000000000000000000b1b29394657616b6b6b6b6b6b6b68604e3a25110002152838454b5555555555554e493d2c1a00000000000000071a2d3e4a4e555555554f4b3f2e1b0000000000000005192b3b484d5555555555554d483c2b1905000010212e373a40404040404039362d1f0f00000000000000000000000000000012222f383b40404040404037342b1d0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d00091e3246576f8499afaaa59c968f8781879db29f8b7f868d949ba3a9af9d8773604a35200b0000000d23384d62788da9bacde2e4d2c1a5907b66503b26110011263c51667b91a6b9a48f79644f3a240f0000000000000c1c2d3d4a5b637784939ea6b3b8b4b0aba6a5a4a6a9aeb4b9b4afa29a887b675f4d3f2e1d0d000000000000000000000000000e1b2836434a55606872797f85888a8c8e8d8c8985817b746a61584b43362b1e100200000000000009192d3d4a5b6370777b797468605245352211000005192b3c484d5555555555534f42343b474c555b586163626157574e4a3e352b1e1018253038454b52595861636361585a544d483b32281a0d00000000000000071b2d3e4a4f565656565656564e4a3e2d20100200000000000000000000000000000000000000000000000000000000000000000000000b1b2939464b55565656565656524e41311e0b00000a1a28323640404040404038352c1f0f00000000000000000f202d3639404040403a372e211000000000000000000d1d2b343740404040404038352b1e0e00000002101b22252a2a2a2a2a2a24211a0f0100000000000000000000000000000004121c24262a2a2a2a2a2a2220190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d000316283953687e939c958e87807a7271869bb09f8a7471787f858d939a96816b5443301c070000000b21364b60768a9fb4cadadecdb9a88e79644e39240f0011263c51667b91a6a8a48f79644f3a240f000000000000000f1f2d3d4a5961747e88959ea6aab0b3b5bcc9bcb5b3aea8a29a8f8478655d4d413120100000000000000000000000000000000b18253037444b535b636a7073757779787675706c6560544c473a3026180e0000000000000000000f1f2d3c494d5962666460554e42352717030000000e1e2b353840404040403e3b321f2a34373f3a464c4e4d4b463939362d20190e0008131c2832363c3a474c4e4e4c473a3e37342b1e160a00000000000000000010202d363a4141414141414139362d201002000000000000000000000000000000000000000000000000000000000000000000000000000b1b293236404141414141413d3a312313010000000a151d202a2a2a2a2a2a23211a0f010000000000000000010f1a21242a2a2a2a25221b10030000000000000000000d1920222a2a2a2a2a2a2220190e000000000000080e101515151515150e0c0700000000000000000000000000000000000000090f111515151515150d0b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293e53697e93a8b7a28d77624d38220d00000d22384d62788d878079726b645c71869bb09f89745b636970787e858c7a644f36251300000000091e32455671869bb1bcc9c9bfb49e8974604b35200b0011263c51667c919393938f7a644f3a240f00000000000000010f1f2d3b475660697680888f959b9e9faba3ab9f9e99938d857a6f625a4b3f312313020000000000000000000000000000000008131c2731363d494e545b556062636361605456504b433633291c140800000000000000000000010f1e2c353b484c514e4b44373124170900000000000e1920222a2a2a2a2a29261f14181f222a293336393836332924211a0f05000000000a161e21272a3337383937332a292220180d020000000000000000000002101b22242b2b2b2b2b2b2b24221b10020000000000000000000000000000000000000000000000000000000000000000000000000000000b161e212b2b2b2b2b2b2b28251e1305000000000002090b1515151515150e0c06000000000000000000000000070d0f15151515100e08000000000000000000000000050b0d1515151515150d0b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0c111114293e53697e93a8b7a28d77624d38220d00000b2034485a7078726b645c564f5b71869bb09f89745f4d545a6269707772604a35200b000000000316283850667c909fabb3b4b0a1947f695544311d08000d23384d62787e7d7d7d7e77614c37220c0000000000000000010f1d2a38454b57616a747a8086888a8c8e8c8a88847e7870655d4d483c2e2113050000000000000000000000000000000000000009151d202c36393f37444b4c4e4d4c4b43363b3530261f170c01000000000000000000000000000e19212a34373b3935312719140600000000000000050b0d151515151514120c02040b0c15171f212423211e170f0d070000000000000002090b12181f222323211f17140d0b050000000000000000000000000000070d0f161616161616160f0d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0c1616161616161613110b010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1012202020202020110f09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b161e21262626293e53697e93a8b7a28d77624d38220d000005192b3c495b635b554e4a3e465b71869bb09f89745f4a3c484d545961605443301c0700000000000a23384c5e6b808d9a9e9f9b928272604b37271501000b2035485a626868686868615947341f0b000000000000000000000c1a273139464b5460646b71737577797775736f69635b504b3f352b1e110300000000000000000000000000000000000000000002080f1a21232a2631353739383735302625201c14080400000000000000000000000000000000060d181f222624201d150900000000000000000000000000000000000000000000000000040a0c0e0d0c0a030000000000000000000000000000040a0c0e0e0c0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e171d1f20202020200e0c0600000000000000000000000004121d242735353535353526231c1103000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1b2932363c3c3c3c3e53697e93a8b7a28d77624d38220d0000000d1d2c3c494d493c39362d465b71869bb09f89745f4a2b34383b474c4a43362513000000000000091c2f4050626b7b848989857d6e605443301909000006192b3c484d53535353534c473b2a180400000000000000000000000a151d293336434b4f555b5560626362605559534e493d372e20190e0000000000000000000000000000000000000000000000000000060c0e15141d2022242321201c14100b08010000000000000000000000000000000000000000050b0d110f0b080100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1012202020202020110f09000000000000000000000000000000000000000000000000000000000000010b10132020202020200e0c06000000000000000000000000000000000000000000000000000000000000000212202b3234353535353523211a0f0100000000000000000000122230393c4a4a4a4a4a4a3b382f221100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003162939464b515151515153697e93a8b7a28d77624d38220d000000000e1e2c3538352c242131465b71869bb09f89745f4a3420222a343735302518080000000000000012223344505e656f75757068604b43362614000000000e1e2b35383e3e3e3e3e37342a1d0c00000000000000000000000000020b171e2630353a4037444b4d4e4d4b44373e38352c231c11050000000000000000000000000000000000000000000000000000000000000001080b0d0e0e0c0b0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b0d1d1d1d1d1d1c1a140a00000000000000000000000000000000000000070d0f13151719181614110b0902000000000000000000000000000000000004121d242735353535353526231c110300000000000000000000000000000000000000000000000000000005131e252835353535353523211a0f0100000000000000000000000000000000000000000000000000000000000e20303d46494a4a4a4a4a38352c1f0f0000000000000000000a1d30404d51606060606060504c402f1c0900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1e32465761666666666666697e93a8b7a28d77624d38220d00000000000e19212321190f1c31465b71869ba89f89745f4a341f0d181f22201c1308000000000000000004162633404c5054606055534e423026180800000000000e1920232828282828221f180c000000000000000000000000000000000308141c20242b2731363739373631272923211a0e080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1820223232323232322f271c0e000000000000000000000000000000070d0f1a2124292b2c2e2d2b2926201d150b08010000000000000000000000000000122230393c4a4a4a4a4a4a3b382f22110000000000000000000000000000000000000000000000000000011323313a3d4a4a4a4a4a4a38352c1f0f0000000000000000000000000000000000000000000000000000000003172b3d4e5a5f60606060605e493d2c1a0600000000000000001024394d5f67757575757575665e4c38230f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c21364b61757c7b7b7b7b7b7c8197acb7a28d77624d38220d000000000000060c0e0c06001c31465b71859393938a745f4a341f00040b0c0b0700000000000000000000000816212f3836434a4b44373a311c140800000000000000060b0d13131313130c0b040000000000000000000000000000000000000001080b0f16151d20222422201d15140e0c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c0e13151719191716140f0b0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1d2b343747474747474743392c1c0a00000000000000000000000006101b22242d36393e40424442403e3b363228201d14090000000000000000000000000a1d30404d51606060606060504c402f1c09000000000000000000000000000000000000000000000000000b1e31414e526060606060605e493d2c1a06000000000000000000000000000000000000000000000000000000081d32465a6c747575757575705b4935210c000000000000000012273c51677c8a8a8a8a8a8a7b66503b261100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e23384e63798d919191919191979fb1b7a28d77624d38220d00000000000000000000000011273c51667c7d7d7d7e68533d281300000000000000000000000000000000000003111c23253035363127261e13010000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080b0d0e0d0b080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080e101a2123282a2c2e2e2d2b2924201c140b070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005182b3b484d5c5c5c5c5c5c564a39271400000000000000000000000f1a212d363a3d4a4e53555759585654504b4538353126191204000000000000000000001024394d5f67757575757575665e4c38230f0000000000000000000000000000000000000000000000000010253a4e5f68757575757575705b4935210c0000000000000000000000000000000000000000000000000000000a1f34495f748a8a8a8a8a8a79634e38230e000000000000000012273c51677c919f9f9f9f907b66503b261100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e23384e63788da3a6a6a6a6a6acb1bdb7a28d77624d38220d0000000000000000000000000f24394d5e6668686868604e3a261100000000000000000000000000000000000000000908131c20201d15090b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007111c23252c35383d4041434342403e39353026201c130800000000000000000000000000000000000000000000000000000000000000000000000000000000000b20344859627272727272716856432f1a00000000000000000008131c2c363e4a4f575c64686a6c6e6d6b69666056524b4437301f170c00000000000000000012273c51677d8a8a8a8a8a8a7b66503b26110000000000000000000000000000000000000000000000000013283d52687d8a8a8a8a8a8a79634e38230e0000000000000000000000000000000000000000000000000000000a1f34495f74899e9f9f9f8d78634e38230e000000000000000012273c51677c91a6b5b5a5907b66503b261100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e23384e63788da3b0b0b0b0b0b0b0b0b0a28d77624d38220d0000000000000000000000000a1d30404d51535353534e42311e0b0000000000000000000000000000000000000000000000070b0b08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c1114171a1b1c1d1b19181615110c0a04000000000000000000000000000000000000000000000000000008131c202f373b3d494e53555758595755534f4b43363530251813040000000000000000000000000000000000000000000000000000000000000000000000000000000d22374d6277868787878786715c47321c00000000000000000b1825303d494e5c646c72797e80818382807e7b756e6760554d4033291c0f010000000000000012273c51677c919f9f9f9f907b66503b26110000000000000000000000000000000000000000000000000013283d52687d929f9f9f9f8d78634e38230e0000000000000000000000000000000000000000000000000000000a1f34495f74899eb4b5a38d78634e38230e000000000000000012273c51677c91a6bcbba5907b66503b261100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e23384e63788d9b9b9b9b9b9b9b9b9b9b9b8d77624d38220d00000000000000000000000000122230393c3e3e3e3d3a31241302000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d0f181f22262a2d2f303132302f2d2b2a26211f17120c0a040000000000000000000000000000000000000000000d182530353f4b50585b63686a6c6e6e6c6b69646054514a4336301f170c00000000000000000000000000000000000000000000000000000000000000000000000000000d22384d62778d9c9c9c9c8a755f4a3520000000000000000b1b2936434a5b636e7a81878e939597999795939089837d73665e4c473a2c1f0f0100000000000012273c51677c91a6b5b5a5907b66503b26110000000000000000000000000000000000000000000000000013283d52687d92a7b5b5a38d78634e38230e0000000000000000000000000000000000000000000000000000000a1f34495f74899eb4b8a38d78634e38230e000000000000000012273c51677c91a6bcbba5907b66503b261100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d22384d62788586868686868686868686868577624c37220d0000000000000000000000000004121d242728282828261e1306000000000000000000000000000000000000000000000000000000000000040a0c12151718191816130f0b070000000000000000000000000000000000000b0b0b0b0b0b0b000000000000000000000000000000000000000000000000000108101b22242a33373c3f4245464747464442413f3c37332a27221f180c07000000000000000000000000000000000004111d2a36434a515d656d73787d7f81838382807e79746e6660544d4133291c0e000000000000000000000000000000000000000000000000000000000000000000000000000d22384d62778da2b1b19f8a755f4a35200000000000000a1b29394654606a79838f979da5a8aaacaeadaba9a89e9992867c6f6158493d2d1f0f00000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000013283d52687d92a7bdb8a38d78634e38230e0000000000000000000000000000000000000000000000000000000a1f34495f74899eb4b8a38d78634e38230e000000000000000012273c51677c91a6bcbba5907b66503b261100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2035485a627171717171717171717171717162594834200b0000000000000000000000000000000a0f1113131313110b020000000000000000000000000000000000000000000000000000000003090c171f21272a2c2e2e2d2c2824201c1308060000000000000000000000040d13152020202020202016140d04000000000000000000000000000000000000000109141d202e373a3a474c5154575a5b5c5c5b59585654514c473a3c37332a201c130800000000000000000000000000000412222f3b48546067717b82888d92959698989795938e89837b73675f4c463a2c1e0e0000000000000000000000000000000000000000000000000000000000000000000000000d22384d62778da2b7b49f8a755f4a352000000000000818283946576172808c99a1acb2b7c3bdbbb9babcc6b9b4aea49c918476635b4a3d2d1c0c000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000013283d52687d92a7bdb8a38d78634e38230e0000000000000000000000000000000000000000000000000000000a1f34495f74899eb4b8a38d78634e38230e000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005192b3c484d5b5b5b5b5b5b5b5b5b5b5b5b5b4c483b2b1805000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a161e212a33373c3f41434442413d3935302520190e040000000000000000071520282a353535353535352b28211608000000000000000000000000000000000008141c2631353e4b4f56586166696c6f707172706e6d6b6a66615857514c473a35302518110500000000000000000000000312222f404c5962727c8590989da6a8aaacadaeacaaa8a79e9990867d6e6158493c2c1d0d00000000000000000000000000000000000000000000000000000000000000000000000d22384d62778da2b7b49f8a755f4a352000000000001325364557617583959fabb2bfbab4aea8a6a4a5a7acb3b7c2b6b1a19a8779635b4a3a2a18080000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000013283d52687d92a7bdb8a38d78634e38230e0000000000000000000000000000000000000000000000000000000a1f34495f74899eb4b8a38d78634e38230e000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1e2b35384646464646464646464646464637342b1d0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151d2832363a474c51555658595856534e4a4336352b1f180c000000000000081625333c404a4a4a4a4a4a4a403d332616040000000000000000000000000000021118263037444b525c646b72777b7f8284858687858482807f7c76716c676158504a43362f1f180d0000000000000000000011212f404c5e667784919ba3adb2b7c4bfbdbbbbbcbfc5b9b3aea49c928276635a493b2a1909000000000000000000000000000000000000000000000000000000000000000000000d22384d62778da2b7b49f8a755f4a352000000000071c30435460758599a1b4bcb9b4a89f9993908f9092979da6b2b7bfb3a59c8a796358473625130000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000013283d52687d92a7bdb8a38d78634e38230e0000000000000000000000000000000000000000000000000000000a1f34495f74899eb4b8a38d78634e38230e000000000000000012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e192022313131313131313131313131312220180d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d19273139454b545861676a6c6d6e6d6b686460544d493c342a1c1201000000001626334350556060606060606055504433210d000000000000000000000000000a151d2f36434b556068727a81878c9194979a9b9c9c9b99979694918b86817c776e6660544c40342a1d1204000000000000000c1d2e3f4c5e667c889aa2b0b5c1bab4afaaa7a6a5a7aaaeb4bac2b5b1a0988778635947372715020000000000000000000000000000000000000000000000000000000000000000000d22384d62778da2b7b49f8a755f4a352000000005192b3c4a60728298a3b3bfb5a89e958a837e7b797b7d8188929da5b2beb6a89d8776615443301c0900000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000013283d52687d92a7bdb8a38d78634e38230e00000000080e101111111111111111111111111111111111111111111f34495f74899eb4b8a38d78634e382311110b09020000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b0d1c1c1c1c1c1c1c1c1c1c1c1c1c0d0b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010f1d2a37444b57606970767c7f81838382817d79746c625a4c473a301c14080008131c344450616a757575757575756b62503d28140000000000000000000000000c1a27313f4c546067737d878f969ca4a6a9acafb0b1b1b0aeadaba9ab9f9c96918a837b73665e4c483b2f221306000000000004182a3b4b5d667c8c9ea6b3c0b8b3a99f9a959290909194999fa8b3b9beb2a59d8777625544311d0c0000000000000000000000000000000000000000000000000000000000000000000d22384d62778da2b7b49f8a755f4a35200000000b2035485a6a7f95a0b2c1b5a49c8a80766e68666465676c737d8798a0b0bdb6a59a8472604a37271502000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000013283d52687d92a7bdb8a38d78634e38230e000003101b22252626262626262626262626262626262626262626262634495f74899eb4b8a38d78634e38262626211e160a00000012273c51677c91a6bcbba5907b66503b261100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1f2c3b48556069757e868b91949698999796928e8881786d61594d41302618091825304451626b7f8a8a8a8a8a8a8a806b55402b1600000000000000000000000d1c2938454b5d65737d86929ca5abb1b6c2bec1c2c0bfbdbebfc1c0c9bcb5b1acaa9f9890857b6f62594c4031241301000000000b1f344759657b8b9faab8beb2a69d948a85807d7b7b7c7f848a949ea7b4c0b6a59b8574604b3a2a180400000000000000000000000000000000000000000000000002040100000000000d22384d62778da2b7b49f8a755f4a3520000006192c3c4d62788b9fb4beb5a39b86786a615753514f50525460677582969fb0c0b4a2917c675544311d08000012273c51677c91a6bcbba5907b66503b26110000000000000000000003090b09030000000000000000000013283d52687d92a7bdb8a38d78634e38230e000010212e373a3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b495f74899eb4b8a38d78634e3b3b3b3b3632281a0a000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c0e121212121212121212121212110f09000000000000000000000000000000000000000003090b1010100e0c060000000000000000000000000000000000000000000d1d2c3d495962737f88939b9fabaaabadaeadaba8a69d968b8277675f4b433627192536434a626b80959e9f9f9f9d947f6b62503d2814000000000000000000000d1d2b3a4756606b7b86929ca4b2b6c3c4c4b7b2afadaba9a8a9aaabaeb2b6c3c1c8bbb4aea39b908377665e4e42311f0f000000081b2e3e4c6177899ea9babbafa098887f76706a686666676a6f767f899aa2b4c0b5a3947e695947341f0a00000000000000000000000000000000000001080b10131518191714110d0b050d22384d62778da2b7b49f8a755f4a352000000c2135495b6d8298a9bab7a69b8575625a4b46393b3a3b36434a5660728196a2b3c0b29c8774604b36200b000012273c51677c91a6bcbba5907b66503b26110000000000000000000a161e211e160a00000000000000000013283d52687d92a7bdb8a38d78634e38230e00081b2e3f4b4f5151515151515151515151515151515151515151515151515f74899eb4b8a38d786351515151514b45382816020012273c51677c91a6bcbba5907b66503b2611000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010f1a212327272727272727272727272726241c120400000000000000000000000000000000000a161e2125252523211a0f0100000000000000000000000000000000000008182a3b495b637784949ea6b0b4bcbbb4b2b2b4bac4b7b2aa9f97887d6b6054443727364354606c80959eafbbae9d947f6a61504433210d0000000000000000000c1c2b3b48586174808d9ca4b1b6c2bbb4afa9a69d9a98969493949596999da5a5abb3b8c4c1b5b0a199897c68604e3d2d1a0700000d22374b5c6d8297a7b9bcaf9d9582766a615855525150525558616977849aa2b4c1b39e8977614c37220d000000000000000000000000000000000808141c2025282b2d2e2c29262220190e22384d62778da2b7b49f8a755f4a352000000e23384d63788c9fb4c1b29d88776257493c332926242625303845546073849aa9bab6a5927d6853392916030012273c51677c91a6bcbba5907b66503b261100000000000000000e1b28323632281b0d000000000000000013283d52687d92a7bdb8a38d78634e38230e000e22374b5d656666666666666666666666666666666666666666666666666674899eb4b8a38d78666666666666605645321e090012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1f2d36393d3d3d3d3d3d3d3d3d3d3d3d3b382f2212000000000000000000000000000000000a1b2832363a3a3a39352c1f0f00000000000000000000000000000000000114263647596379889aa2b3b8b9b4abaa9f9d9c9fa9a6aeb5bbb4a69e918072605544374354607281969eb0bcb59d937f6a6150433326160400000000000000000a1a2a3a4859627684969fabb5c2bcb4aa9f9a948e888482817f7e7e808183878b90969da6afb4c0bfb3a79e8c7e685b4a36210c00031628394f647a8d9fb5c2b09e957f6d61584c473a3d3b3b3c3a464c596275849aa8b9b9a7947f6a553b2b19050000000000000000000000000006101b222630353a3e404243413e3c38352b2122384d62778da2b7b49f8a755f4a35200004172a3a546a7f94abbcb5a3917c675948392b1e17110f10131c2836445562788a9fb4c3af99846f5746321e0a0012273c51677c91a6bcbba5907b66503b2611000000000000000e1e2c39454b45392a1d0d0000000000000013283d52687d92a7bdb8a38d78634e38230e0010253a4f657a7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c8a9fb4bda8937e7b7b7b7b7b7c74604b36210b0012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071a2d3d4a4e525252525252525252525252514c402f1c09000000000000000000000000000003162839454b5050504e493d2c1a0600000000000000000000000000000000081c3043546277879da6b4beb2a89e968f8a88878a8d90999fabb2b8b39e96837360554454607281969fb0bcab9f937e69614f433325160800000000000000000216283847586277869aa2b5bcbfb3ab9f988b857f79736f6d6b6a68696a6c6e72767a8188909aa2b3b7c4b8aa9f8e79634e39230e00091e3246576e8398abbcb5a496806b614c473a332a2826262729333b485762788a9eb4c5b09b8670594834200b0000000000000000000000000e19212e3736434b4f535557595654514d483c3632384d62778da2b7b49f8a755f4a3520000a1f33475870859bb0c9b09b85715f4d3b2b1b0e03000000000a182637485a6b8196abc3b49f8a76614b36210c0012273c51677c91a6bcbba5907b66503b26110000000000000a1a2c3c49576057473b2a180800000000000013283d52687d92a7bdb8a38d78634e38230e001c31465b718590909090909090909090909090909090909090909090909090909fa9bac1ad9c9390909090908c77624d37220d0012273c51677c91a6bcbba5907b66503b261100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c21364a5b63676767676767676767676767665e4c38240f0000000000000000000000000000091e32455760656565635b4935210c000000000000000000000000000000021628384b6073859ba5b7bbaea0988a817a75737275787b848c98a0b4bbb0a19882736055607281979fb0bcab9f8d7e69604f4332251507000000000000000000091e3245566176869ca4b4c0bbb4a1998c82786f69635b5a58565453545556595861656c747b84929da6b7c8bba48e79644f39240f000c21364b61758a9fb4c4b19c8674604b4333291f1713111112171f2b39485a6a8095aac3b5a38c77624d37220d0000000000000000000008131c2c353f4b4f546065686a6d6e6c6966625a524b45394d62778da2b7b49f8a755f4a3520000c21374c61768b9fb5c6a8937e695340301d0d0000000000000009192b3c4e63798ea5b7baa9917c66513c26110012273c51677c91a6bcbba5907b66503b2611000000000002152838495b637662594736261401000000000013283d52687d92a7bdb8a38d78634e38230e001c31465b71869ba6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6b4bac7cabaada8a6a6a6a6a28c77624d37220d0012273c51677c91a6bcbba5907b66503b261100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e23394e63797d7c7c7c7c7c7c7c7c7c7c7c7c66513b261100000000000000000000000000000b21364b60757b7a7a79634e39230e000000000000000000000000000000091e324556687d92a3b4bdae9d9482766c656056546062666f7983939faab7b2a0978272607382979fb1bbab9f8d7e68604f4232251507000000000000000000091930404b6074859ba4b6c2b8aa9f9483796d635a544e4a3d43413f3e3f40413a464c505560656f7d889db3c8b9a48e79644f39240f0012273c52677c91a8bab7a6907b665645311f170c0400000000040d1b2b3c4e63788da5b7c1a6907b66513b26110000000000000000000a1825303c494d5d656c747a7d808283817e7b786f6760574e4d62778da2b7b49f8a755f4a3520000f24394f64798eabbcb9a88d78624d3822120000000000000000000d21364a5b72879db2c7a9947e69543f29140012273c51677c91a6bcbba5907b66503b261100000000000e1d32455663798777625443301c11000000000013283d52687d92a7bdb8a38d78634e38230e001c31465b71869bb0bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc9cdd7d8cac1bdbbbbbbb7a28c77624d37220d0012273c51677c91a6bcbba5907b66503b26121212121212121212121212120c0a040000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f92929292929292929292929285715c46311c00000000000000000000000000000e23394e63798e8f8f826e58432e190200000000000000000000000000000b21364b6075879db2c1b09e947f6d6158504b45434b4d515b636e7e8b9da6b7b1a09781758298a0b1bbaa9f8d7d68604e4232241407000000000000000000021527374d5e6c8197a3b5c2b8a79e8c7f6e635b4d493c39362d2d2c2a29292b2c29333637444b505f677a8fa4b9b9a48e79644f39240f00172c41566c8196abc6b29d8874604b3827150400000000000000000d2135495b72889db2bda8937d68533e281300000000000000000b1a2736434a5b636e7a81888f939597989693918b847d7568604d62778da2b7b49f8a755f4a35200011263b51667b90a6c9b39e89745a4835200b000000000000000000071a2d3d596f8499aec0ab96816b56412c160012273c51677c91a6bcbba5907b66503b2611000000000e1e30414b6074859a8472604b3f2e1c0c0000000013283d52687d92a7bdb8a38d78634e38230e001c31465b71869bb0c4d4d0bfb3aea9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9b4bac7cdbcb0aba9a9a9a9a28c77624d37220d0012273c51677c91a6bcbba5907b66503b2727272727272727272727272727221f180c00000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a7a7a7a7a7a7a7a7a7a79b86715c46311c000000000000000000000000060b0e23394e63788ea398836e58432e1d150a0900000000000000000000000114263652677c91a5b7b7a596816c614c473a36313035383d4a4e60687b889da6b8b19f978798a0b2bbaa9f8c7d685f4e423124140600000000000000000000081d314455667c919fb1c1b9a89e897b69614e493d352c24211a18161513141517171f21263135414e64798ea3b9b9a48e79644f39240f00192e43596e8398a7a7a797826c5443301a0a000000000000000000061a2c3d5b70859bb0bfaa957f6a55402a15000000000000000b1b28384554606a78838f979da6a8aaacaeaba9ab9f9a92897d6f6262778da2b7b49f8a755f4a35200013283e53687d93a8bdb19c87725c3c2b190500000000000000000000172d42576c8297acc1ad98836d58432e180012273c51677c91a6bcbba5907b66503b261100000009192b3c4d5f6c8197a2947f6a5d4b3a2a180800000013283d52687d92a7bdb8a38d78634e38230e001a2f455a6f849aa6b7c6c7b3a1999494949494949494949494949494949494949fa9bac3b09e9694949494948c77624d37220d0012273c51677c91a6bcbba5907b66503c3c3c3c3c3c3c3c3c3c3c3c3c3c3c37332a1c0c000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9bcc0b4b0afafafafaf9b86715c46311c00000000000000000000040e1920232b394e63788ea398836e5843363127231c1107000000000000000000081c3043546d8398adc3b29d8775604b43332a201d1c20222d36424e5d6579889ea8b9b1a59ca5b2baaa9f8c7d675f4e413124140600000000000000000000031729394b6074879db2bdbcab9e8a79655d4f43352c20190e0c0700010000000000040a0c141d24394e64798ea3b9b9a48e79644f39240f001b31465b708591919191917e695436261400000000000000000000001a2f445a6f8499afc0ab95806b56402b160000000000000316283946566072808b99a1acb3b8c4c8bbb4b3b9bcb5afa79e92847863778da2b7b49f8a755f4a35200012283d52677d92a7bcb19c87715c3b2a180500000000000000000002172c42576c8197acc1ad98836e58432e190012273c51677c91a6bcbba5907b66503b2611000002152737495a677c919fb49f8c7b65584736251300000013283d52687d92a7bdb8a38d78634e38230e000d22384d6278889da8b9c8ae99837f7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7f8b9fb4c0ab96807e7e7e7e7e7f76614b36210c0012273c51677c91a6bcbba5907b66525252525252525252525252525252524c473a2a18040000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9bfb4a29a9a9a9a9a9a9a86715c46311c0000000000000000000c181f2b35383c494e63788ea398836e58504b4538382f221b1002000000000000000b20354b6074899eb3c8a9947f6a5745321f170c09080b0f1a21313f4b5b647a8a9ea9bab6b2b6baa99f8c7d675f4d413123130600000000000000000000000a1e334657697e93a5b6c2b59f8d7c665b4c3f32211a0f0600000000000000000000000000010f24394e64798ea3b9b9a48e79644f39240f0011263b51667b7c7c7c7c7c78624d37220d00000000000000000000071b2d3e5b71869bb0bea9947f69543f2a140000000000010f1e324657617482959faab3bfb6b2aba4aa9f9ea7a2a7aeb4b3a1998979788da2b7b49f8a755f4a35200010253a50657a8fa5c7b39e89745948341f0b000000000000000000061a2c3d596e8499aec0ab96816b56412c160012273c51677c91a6bcbba5907b66503b261100000e1d3144556278899eb3bbaa9d8876615443301c10000013283d52687d92a7bdb8a38d78634e38230e000b2035485a647a8a9eaabbb49e8a796969696969696969696969696969696974899eb4b8a38d79696969696969615746321e0a0012273c51677c91a6bcbba5907b6767676767676767676767676767676767615847331f0a0000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9bfb09a84858585858585826d57422d180000000000000003111c2a333c484d555a6266798ea398836e68656056504c40362e2014060000000000000d22374c62778ca7b8bbaa8d78634d3928160400000000000714212e3c4a5c657b8a9fb4c9c7c9b49f8b7c665e4d41302313050000000000000000000000001325364b6176889eb3c3b5a3957f6a5e4d3d2f211406000000000000000000000000000000000f24394e64798ea3b9b9a48e79644f39240f000f24384c5e66676767676762594834200b000000000000000000000e22364a5c73889eb3c3a7927d67523d271200000000000f1f31424b61758498a0b4bbb8b3a59d968f8c8a898b8d92989fa9b5a79d877a8fa4bab49f8a755f4a3520000d23384d62788da9bab9a78c77624c3722110000000000000000000c2135495b72879cb1c6a9947e69543f29140012273c51677c91a6bcbba5907b66503b2611000e1e2f404b6074859ba7b9c8b7a6998372604a3e2e1c0c0013283d52687d92a7bdb8a38d78634e38230e0005192b3c4a5c667c8c9fb4b9a89d887862575454545454545454545454545f74899eb4b8a38d786354545454544b46392916030012273c51677c91a6bcc0ab95807c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c76614c37220c0000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b767070707070706d63523e2a150000000000000614212f3a474c5a626a72787c8196ac9d87807e7a756e655e4f4a3e3124150700000000000f24394e64798ea3c5b49f8a74604a35200b000000000000000d1d2a3a47586176869cb1c6d0bba6907b665e4d4030231305000000000000000000000000071c3043546a8095a6b8c1b19b8672604a40301f110300000000000000000000000000000000000f24394e64798ea3b9b9a48e79644f39240f00091d2f404c5152525252524d483b2b190500000101010200040a121e2d3d4f64798ea6b8b6a58d78624d38230d00000000061a2c3d4e606d8298a2b2beb4a69d9287807a77757475787d838a989faba59d889db3c8b49f8a755f4a3520000b20364b60758a9fb4c5a8927d6853402f1c0c0000000000000004182a3b4e63788da4b6b9a8907b66503b26110012273c51677c91a6bcbba5907b66503b261109192b3c4c5e6c8196a3b5c5d4c4b3a1947f695c4b3a29170413283d52687d92a7bdb8a38d78634e38230e00000e1e2d3e4c5e687e939eb0b7a69c86756155443f3f3f3f3f3f3f3f3f495f74899eb4b8a38d78634e3f3f3f3f3632291b0b000012273c51677c91a6bcc3b09e95919191919191919191919191919191918f7a654f3a25100000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76615a5a5a5a5a57524535230f0000000000041424313f4b58616c787f878d91969fb0a59d95938f89837b70645c4e42332515050000000011263b50667b90a5bbb29d88735443301c070000000000000e1d2b3b48586176859ba4b5c8cac0ab95806b5e4d3d2c1b0b000000000000000000000000000b20354a6073889db3c4b4a3917c665443302212010000000000000000000000000000000000000f24394e64798ea3b9b9a48e79644f39240f000012222f383b3c3c3c3c3c37342b1d0d080e101717171718171f212f3c4a5c6c8196acc5b29d87725a4935200c000000000c2136495b687e93a0b2bfb3a29a887d736b656160566062676e78828d9fa8a69da6b7cab49f8a755f4a352000081d3144556e8399aec5b09a85705e4c3a291a0c020000000009141f3447596b8095aac2b49e8975604b36200b0012273c51677c91a6bcbba5907b66503b2611152737485a667c919eb0c1cac2c5bfb49f8c7a645847331f1413283d52687d92a7bdb8a38d78634e38230e00000010202f404e606b8096a0b2b5a4998373604b433229292929292934495f74899eb4b8a38d78634e38292929211e160b00000012273c51677c91a6bccdbcb0aba7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a48f7a654f3a25100000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c45454545423e352717060000000001122231424e5d6577818b959ca4a6acb0bdb6b2aba8a89e9990857a696050433323120000000010253a50657a8fa5c8b39e88735746321e0900000000000e1e2b3b48596276859ba3b5b8b3b4bbb09e917c665b49392916030000000000000000000000000f243a4f64798fa6b7c7b09b85705e4c36251304000000000000000000000000000000000000000f24394e64798ea3b9b9a48e79644f39240f000004121d242627272727272220190d111c23252c2c2c2c2d293336404c5a647a8c9fb4b9a7947f6a553c2c1906000000071a2d3d4e63798b9fb4beb3a19984766860544f4c4a454b4d5259626d7c8a9ea8b3b7c4cab49f8a755f4a3520000215273751667c91a6b8b4a2907b665847382a1d150f0d0e11192631434c61778a9eb4c0ae98836e5645321d090012273c51677c91a6bcbba5907b66503b26111d3144556278899eb3bdbcb5adb1bebbaa9d8776614c42322013283d52687d92a7bdb8a38d78634e38230e00000002122231424a60728298a3b4b3a197816c614f4130211414141f34495f74899eb4b8a38d78634e382314140c0a030000000012273c51677c91a6bcd1cdc3c0bcbcbcbcbcbcbcbcbcbcbcbcbcbcbaa48f7a654f3a25100000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c363030302d2a23170900000000000f1f30404e60687b89969faab1b6c2c1c4cdc8c5bfc6b9b4aea39b8b7e6a615041301c0c0000000e23384e63788daabbb49f8a76614b362110000000000e1e2c3c48596277869ba3b5b8a79e9faabbb49e8a79635746321e14030000000000000000000005192b3c556b8095aac4baa9917c6651402f1808000000000000000000060c0e12121212121212121224394e64798ea3b9b9a48e79644f39240f00000000090f1112121212120d0b0511212e373b41414141433a464c525e6678879daabbb39e8976614c37210e000000000c21364a5b6e8398a9bab6a499837461584b433637353236383b484d5e667a8a9eb3bdcecab49f8a755f4a352000000b20364b6074889eb3c0b29c87766156473b3127242224262f37444b616e8398a8b9b4a2917c6651382815020012273c51677c91a6bcbba5907b66503b261d2f404b6073859ba7b8bcab9f979fb1beb7a599836e604f3e2d1b283d52687d92a7bdb8a38d78634e38230e0000000004141c3043546074859ba5b6b19f947f6a5f4d3f2e1e0e001f34495f74899eb4b8a38d78634e38230e000000000000000012273c51677c91a6bcd5c5b8b3b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2a48f7a654f3a25100000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36211b1b18150f060000000000071a2d3d4d5e687e8c9ea7b4bbc2b6b1acb1bdb4b0aab0b4bbc1b4a99f937f6a5f4d3a29170400000c21364b61768a9fb4bcab907b66503e2d1c0e00010f1f2c3c495a6277869ca4b5b7a69e898c9fb4b9a89c8675614b43322111000000000000000000000b2035485a71869bb1c6b49f8a75604b3621120000000000000000010f1a212327272727272727272727394e64798ea3b9b9a48e79644f39240f0000000000000000000000000000081c2e3f4b50565656575859586167707c889da5b7b2a0937e695847331f0a000000011527374e63798c9fb5bbaa9c86756156473a302622201d20232b34404c5c677d919fb1c8cab49f8a755f4a35200000081d314455697e93a4b5b6a59a837461594b44373a38393b3f4c55606c7f95a0b2bdb09b85705e4c381a0a000012273c51677c91a6bcbba5907b66503b262b3b4c5e6b8095a3b4c1b59f8d8297a0b2c2b3a1937e695c4a3a29283d52687d92a7bdb8a38d78634e38230e00000000000013253645566176879ca7b8b59f8d7d675d4b3c2c1c0c1f34495f74899eb4b8a38d78634e38230e000000000000000012273c51677c91a6bcccb8a79e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d8f7a654f3a25100000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c050201000000000000000c21364a5b667c8d9faab8bfb3aea49c979fb1a29a949a9faab4c0bab49f8d7d675847331f0a0000091e3246576f849aafc5ae98836e5c4a3a2b1e100f1f2c3d495a6278879ca4b5b7a69d88797e93a0b2b6a498826e614f3f2e1d0d0000000000000000000d22384d62788da3b5c4af99846f5645321e0900000000000000000f1f2c35393c3c3c3c3c3c3c3c3c3c3c4e64798ea3b9b9a48e79644f39240f00000000000000000000000000000e23374b5d656c6c6c6c6d6e72767d85919da6b7b1a198826e604f3a2a1704000000081d3144556d8298abbcb49f8c7963574638291c140c0b090b0d19202f3e4d5f6d8297aabbcab49f8a755f4a35200000021527374b6073869cabbcb3a29a8477696055514f4d4e50555d657381959eafbfb19f8f7a654f402f1d00000012273c51677c91a6bcbba5907b66503b26374859667c8d9fb5c1b4a396806d8298a4b6bfb49f8b7a64584633283d52687d92a7bdb8a38d78634e38230e0000000000000818283847586379899ea9baab9f8b7b655a493a2a1a1f34495f74899eb4b8a38d78634e38230e000000000000000012273c51677c91a6bcc8b39e8888888888888888888888888888888888877a644f3a240f0000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c000000000000000000091c2f404e63798a9fabbbbbaea1998e878297ac9a847f858b9aa2b5bcbcab9e8976614c38281602000316283954697e93a7b8b49f8c7a6458483c2d1e1f2d3d495b6378879ca5b6b7a69d8879636e8298a4b5b2a0947f695d4b3b2b1a0a000000000000000011273c51667c91a6c2bea8937e69533828160300000000000000061a2c3d494e52525252525252525252525264798ea3b9b9a48e79644f39240f000000000000000000000000000010253b50657b818181818284878b929aa2b2b5b19f978375614b42321c0c000000000b20354b6075899eb3c2ad97826d5b4a39281a0c01000000000005122030414d62788b9fb4c9b49f8a755f4a3520000000091d314455657b8d9fb5c0b3a29b887e746c67646263666b717b85969fafbcb4a296816c5d4b37221200000012273c51677c91a6bcbba5907b66503b3144556277899eabbcb8a79b85736175869ca9babaa99d8776614c42313d52687d92a7bdb8a38d78634e38230e000000000000000a1a2a3a495b657b8b9fabbaa99e897863584738281834495f74899eb4b8a38d78634e38230e000000000000000012273c51677c91a6bcbba5907c7373737373737373737373737373737373645c4a36220d0000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c0000000000000000000e23384c5e70849aa8babcae9d94837972798ea398836e707884949fabbcb9a795806b5645321e0900000c21364b6176889eb3bcab9c8776625a4a3e322d3d4a5b6379889da5b6b7a59d8879635b6075869ca7b9b49f8c7b6559483827150200000000000000152a3f546a7f94a9bfb9a48f79644f3a240f00000000000000000c2135495b6367676767676767676767676767798ea3b9b9a48e79644f39240f000000000000000000000000000014293f54697e9496969698999c9fabafb4b3a49c908174615746322414000000000010253a50657a8fa8b9b5a48d79634e3d2d1b0b000000000000000002122034485a6d8297adc8b49f8a755f4a3520000000011426374b5d6b8095a2b3c0b4a69e9388827c7977797b8086909ba3b0bdb3a49a8473604b3f2e1b0400000012273c51677c91a6bcbba5907b66503b3f4b6073849aa7b8bcb39e8978625763798b9fb4beb6a598836e604e3e3d52687d92a7bdb8a38d78634e38230e00000000000000000c1c2c3c4b5d677d8d9fb5b8a79c8676615645362534495f74899eb4b8a38d78634e38230e000000000000000012273c51677c91a6bcbba5907b665d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d4f4a3e2d1b070000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c00000000000000000317293950657b90a2b4c1af9e947f6e6463788ea398836e5a62727f8d9fb5c3b49e8975604b36210b00000a1e334657697f94a2b4b6a59c8678645c4b453e4a5c6479889da6b7b6a59d8778635b49576378899eabbbaa9e8877625645311d1301000000000000172d42576c8297acc1c5a28d77624d38220d00000000000000000e23394e63797c7c7c7c7c7c7c7c7c7c7c7c7c7f94a9bfb9a48e79644f39240f000000000000000000000000000014293f54697e94a9abacadaeb2b5bcc9b3a29a867b6c605646392816060000000001162b40566b8095abc6b19c86715b49351f0f0000000000000000000005192b3c51667b90aabbb49f8a755f4a35200000000009192e3f4b6073849aa5b7c4b8b3a69d97918f8d8e90959ca4b1b5bbb4a19a86776155443121100000000012273c51677c91a6bcbba5907b66503b4b5d6a8095a2b4c1b09e917c665a4a5b687e93a0b2c3b2a0937e685c4a3952687d92a7bdb8a38d78634e38230e0000000000000000000e1e2e3f4d5f6a7f949fb1b6a49a84746054433034495f74899eb4b8a38d78634e38230e000000000000000012273c51677c91a6bcbba5907b66504848484848484848484848484848483a362d2010000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c00000000000000000a1e3346576f849aafc0b5a395806a614e63788ea398836e5854606a8095a5b7b9a8907b65503b26100000031729394b6073849aa6b7b6a49c887a6b60574c5c647a889da6b7b6a59d8778635a493d495a667c8d9fb5b8a69b8574604b41311e0b000000000000192e43586e8398adc3b9a78b75604b36200b0000000000000000152a3f546a7f91919191919191919191919191949daec2b9a48e79644f39240f000000000000000000000000000014293f54697e94a9b5b5b7b9bec5c8c4af9a8475665e4b4538281b0b0000000000051a2f455a6f849aafc0ab96816b563d2c1a0100000000000000000000000d21364b61768a9fb4b49f8a755f4a35200000000000101d3144556176879da8b9c8c4b7b3aca6a4a2a3a5aab1b5bfb3aa9f968376615947372715030000000012273c51677c91a6bcbba5907b66504759657b8d9fb4c0b5a396816b5e4c3d4e606d8298a4b6beb49f8b7a64574652687d92a7bdb8a38d78634e38230e00000000000000000000102130414f616c8197a1b3b4a2988272604a4231495f74899eb4b8a38d78634e38230e000000000000000012273c51677c91a6bcbba5907b66503b333333333333333333333333333324221b1002000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c00000000000000000c21364b61758a9fb4c6b09b8573604b4e63788ea398836e58434b6075879db2c6ab96816b56412c160000000b1d3144556277889da6b6b6a69d8b8075665e647a899ea6b7b6a49c8778625a493c2c3c4c5e6a8095a1a5a5a397816c5f4e3a25100000000000001a2f44596f8499aec4b39e89745645321d090000000000000000152a3f546a7f94a7a7a7a7a7a7a7a7a7a7a7a7a9aebbccb9a48e79644f39240f000000000000000000000000000014293f54697e94a0a0a0a1a4a9b0b4c0b3a29a8478645c4b3c2b1b0b0000000000071c31465c71869bb1bca7927c67523d27120000000000000000000000000a1e32465771869cb1b49f8a755f4a3520000000000001142637475863798a9eaabbcecbc8c1bcb9b7b8bac2b5b1aaa1998b80736158473a2a1909000000000012273c51677c91a6bcbba5907b6650546277889dabbcb9a79b8574604b4031424b6175869ca9babaa99c8675614b52687d92a7bdb8a38d78634e38230e0000000000000000000003132332434b60738399a3b5b2a095806b604e40495f74899eb4b8a38d78634e38230e000000000000000012273c51677c91a6bcbba5907b66503b261e1e1e1e1e1e1e1e1e1e1e1e1e0f0d070000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c000000000000000012273c51677d91a9bab9a8907b6654434e63788ea398836e584345566b8095aac0af99846f5a442f1a0000000114263748596379889ca4b2b7a99f95877c6f7a899ea7b8b5a49c8678625a493c2c1e2f404b6072839090909090907d68523d28130000000000001a2f445a6f8499afc4b39d88735443301c080000000000000000152a3f546a7f94a9bcbcbcbcbcbcbcbcbcbcbcbfc6c6c6b9a48e79644f39240f000000000000000000000000000014293f54697f8b8b8b8b8c8e939aa2b1b5b3a29a8a7a645a483928160300000000091e33485e73889db3baa5907a65503b2510000000000000000000000000031629395a6f859aafb49f8a755f4a352000000000000009192a3a4a5b667c8c9fb4bdceddcbbbaea9a5a5a2a49c948d83786b6055463a2a1c0c00000000000012273c51677c91a6bcbba5907b66506072849aa6b8bdb39e8978625544311e334657647a8b9fb4beb6a498826d6052687d92a7bdb8a38d78634e38230e000000000000000000000005151d3144556175859ba6b7b09e927e685e4c3d5f74899eb4b8a38d78634e38230e000000000000000012273c51677c91a6bcbba5907b66503b26110808080808080808080808080000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c0000000000000000162b40566b8095abc7b49e8975604b364e63788ea398836e58433850667b90a5bbb19b86715c46311c0000000009192b3b495b63788698a0b3b7b4a59d91848a9ea7b8b5a49c86776259483c2b1e121c30435461767b7b7b7b7b7b7b65503a2510000000000000192e43596e8398aec3b49f8a75604b35200b0000000000000000152a3f546a7f94a9b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1a48e79644f39240f00000000000000030303030303000b20354b60737575757677797e858f9ca4b2b4a89d8878625746321e0a000000000a20354a5f758a9fb4b8a38e79634e39240e00000000000000000000000000192e43586e8398adb49f8a755f4a3520000000000000000c1c2d3d4c5e697e939fb1bfd0c2ae9d94908f8d8b867f796e635b4b4437291b0c0000000000000012273c51677c91a6bcbba5907b665d6a7f94a2b4c1b09f917c665a4837271729394a5c687e93a0b2c3b2a0927e685b687d92a7bdb8a38d78634e38230e0000000000000000000000000114263746576277879da8b9b49f8c7c655b4a5f74899eb4b8a38d78634e38230e000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c0000000000000000182d43586d8298a4a4a499846f5544394e63788ea398836e5843394f64798ea4b9b29d88735d48331e00000000000d1d2c3c495a627583919da6b5b7b2a19a9ea8b9b5a49c86776259483b2b1e0e01142636465861666666666666655d4b37230e000000000000182d42586d8297adc2bbaa8c77614c37220c0000000000000000152a3f546a7f949c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c8e79644f39240f0000000000070b1818181818180e0c1d3144556060606060626469707a8698a0b2b8a69c8675614b382715020000000a1f34495f74899eb4b9a48f79644f3a240f00000000000000000000000004192f44596e8499aeb49f8a755f4a352000000000000000000f1f2f404f606c8196a1b3c2bea9947f7b7a7876716a635b4d493c3127190b000000000000000012273c51677c91a6bcbba5907b66657b8c9fb4c0b5a396816c5e4d3c2b190b1b2d3e4e606e8298a5b6beb49f8a7963687d92a7bdb8a38d78634e38230e0000000000000000000000000009192939485963798a9eaabbaa9e8a7963595f74899eb4b8a38d78634e38230e000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c00000000000000001a30455a6f858e8e8e8e8e7f6a5437394e63788ea398836e58433a50657a8fa5bab39d88735e48331e0000000000000e1e2c3c4957616e7c88979fabbcb3afb4b9c6b19c86776259483b2d1f1305000818293a464c505050505050504b3f2e1c08000000000000162b40556b8095aac0c8a38e79634e39240e000000000000000013283d53687e868686868686868686868686868686868686868678634e39230e00000008131c202d2d2d2d2d2d23211a2637444b4b4b4b4b4c4f545c64748298a2b4b5a4947f695645311d09000000081d32475d72879cb2bba6917b66513c2611000000000000000000000000061a2c3d5b70859bb0b49f8a755f4a3520000000000000000001122232424b60738399a4b5c4b39e897965636056554e493d352c1d150900000000000000000012273c51677c91a6bcbba5907b6676889daabbb9a89b8574604b40301e0e000f2031424c6176879ca9babaa99c8675687d92a7bdb8a38d78634e38230e00000000000000000000000000000b1b2b3b4a5b657b8c9fb4b9a89d8777625774899eb4b8a38d78634e38230e000000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c00000000000000000e23394e6379797979797976614c36394e63788ea398836e58433b52687d92a7bdb19c86715c47311c000000000000000e1e2c39464b5f6776818d9fb5cac4c9ccc3ae9983776960554a3d30231406000b1b2933363b3b3b3b3b3b3a372e21110000000000000013283d52687d92a7c5bca6917c6751362513000000000000000011263a4e60687171717171717171717171717171717171717171635b4a36210c0000081825303543434343434338352c1f2631353636363637393e4b566073849aa9bab29d8874604b36200b000000061b30455b70859ab0bea9937e69543827150200000000000000000000000c2136495b73889db3b49f8a755f4a352000000000000000000004141d3144556175869ca6b8b9a79c87766155453838352c21190e010000000000000000000012273c51677c91a6bcbba5907b728399a6b7bdb39e8978635645312212000001141e334657647a8b9fb4bfb6a497826d7d92a7bdb8a38d78634e38230e0000000000000000000000000000000d1d2d3d4c5d687e929eafb7a59b85756174899eb4b8a38d78634e38230e000000000000000012273c51677c91a6bcbba5907b66503b26110707070707070707070707070707070707050000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c00000000000000000c2135495b63646464646461584633394e63788ea398836e584347596d8298adc2af9a846f5a45301a00000000000000000e1b2933404d58616c8096abc0c7c4b9c3b2a1998a7e73635b4d4131241404000b171f2126262626262625231c1103000000000000000f243a4f64798fa6b8c2ac97826d5443301c07000000000000000b1e31424e535c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c4e4a3d2d1a070000132536434a5858585858584e493d2c1a1d202020202122242e38455563788b9fb4b7a6927d68533d281300000003182e43586d8398adc2ae99836e5645311d0900000000000000000000011426364e63798ea6b7b49f8a755f4a3520000000000000000000000114263746576278889da9bab6a59a8473604b4332211a0f0600000000000000000000000012273c51677c91a6bcbba5907c7f94a1b3c1b19f917d675a4938271504000000031729394a5c697e93a1b2c2b1a0927d7d92a7bdb8a38d78634e38230e000000000000000000000000000000000f1f2f3f4e606b8095a0b2b5a399837374899eb4b8a38d78634e38230e000000000000000012273c51677c91a6bcbba5907b66503b261d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1a140a000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c0000000000000000061a2c3d494e4f4f4f4f4f4c463a29394e63788ea398836e58444c62778b9fb4c4ab95806b56402b160000000000000000000b182b3b4b5d667c8b9fb4bfb3aea3aeb2b2a89e948679675f4e423122120000040a0c111111111111100e080000000000000000000b20354b6074889eb3c8b39d8874604a35200e00000000000000021324313a3d474747474747474747474747474747474747474739362d1f0f0000071c304354606d6d6d6d6d6d635b4935210c0b0b0b0b0b0d101a2837495a6e8398adc4af99846f5a3929170300000013283d53687d92a8c2b49e8975604b37261401000000000000000000081c304354697e93a9c4b49f8a755f4a3520000000000000000000000009192939485a647a8b9fabbcb4a297826d614f403020100000000000000000000000000012273c51677c91a6bcbfaa95808c9fb4bfb5a397816c5f4d3c2c1a0a00000000000b1b2d3e4f606e8399a5b7beb49e8a8095abc0b8a38d78634e38230e00000000000000000000000000000000011121314250626d8298a2b4b3a1978174899eb4b8a38d78634e38230e000000000000000012273c51677c91a6bcbba5907b66503b323232323232323232323232323232323232322f271c0e0000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c0000000000000000000f1f2c3539393939393936332923394e63788ea398836e5855606e8398a9bab8a6907b66513b26110000000000000000011426364859657b8b9faabbb2a1998e99a1b0b5b4a49c8a7d68604e40301e0e00000000000000000000000000000000000000000000081c3043546d8297adc7b7a68e79644f3c2c19060000000000000006131e2628313131313131313131313131313131313131313123211a0f0100000b20354a607282828282828279634e38230e000000000000000a192c3c52677c91a7bcb39e89745746331e0a0000000d22374d62778ca4b5b9a8927d685544311d1202000000000000000a182a3a4b6073869cb1c7b49f8a755f4a35200000000000000000000000000b1b2b3c4b5c677d8d9fb5beb19f947f695e4c3e2d1d0d00000000000000000000000012273c51677c91a6bccab49f8a9faabbb9a89b8574604b41301e0e00000000000000102032424c6176879daabbb9a89e8a9fb4cab8a38d78634e38230e000000000000000000000000000000000003132333444b6074849aa4b6b19f947e8a9eb4b8a38d78634e38230e000000000000000012273c51677c91a6bcbba5907b66504747474747474747474747474747474747474747433a2c1c0a00000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c000000000000000000010f1a21232424242424211f1723394e63788ea398836e5861738197a0b2c4b39e8875604b36200b0000000000000000081c3043546277889ea9bab2a0988379838f9ba3b5b5a99f8d7e685e4d3c2b19060000000000000000000000000000000000000000000114263651677c91a9bac4ac97826d5b493521100000000000000000020b11131c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0e0c0700000000071c304354738898989898917c67513c271200000000000000000f24394f64798ea4b9b9a78b76614b36210c0000000b2034485971869cb1c3b29c8773604b402f1e160a04000000070f1a28364758677c91a4b6cab49f8a755f4a3520000000000000000000000000000e1e2e3e4d5f6a7f94a0b2beb59f8d7c665c4a3b2b1b0a000000000000000000000012273c51677c91a6bccebbaa9faabbbdb49e8a79635645322312000000000000000002141f334658647a8b9fb4bfb9aa9faabbceb8a38d78634e38230e00000000000000000000000000000000000005161d3145566176869ca6b8b59f8a8d9fb5b8a38d78634e38230e000000000000000012273c51677c91a6bcbba5907b665c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c574a3a271400000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c0000000000000000000000060c0e0f0f0f0f0f0c0a0e23394e63788ea398836e697684979fb1bfb7a6957f6a5645321d0900000000000000021527384b6073849aa6b8b3a1988273646e7a85969fabbaab9f917c665a4835200e000000000000000000000000000000000000000000000c21364b61768a9fb4c9b49f8b78634d3f2e1d0d00000000000000000000000707070707070707070700060c0e0e0c0700070700000000000000001325365c71869cadada9947e69543a291704000000000000000e23384d63788da2b8c5a28d77624d38220d00000005182b3b53687e93a5b7b6a595806a5e4c4032281f171514161a212c3845546176879db2c2cab49f8a755f4a352000000000000000000000000000001020304150616d8298a2b4bcab9e8a7a645948392818080000000000000000000012273c51677c91a6bcd9c8bbb4bbc2b19f917d675b49382815050000000000000000000417293a4a5c697f94a1b3c3bbb4bbc8d9b8a38d78634e38230e000000000000000000000000000000000000000215273847586278889ea8baab9f9fabbcb8a38d78634e38230e000000000000000012273c51677d91a6bcbba5907c727272727272727272727272727272727272727272726857432f1a00000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c000000000000000000000000000000000000040e192029394e63788ea39882757e889aa2b1bdbbb29d8876614c3828150200000000000000091d314556697e93a2b4b4a399837360555d6573808d9faabbb39e8978624d3c2c19060000000000000000000000000000000000000000000a1e3246576e8399abbcbbaa98826d5d4b3b2b1a0a00000000000000000000000000000000000000000e19202324211a0f010000000000000000001a2f455a6f849aafc2af99846f5847331f10010000000000001325364f657a8fa4bab9a78b76604b36210b000000000d20364b6074879db2c0b49f8d7c665e4b453833292a292b2d363d495660728399a6b7cbcab49f8a755f4a3520000000000000000000000000000002122333434b6074849aa5b6b9a89d88776257453625130000000000000000000012273c51677c91a6bcd1d9cecac6b5a497816c5f4d3c2c1a0a00000000000000000000000c1c2e3e4f616e8399a5b7c8caced9cdb8a38d78634e38230e00000000000000000000000000000000000000000a1a293a495a647a8a9fabbcb5b5bcc9b8a38d78634e38230e000000000000000012273c51677d91a6bcc8b29d8787878787878787878787878787878787878787878786725c47321d00000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c00000000000000000000000000000000000c181f2c353a474e63788ea39c8688949ea6b3c0bcaf9d907c665846331a0a00000000000000000b20364b6074889db2b9a79b85746055444b55606b7c8c9fb4b9a898826d5b4935210c000000000000000000000000000000000000000000031629394e63798c9fb4c7b49f8c7b65594838281a0d000000000000000000000000000000000002121e2c353839362d1f0f000000000000000000152a3f556a7f94aac3b49f8a76614c3e2e1c14080600040a141c304354697f94a9beb39e89745645321e0900000000091d314556687e93a2b4bcab9f8a7c6a60564c473a3f3e403d4a4e5b63748298a1b3c4cdcab49f8a755f4a352000000000000000000000000000000005151d3145566176879ca7b9b7a69b8575605443301c1303000000000000000012273c51677c91a6bcd1ebe1cdb9a89c8674604b41301e0e00000000000000000000000000102032434c6176879daabbcee2ebcdb8a38d78634e38230e0000000000000000000000000000000000000000000c1c2b3c4a5c667c8d9fb4bdcacfdab8a38d78634e38230e000000000000000012273c51677c91a6bccbb7a69d9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c8a75604a352000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c00000000000000000000000000000001131d2a343c494d586168798ea3a49c9da6b3b8c5b9b49e947f6a5e4c3a2917000000000000000004172a3a53687d92a6b7b39e89776256453737444b5e6a7f94a2b4b59f8c78634d38230e000000000000000000000000000000000000000000000b21364a5b6d8298a9babcab9d8877625645382b1d100600000000000000000000000000010a161e2f3c494d4e4a3d2d1e0e00000000000000000e24394e63798ea4b6baa996816b5c4b3d3026211a1a181f22313f4a6073869cb1c6b09b86715b3828160300000000021527384b6073859ba7b8baa89f8c7f7568615857555456585c646c798598a0b0abb0bdcab49f8a755f4a3520000000000000000000000000000000000215273847586379899eaabbb5a3998372604a41312111000000000000000012273c51677c91a6bcd1e0cebdb49e8a79635645322313000000000000000000000000000002141f334758647a8c9fb4bfd0e2cdb8a38d78634e38230e000000000000000000000000000000000000000000000e1e2e3e4c5e697e939fb0bfcfcdb8a38d78634e38230e000000000000000012273c51677c91a6bcd4c4b7b2b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b19f8a75604a352000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c000000000000000000000000000009151d313b474c5a636c767e859bb1b6b2b2b7c4bfb3a89e91806a6150402f1c0c00000000000000000a1f33475871869bb1b9a8947f69594738282731404a6072859ab0bcab947f69543f2a1400000000000000000000000000000000000000000000071a2d3d4d62788b9fb4c2b7a69b85746056483b2e211a0f080200000000000000000609151d2832404c5a63635b4a3c2c1d0d000000000000000c21364a5b72879cb2c2b49f8b7a645b4b4336352c2f2a3437424e5d687e93a4b5c0aa957f6a55402a150000000000000a1d3144556278899eaab9baaa9f94877d766f6c6a696b6d7279818c9ba3b09f969fb0cab49f8a755f4a352000000000000000000000000000000000000a1a2a3a495b657b8c9fb4bcb2a195806b5f4e3f2e1e0e0000000000000012273c51677c91a6bcd1d2c2b19f927d675b49382816050000000000000000000000000000000417293a4b5c697f94a1b3c4d4cdb8a38d78634e38230e0000000000000000000000000000000000000000000000102030404f606c8196a1b3c1d1b8a38d78634e38230e000000000000000012273c51677c91a6bcbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb59f8a75604a352000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c0000000000000000000000000009192731414e59616d78818a939ba3b5c9c7c8c2b5b1a19a8a7d6a6250433322120000000000000000000c21374c61778b9fb5b39e8975604b3b2a1a151d304354677d92a7c9af99846f5a442f1a05000000000000000000000000000000000000000000000f2035495a6c8196a3b5c4b4a399827462594b3f352c201d15110e0c0b0c0e10121920273138454b5e667879635a493b2b1c0c000000000000071a2d3d53687e93a3b5bbaa9e89796960544e493d453a474c5260687b8b9fb4c2b4a28e79634e39240e000000000000011527374859657c8c9ea8b8bbb4a59d928b85817f7e8082878e969faab49e958196abc1b49f8a755f4a35200000000000000000000000000000000000000c1c2c3d4b5d687e929eb0bfb09e927d685d4b3c2c1c0c00000000000012273c51677c91a6bcd7c6b5a497826d5f4d3d2c1a0a00000000000000000000000000000000000c1c2e3e4a60728399a6b7c8d8b8a38d78634e38230e000000000000000000000000000000000000000000000002122232424b60728399a3b5c3b8a38d78634e38230e000000000000000012273c51677d91a6a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89f8a75604a352000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c00000000000000000000000008182737444b606877828c979fa9b1b5c1c9bcb5afa49c918479675f50443325150400000000000000000010253a4f657a8fabbcb09a85705645311d0d011325364e63798ea3b8b19c87715c47321c070000000000000000000000000000000000000000000006192b3c4b6175859ba6b8c1b2a1998577655d4e493d36312726242220212325272c3537444b56606b7c8988786359483a291b0b0000000000000f20354b6073869babbcb8a79e8a7e7369635b5b5a5b596168717e8a9fa9babbaa9a84705b4a36210c0000000000000009192b3b4c5e667c8a9da6b4bcb7b2aa9f9a97949395989da5acb4ab9f9580788da2b7b49f8a755f4a3520000000000000000000000000000000000000000f1f2f3f4e606b8096a1b3bcb49f8b7b655a493a291909000000000012273c51677c91a6bcbdbaa89c8675604b41301f0f00000000000000000000000000000000000000101c3043546176879daabbbdb8a38d78634e38230e00000000000000000000000000000000000000000000000004141c3043546075859ba5a8a8a38d78634e38230e000000000000000012273c51677c919393939393939393939393939393939393939393939393939393938a75604a352000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c0000000000000000000000011426364455606c7d89979fabb4bac7c9c1b5ab9f9a90867c6f635b4d41332515070000000000000000000011273c51667c91a6c9ac97826c5738271500000e24394e63798ea3b8b39e88735e49331e0900000000000000000000000000000000000000000000000e1e3246576278889eaabbbfb2a39b887b6e635b504b44373b39373537393b3d3c494d55606875808d9e9d8777625847392816030000000000081c304354657b8d9fb4bcb8a89f93877e7873716f7072777d86939fa8babeb49f8c79634e3d2d1a0700000000000000000d1d2f404c5e667a88979fabb4bcbbb4afacaaa9abadb2b6b2a49c8c806b788da2b7b49f8a755f4a35200000000000000000000000000000000000000001112131424b60728399a3b5baa99e8978635846372715010000000012273c51677c91a6a8a8a89f8a796357453223130100000000000000000000000000000000000000001325364758657b8c9fa8a8a8a38d78634e38230e00000000000000000000000000000000000000000000000000011426364557617787939393938d78634e38230e00000000000000000d23384d62787e7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7e68533e281300000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c00000000000000000000000a1c304354607381929ea7b4bcc9c2bbbfb5a39b8d847b71665e4e493d30231507000000000000000000000010263b50657b90a5c7ad97826d583f2e1b100d17293952677c91a7bcb19c87725c47321d07000000000000000000000000000000000000000000000003162839485a657b8c9fabb9c1b5a69d8f83796d65605553504e4c4b4c4e5052565a6369747d87959faba59c8676615746321e090000000000011426364b5d687e939eb4babab4a59c938d88868485878b929ba3b4babeb1a095806b5b4a361f0f0000000000000000000011212f404c5c6477828c9a9fabafb3b4bcc5b8b3b1aca59c94867a6b62778da2aaaa9f8a755f4a3520000000000000000000000000000000000000000003131c3043546075859ba6b7b8a79c8676615544311d0c0000000012273c51677c9193939393917d685b493928160500000000000000000000000000000000000000000008182a3a4b5d6a7f92939393938d79634e38230e000000000000000000000000000000000000000000000000000008182839475963787d7d7d7d7e76614c36210c00000000000000000c2035495a626868686868686868686868686868686868686868686868686868686868604e3a261100000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c000000000000000000000a1a2f404b607282969fb3b8c5bbb4ada6abb09b85786f665e514c40352c1f13050000000000000000000000000e23394e63798ea9bab19c86715d4b3a2e2422253346576b8095aac0af9a856f5a45301a050000000000000000000000000000000000000000000000000b1b2b3c4b5d687e8d9ea8b6c3b7b2a1998c827b756e6866636160616365676b72787e87939da6b5bcb5a49b8575614b36210c00000000000008182e3f4e606b80939fa9b5c2b6b2a9a69e9b9a9a9c9fabb1b5c1b8b3a0978272604a3d2d1a01000000000000000000000312222f3e4a59626d7a848b939a9d9faba3a79e9b978f877f75645d62788d959595958b755f4a35200000000000000000000000000000000000000000000114263645576277889da8a8a8a49a8473604b3a2a17040000000d23384d62787e7d7d7d7d7c685f4e3d2c1b0a00000000000000000000000000000000000000000000000c1c2e3f4a60727d7d7d7d7d7e76614c36210c0000000000000000000000000000000000000000000000000000000a1b2a3b495a636868686868615846331f0a000000000000000006192c3c494d53535353535353535353535353535353535353535353535353535353534e42311f0b00000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c000000000000000000021628384c5e6c8196a1b1bdbeb2aa9f97919aad98836e5a504c403830211a0e00000000000000000000000000000b21364b60768a9fb4b5a48f7a64584b3e393736434c6176889db3c1aa95806b55402b1600000000000000000000000000000000000000000000000000000e1e2e3f4e60687c8a9da5b4c0bfb2aa9f979089837d7b79777576787a7c81878d939ca5b2b7c4bdb0a29a8879644e39240f000000000000001121314250626b7e8a9ca4b0b5c1c5b8b3b0afb0b2b5bcc5b8b3a79e918273605443301f0f0000000000000000000000000412202d3b474c5c646f777e84888a8c8e8b8986827a726a60564c61767f7f7f7f7f7f6a55402a1500000000000000000000000000000000000000000000081828394859647a8a939393939393826c5847331f0a0000000c2035495a626868686868675f4e41311f0f00000000000000000000000000000000000000000000000000101c30435460686868686868615846331f0a000000000000000000000000000000000000000000000000000000000c1d2c3c494d53535353534c463a2917040000000000000000000e1e2c35383e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3a3124140200000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c000000000000000000091e324556667c909fb0bfbcb4a0988b827c91a698836e583c382f241d1206000000000000000000000000000000091e3245566e8398aebfb19c8676645c524f4c4e54606c8196a6b7b5a38f7a644f3a240f000000000000000000000000000000000000000000000000000000112131424e5e6679879aa2b1b6c2bbb4aca79e9892908e8c8a8c8e9092969ca4a9b2b6c3c1b5b09f968477645c4a36210d0000000000000003142433445060687986919ba3a9afb4bac7bab9c3b6b2aca79e95897d6d605544362513010000000000000000000000000002101d2a343e4a4f5962686f737577787673716d655d544b454658616a6a6a6a6a6a61503c281300000000000000000000000000000000000000000000000a1b2b3b4a5c647a7d7d7d7d7d7d7e76614c37210c00000006192c3c494d5353535353524d41312313010000000000000000000000000000000000000000000000000000132536434a5253535353534c463a29170400000000000000000000000000000000000000000000000000000000000e1e2c35383e3e3e3e3e3633291c0c00000000000000000000000e1920232828282828282828282828282828282828282828282828282828282828261f14060000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c0000000000000000000b21364b6075879db2bdbcab9f9483786d798ea398836e58432e1c110900000000000000000000000000000000000316283851667b90a1b3b5a49b857a6e6864626368727f8d9fb4bdb09b8673604a35200b00000000000000000000000000000000000000000000000000000003132331404c5b637684919ca4b2b7c4c5b9b3ada8a5a3a1a0a1a3a5a7abb1b6c2c7c1b4b0a39b90817462594a3e2d1a07000000000000000006152633424e5b63737c858e949a9fa9a3a4a4a2a59c9792898077675f4b4437261808000000000000000000000000000000000d181f2d363b474c535a5560626361585c574f4b3f36323a464c555555555555504333200d0000000000000000000000000000000000000000000000000d1d2d3e4b5c6468686868686868615847331f0a000000000e1e2c35383e3e3e3e3e3c393023130500000000000000000000000000000000000000000000000000000008182530353d3e3e3e3e3e3633291c0c000000000000000000000000000000000000000000000000000000000000000e1920232828282828211f170c00000000000000000000000000060c0d1313131313131313131313131313131313131313131313131313131313110b02000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c00000000000000000316283952677d92a5b7bfb49f8d7f6e6263788ea398836e58432e1900020202020200000000000000000000000000000a24384c5e6f8499a7b8b5a39b8d837d7977797e86949fabbcb19f907b655443301c0700000000000000000000000000000000000000000000000000000000051322303d4a58616f7c86929da6adb3b9c6c3bdbbb8b6b5b6b8babcc0c4c4b7b2aca39b90857b6c6055483b2d200f00000000000000000000071524313d4a54606670797f848a8c8d8f8e8d8b87827d756b61594d413126190900000000000000000000000000000000000005101b222a34373e37444b4d4e4c463a423a372e211e2933364040404040403c33251503000000000000000000000000000000000000000000000000000f202e3e4b4f535353535353534c473a2a170400000000000e192023282828282827251e1305000000000000000000000000000000000000000000000000000000000008131c20282828282828211f170c000000000000000000000000000000000000000000000000000000000000000000060c0e13131313130c0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c0000000000000000091e32465770859aafc3b3a1927d6a614e63788ea398836e58432e1910171717171714120c0300000000000000000000091d2f404d6378899ea8b5b5ab9f98928e8c8e939ba3b4bcb1a297816c5d4c36251300000000000000000000000000000000000000000000000000000000000004121f2d3a474c5f67737d8792989ea8abb0b3b9c6b9bac9bcb5b3b1aea8a69d9790857b70665e4b44372b1d0f01000000000000000000000006141f2d36434b515c646a6f7476787a797776726d6760574c473b301d1409000000000000000000000000000000000000000000070d181f222927313537393633292d25231c110b171f212a2a2a2a2a2a2820150700000000000000000000000000000000000000000000000000000110202e373a3e3e3e3e3e3e3e37332a1c0c00000000000000060c0d131313131312100a010000000000000000000000000000000000000000000000000000000000000000070b1313131313130c0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c00000000000000000c21364b61768b9fb4bcab99836f5f4f4e63788ea398836e58432e22252c2c2c2c2c2a2720140700000000000000000000122035495a647a8a9ca4b3b8b5ada7a4a1a3a8b1b5b6b19f978473604b3f2f180800000000000000000000000000000000000000000000000000000000000000010f1c2a33404d556068757d838990969b9ea8a3a4a5a3ab9f9e9c99938d88827b70665e504c403127190d0000000000000000000000000000010f182630353e4a4f5454606163656462605757524b4539342a1d1301000000000000000000000000000000000000000000000000050b0d13151d202223211f1718100e080000040a0c151515151515130d030000000000000000000000000000000000000000000000000000000002101b222528282828282828211f170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a10122020202020202020202020202020202020202020202020202020202020200a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c000000000000000010253b50657a90aabbb59f8c78624d414e63788ea398836e58432e373a42424242423f3b3225140300000000000000000006192c3c4a5c647986959ea7aeb3b9c5b7c5b8b3ada49c918174605544312111000000000000000000000000000000000000000000000000000000000000000000000c171f3037444b5660676e757b8186898c8e8f8f8e8c8a8987847e78736d665e504c40382f1d1509000000000000000000000000000000000008141c202d363936434a4c4e4f4f4d4b45393d3632281f180c00000000000000000000000000000000000000000000000000000000000001080b0d0e0c0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080d0f131313131313130c0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c0e20202020201c1a140a000000000000000000000000000000000000000000000000000004121d24273535353535353535353535353535353535353535353535353535353535351f170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c000000000000000013283e53687d93a8c8b29d87725a49394e63788ea398836e58433f4b4f5757575757544f4332200c000000000000000000000e1e2d3e4a5b6374808993999ea7a3a5a3a69e9891867c6d605645372715030000000000000000000000000000000000000000000000000000000000000000000000041219263138454b525560656c71747778797a79777573726f69635b57504c40382f231c1102000000000000000000000000000000000000000108101b222425303537383a393836322827211e160a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1920233535353535322f271c0e00000000000000000000000000000000000000000000000000122230393c4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a33291b0b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c0000000000000000142a3f54697f94a9beaf99846f5a3c394e63788ea398836e58434b5d656c6c6c6c6c69614f3b2712000000000000000000000010202d3d4a56606a767e83898c8e8f8e8c88827c73675f4b4538281909000000000000000000000000000000000000000000000000000000000000000000000000000009141d28323637444b50565b5961636465636260555c59534e493d3b382f231c1209000000000000000000000000000000000000000000000000070d0f131c202123252422211e16120b09030000000000000000000000000000000000000000000000000000000000060b0d0e0e0e0b0902000000000000000000000000000000080e1020202020201d1b140b000000000000000000000000030c1215202020202017140e05000000000000000000000000000000060c0e141618191714110b090200000003050b0b0b0b0b00000000000000000000000000000000000000000000000000000000000e1e2c35384a4a4a4a4a4743392c1c0300000000000000000000000000000000000000000000000a1d30404d5160606060606060606060606060606060606060606060606060606060605e463a2917040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c0000000000000000152a40556a7f95aabfac97826d5737394e63788ea398836e58374f657b81818181817f69543f2a14000000000000000000000002101f2d38454b5761686e7477797a7877746d6760554d4132281a0a00000000000000000000000000000000000000000000000000000000000000000000000000000000010a161e212731363b413b474c4e4f504e4c4b4437443e38352c26231c1109000000000000000000000000000000000000000000000000000000000000070b0c0e100f0d0b090300000000000000000000000000000000000000000000000000000000000000000e192023232323211e160a00000000000000000000000003111c23253535353535322f281c0e00000000000000000000071520272a35353535352c29221608000000000000000000000002080e1a2123292b2d2e2c2926211e160a0712181b202020202012100a0100000000000000000000000000000000000000000000000006192c3c494d60606060605c574a39211100000000000000000000000000000000000000000000001024394d5f677575757575757575757575757575757575757575757575757575757575705846331f0a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c000000000000000013283e53687d93a8bdae99846e5544394e63788ea398836e5844556d829797979797836e59442e19040000000000000000000000010f1a283239464b53546062636563616054514b4437301d150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090b151d20252c2a3437393a3a39373531272f2923211a110f09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1e2b35383838383632281a0a000000000000000000000011212e373a4a4a4a4a4a47443a2c1c0b0000000000000000031525323c3f4a4a4a4a4a413e3426160500000000000000000009151d202c35383e414343413f3c363228211a252d30353535353527251e130500000000000000000000000000000000000000000000000c2035495a6f75757575757168573f2f1c080000000000000000000000000000000000000000000012273c51677c8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a76614c36210c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c000000000000000011263c51667b91a6c1b39e8974604b3d4e63788ea398836e584b6074889eacacac96816c57412c1702000000000000000000000000000a161e29323636434b4c4e504e4c4a4336353126191202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080b1017181f222324252422201d151a140e0c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090b0f1112110f0d0b0500000000000006192b3c494d4e4e4e4b4538281602000000000000000000081c2e3f4b5060606060605d574a3a281400000000000000000c2032434f54606060606056514434220e000000000000000311192731363d494e535658595654514b4538362d3741454a4a4a4a4a3d3930231301000000000000000000000000000000000000000000031629394d63788d8a8a8a8a86715d4b37230e0000000000000000000000000000000000000000000012273c51677c919f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f8b76614c36210c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c00000000000000000d22384d62788da3b5b9a7937e685b4d4e63788ea398836e585c6a7f94a7b8bbaa927d68523d2813000000000000000000000000000000020b161e2126303537393a3937353025201d1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b0c0e0f100e0d0b080100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090b161e2124262726242220180d0f060000000b2035495a62636363605645321e100000000000000000000e23374b5d657575757575726857442f1b060000000000000012273c4f616a75757575756c62513e29140000000000000513212f37444b535b63696b6d6e6c696660564e4a3d48555a6060606060524d41301e0a0000000000000000000000000000000000000000000a1e3246576c8196ab9f9fa4907b65503c2b190500000000000000000000000000000000000000000012273c51677c91a6b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5a18b76614c36210c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c00000000000000000b2035485a71869bb1c4b39e8979675f5163788ea398836e5e667a8b9fb4c5b49f8b76614c37210c0000000000000000000000000000000000030a0c141c202224252322201c130b080100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151d202832363a3b3c3b3937342b2a23170900000d23384d627878787874604b3e2e1909000000000000000010253a50657a8a8a8a8a8a87725d47321d0800000000000000152a3f546a7f8a8a8a8a8a806c56412c170000000000051323313f4b55606972787e808283817e7c756c635b4b5566707575757575675f4d3925100000000000000000000000000000000000000000000c21364b6176899eb3b5c2ae99836e5a4835200a00000000000000000000000000000000000000000012273c51677c91a6bccacbc2bebababababababababababababababababababab6a18b76614c36210c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c000000000000000005192b3c546a7f94a6b7b9a79e897d6e6663788ea398836e6d7c8a9ea9babbaa99836e5847331f0a000000000000000000000000000000000000000001080b0d0e100e0c0b070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c11151719191817140f0b0801000000000000000000000000000000000000000000000003111a28323638454b4f5052504f4c483b3f3527170600172c41566c818d8d8d816c5c4a372715010000000000000010253a50657a8f9f9f9f9c87725d47321d0800000000000000152a3f546a7f949f9f9f96816c56412c170000000001132331414e5d65747e878d939698989694918981796a605470848a8a8a8a8a7d67523d27120000000000000000000000000000000000000000091c2f3f53687e93a8b9cccab49f8c78624d38281603000000000000000000000000000000000000000012273c51677c91a6bccbbbaea9a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a18b76614c36210c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c0000000000000000000e21364b6075889db2bcb8a79e91837c76798ea398827a828d9ea8b9beb49f8b79634e3a2a1704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090c181f22262a2d2e2f2d2c2924201d15090600000000000000000000000000000000000000000613212e38454b5256606466676664625957524535230f000d22384d62788b9f9f8c7a645544311d0e0000000000000010253a50657a8fa5b5b29c87725d47321d0800000000000000152a3f546a7f94a9b5ab96816c56412c17000000000f1f30414e5f687b87939ca4a8abadaeaba9a79e978c7f726170859a9f9f9f927c67523d271200000000000000000000000000000000000000000e23384c5d72869cb1c6d6cfbcab96806b5645321e09000000000000000000000000000000000000000012273c51677c91a6bcc2ae9d948f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8b76614c36210c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c000000000000000000091e324557677d919eafbcb8b3a199918a869cb19f8d90989fabb9beb2a095806a5b49351c0c00000000000000000000000000000000000000000000000000000002090b1114161819181614110b09020000000000000000000000000000000000000000000000000000000000000000000001080b10131518191714110d0b050000000000000b0b0b0b0b0a09040000000000000000000000000a151d202a33373b3f42434443413e3935312720190e010000000000000000000000000000000000031324313f4b5660687076797b7c7b7977726d63523f2a16000b2035485a6d8298ab9b8673604b3c2b190500000000000010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c17000000061a2c3d4d5f687d8b9ca5b1b6c2c8bbb4b3b5b9b3aa9f94847670859aafb5a7927c67523d27120000000000000000000000000000000000000006192c3c50657b90a4b6cae4d9c9b39e8975604b362110000000000000000000000000000000000000000012273c51677c91a6bcbea9947f7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7b74604b35200b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c000000000000000000031628394d5f6b80959eb3b9bfb3aeaa9f9ca4b6ab9fabadb5bcb9b4a0988272604a3d2c1a0000000000000000000000000000000000000000000000000003090c161e2126292b2d2e2d2b2926211e160b090300000000000000000000000000000000000000000000000000000000000808141c2025282b2d2e2c29262220190e0903050b0d2020202020201e191004000000000000000003131a2832363a474c51545758595856534f4b4437352c1d140900000000000000000000000000000000112131424e5d65747d858a8f9091908e8c87816d57422d180005192b3c4e63798c9fa3947f695a4835201200000000000010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c170000000c2135495b677d929faab6c3b7b2a9aa9f9e9fabaab2b4a29a8474859aafbca7927c67523d2712000000000000000000000000000000000000000c2035495a6e8399aec2d3dcdeccb8a7927d68533f2e1b080000000000000000000000000000000000000012273c51677c91a6bcbba5907b66656565656565656565656565656565656565656565605544311d080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c000000000000000000000a1b304150626b80919ea7b3b9c5bbb4b1b6c2bcb5bcc7bab4a89e938274605443301f0f0000000000000000000000000000000000000000000000020b161e212832363b3e40424442403e3b363228211e160a010000000000000000000000000000000000000000000000000006101b222630353a3e404243413e3c38352b211e16192022353535353535332c2214040000000000000b161e3138454b535861666a6c6e6e6d6c696460554d493c3126190a000000000000000000000000000009192f404e60687b87929a9fa9a5a7a5a4a59d8a755f4a352000000e21364a5b6e8399ae9e8a78624d40301b0b000000000010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c170000081c2e3f4e63798a9eb4bbbdb1a59d938d8a898a8e959da6b1a29580849aafbca7927c67523d2712000000000000000000000000000000000000031628394d62788c9fb4cacac7c9cdc5b19b86715d4b37220d0000000000000000000000000000000000000012273c51677c91a6bcbba5907b665050505050505050505050505050505050505050504b44372614010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c00000000000000000000001323334451626b7c89959ea7adb2b4bbc8c8c5b8b3afa99f978a7e6d605645362513010000000000000000000000000000000000000000000009151d28323638454b5053555759575553504b45383632281d150900000000000000000000000000000000000000000000000e19212e3736434b4f535557595654514d483c3632282b354a4a4a4a4a4a4a483f32221000000000000b1b2932414d56606870777b7f82838482817e79746b625a4b4437281a0a000000000000000000000000021527374c5e687e8c9da6b0b4bac7bcbbc3b49f8a755f4a35200000071a2d3d4f647a8fa2a899836f5e4d392917030000000010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c1700000e23374b5d70859ba8b9bdb19f97877e78757375798088969fb59f8c899eb3bca7927c67523d2712000000000000000000000000000000000000091e3246576b8196abbcc3b6b2b4b9c6b5a38f7a654f3b2b180500000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3531261909000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c00000000000000000000000516263444515f6776808991979c9faaabb8b3a79e99938a827769604b4538281808000000000000000000000000000000000000000000031119273139464b53566066696b6d6e6d6b69666056524b453931271910020000000000000000000000000000000000000008131c2c353f4b4f546065686a6d6e6c6966625a524b45393c485e60606060605f5c503f2c19000000000b1b2939464b5f67747d858b90949798999896938e8880786a605545382815020000000000000000000000081d314455657b8c9faab7c1b5b0aaa8a5a6a89f8a755f4a35200000000f22374b5d70859ab0a1917c665746331e100000000010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c1700021528384f657a8fa2b4c2b19f9781756962605660636b7681939dab9f9ea7b8bca7927c67523d27120000000000000000000000000000000000000c21364b6175899eb3c9b6a59d9ea8b9c2ad98836e594834200a00000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b26252525252525252525252525252525252525201d140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36210c00000000000000000000000008162634404d58616b767c82878a909aaba19989847e766d62594f4232281a0a0000000000000000000000000000000000000000000613212e37444b5761686e757b7e80828382807e7b756e6860574b44372e20130500000000000000000000000000000000000a1825303c494d5d656c747a7d808283817e7b786f6760574e485a707575757575756e5c48331e0000000417293a4657616e7d88939a9faba9acadaeadaba8a79e968b7f73605645321d1300000000000000000000000b20364b6074879daabbbcb5a39b9592909193968a755f4a3520000000081b2e3f51667b90a4b29d8875614b3e2d190900000010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c1700091d3245566e8399aec0b6a497816c60564d4b454b4e57616c7e939eb5b3b8c5bca7927c67523d27120000000000000000000000000000000000081c2f3f53687e93a7b9c6b29d878a9eb4c9b49f8b77624d38281502000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b261110101010101010101010101010101010100b08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c36211111100e08000000000000000000081622303a474c5761666d72757c90a59983726f6861584c483b321d150a000000000000000000000000000000000000000000081624313f4b556068757d848990939597999795939089837d756860554b3e302316080000000000000000000000000000000b1a2736434a5b636e7a81888f939597989693918b847d7568604d62788a8a8a8a8a8c755f4a35200000000a1f334658617583929da6b0b4bcb9b3b1afb1b3b9b8b3a99f948374604b413019090000000000000000000316283953687e93a5b6bcab9f9386807d7b7c7d8186715c47311c000000001020354a6073869cb1a696816c5c4a37261401000010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c17000b20364b60758a9fb4c5b19c8674604b453835323639464b606b8095a4b6c9d5bca7927c67523d271200000000000000000000000000000000000e23374b5d71869cb1c5b9a8937e8197acc0bbaa95806b5645321d09000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b261100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c3626262625231c1103000000000000000004121c2a3339464b51585563788ea398836e54534c473a342a1d140200000000000000000000000000000000000000000007162634424e5d65747e8892999fa8a8aaacaeacaaa8a89f9992887e74645c4d4133261606000000000000000000000000000b1b28384554606a78838f979da6a8aaacaeaba9ab9f9a92897d6f6262778d9f9f9f9f8a755f4a352000000a1a31424c61768499a1b3b7b8b3aba89e9b999b9ea7afb3bab4a199836e5f4d372614010000000000000000091e3245576f849aafc3b59f8d7e716a686666686c716856432f1a000000031729394859677d92a7b49f8c7a645544311d0a000010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c170010253a50657a8fa9bab9a7927d6756453228201d202933424b6074869cb1c3d4bca7927c67523d27120000000000000000000000000000000005192b3c50657b90a4b5c9b49e8975798ea2b4c8b39e8875604b362010000000000000000000000000000000000012273c51677c91a6bcbba5907b66503b261100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76614c3c3c3c3c3a372e2111000000000000000000000c171f2932363c374e63788ea398836e58363733291f180d0000000000000000000000000000000000000000000004152534445160687b87939da6aeb4bac6c9bcb4bcc9c6bab4aea69d93867a675f50443324140300000000000000000000000316283946566072808b99a1acb3b8c4c8bbb4b3b9bcb5afa79e92847863778da2b5b49f8a755f4a352000021628384e606e8399a3b3bdb1a69e958d8986848689909aa2b0bdb3a1927d675544311d0800000000000000000b21364b60768a9fb4c8ac97816c605553505153575c564a3927140000000a1e3346576277849aafbcab9b8573604b382815020010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c1700152a3f556a7f94aac7b39e8975604b3828160b090b171e314556667b90a5b7cabca7927d67523d2712000000000000000000000000000000000b2035485a6e8399aec2c0ac97816c70849aafc3b8a6927d67523e2e1b070000000000000000000000000000000012273c51677c91a6bcbba5907b66503b261100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76615151515151504b3f2e1c0800000000000000000000040b161e2127394e63788ea398836e58432e1f170c0500000000000000000000000000000000000000000000001222324351626b7e8b9ca5b3b7b9b3ada6a3ab9faba3a6adb3b8b7b2a49c8b7d6b62504232211100000000000000000000010f1e324657617482959faab3bfb6b2aba4aa9f9ea7a2a7aeb4b3a1998979788da2b7b49f8a755f4a352000091e324556687e93a1b3bbb49f9688807874716f71747b84969fb0bfb29d8874604b35200b00000000000000000e24394e63798ea9babbaa8e78634e423d3b3c3e414743392c1b0a0000000c21364b6175869aa2b4c9b5a3937e695645321d090010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c1700172c42576c8197acc1af99846f5645321a0a000000031527384b6074879db2c7bca7927d67523d2712000000000000000000000000000000031628384d62788b9fb4cab3a28e7963677c91a5b7c4b09b85705c4a36220d0000000000000000000000000000000012273c51677c91a6bcbba5907b66503b261100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b6a18b76666666666666655d4b37230e000000000000000000000000030a0e23394e63798e9898836e58432e19040000000000000000000000000000000000000000000000000d1d2f404f616b80939faab6b9b4a79e98918d8b8a8b8d91989ea7b4b9b6a99f92806b604f3f2e1c0c0000000000000000000f1f31424b61758498a0b4bbb8b3a59d968f8c8a898b8d92989fa9b5a79d877a8fa4bab49f8a755f4a3520000b21364b6074889db3bbaa9f9381746b625a5c5a5c5d656f8196a2b4b7a68f7a65503a2510000000000000000010253b50657a90a5c7b49f8a75604b35282627282c312f271b0d00000000132536556a7f95a4b4c0d0c1b39d8875604b36200b0010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c1700192e43586e8398adc0aa95806b5538281600000000000a1c3043546b8095aac9bca7927c67523d2712000000000000000000000000000000091e3245566b8096aabbc3af9a846f5b6074879db2c7b5a38f7a644f3b2a180500000000000000000000000000000012273c51677c91a6bcbba5907b66503b261100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9bca7927d7b7b7b7b7b7b7a65503a251000000000000000000000000000000d22374d62788283837e69543e291400000000000000000000000000000000000000000000000005192b3b4c5e6a7f949eb4bbb5a89e9589827c78767576787c8289959ea8b5bab49e937e695d4b3a2a180400000000000000061a2c3d4e606d8298a2b2beb4a69d9287807a77757475787d838a989faba59d889db3c8b49f8a755f4a3520000f243a4f64798a979fab9f8c7e6c60564d493c443f4b506073859ab0c4ab96816b56412c16000000000000000012273c51677c91a6bcb29d87725544311d111113171c1a140a00000000071c30435472879cb1c2d0dfcbb7a6907b65503b26100010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c17001a2f455a6f849aafbea9937e69543e291400000000000114263650667b90abbcbca7927c67523d27120000000000000000000000000000000b21364b6075899eb3c8b6a5917c6651556a7f94a9bac1ad98826d5947341f0900000000000000000000000000000012273c51677c91a6bcbba5907b66503b2612121212121212121212121212110f0900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9bfac9b9291919191919185715c46311c00000000000000000000000000000b20344859626e6e6e69604f3b26120000000000000000000000000000000000000000000000000b20344859667c8d9fb4bcb4a49c8a7f756d676361586163676d757f8a9ca4b4bcb49f8c7b655847331f0e000000000000000c2136495b687e93a0b2bfb3a29a887d736b656160566062676e78828d9fa8a69da6b7cab49f8a755f4a3520000d22374b5c6477828c99947f6a604b4538352c2f2e374354687e93a8bdae99836e59442e19000000000000000012273c52677c91a7bcb09b85705b3727150100000207050000000000000b20354a60758a9fb4cadfe7d4c4a8937e69533e29140010253a50657a8fa5bab29c87725d47321d0800000000000000152a3f546a7f94a9bfab96816c56412c17001b30455a70859aafbda7927d68523d28130000000000000c21364c61768b9fb5bca7927c67523d27120000000000000000000000000000081c2e3f53687d92a7b8c6b29d8773604b4c61778a9fb4c9b49f8a77624c37271502000000000000000000000000000012273c51677c91a6bcbba5907b66503b272727272727272727272727272726231c11030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9bfb9aca7a6a6a6a6a69b86715c46311c000000000000000000000000000005192b3b484d585858544f42321f0c0000000000000000000000000000000000000000000000061a2c3d4d6278899eabbcb4a29a86786a6157514e4c464c4e5157616a78869aa2b4bbaa9e8977614c3c2b19050000000000071a2d3d4e63798b9fb4beb3a19984766860544f4c4a454b4d5259626d7c8a9ea8b3b7c4cab49f8a755f4a352000071b2e3e4b59626d79848773604b42322820191a19273851667c91a6bbb09b86705b46311b000000000000000012273c52677c91a7bcb09a85705b45301b000000000000000000000000071c30435472889db2c7d8dfcfbcab917c67513c27120010253a50657a8fa5bab29c87725d47321d0000000000000000152a3f546a7f94a9bfab96816c56412c17001b30455a70859aafbca7927c67523d27120000000000000a1f33465873889eb3bca7927c67523d271200000000000000000000000000000e23374b5d71869cb1c5baa8947f69544347596d8298adc1baa9957f6a5544311d08000000000000000000000000000012273c51677c91a6bcbba5907b66503c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b382f22110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9b0b0b0b0b0b0b0b0b09b86715c46311c0000000000000000000000000000000d1d2b34374343433e3b3224140200000000000000000000000000000000000000000000000c2135495b6d8297a8b9b7a59a8475625a4b4639383633363839464b5a6276849aa6b7b8a796816b5a4835200800000000000c21364a5b6e8398a9bab6a499837461584b433637353236383b484d5e667a8a9eb3bdcecab49f8a755f4a3520000010202e3b484c5b636f77625544311d15161e212d3745566a7f94a9bfb09b85705b46301b000000000000000012273c52677c91a7bcb09a85705b45301b06000000000000000000000000132536596e8398a9bac8cac1b59f8c78624d38220d0010253a50657a8fa5bab29d87725d4825130000000000000000152a3f546a7f94a9bfab96816c56412c17001b30455a70859aafbca7927c67523d27120000000000000417293a5c72879cb1bca7927c67523d27120000000000000000000000000005192b3c50657a8fa4b5c9b49f8a76614c363a4f647a8ea3b4c7b29d8874604b362010000000000000000000000000000012273c51677c91a6bcbba5907b6652525252525252525252525252525252504c402f1c0900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f546a7f949b9b9b9b9b9b9b9b9b9b9b86715c46311c000000000000000000000000000000000d1920222e2e2e29261f14060000000000000000000000000000000000000000000000021528384e63798c9fb4bcab9d87766157483c322823211f212328323c48586176879db2bfb49f8b78624d36261401000000011527374e63798c9fb5bbaa9c86756156473a302622201d20232b34404c5c677d919fb1c8cab49f8a755f4a3520000002101d2b343d4a4e5962594837271f212932363d4a556074869bb1c3ae99846e59442f19000000000000000012273c52677c91a7bcb09a85705b45301b060000000000000000000000000e23394e63798b9faab3b4b0a397816c5a4835200b0010253a50657a8fa5bab39e88735443301c0700000000000000152a3f546a7f94a9bfab96816c56412c17001b30455a70859aafbca7927c67523d2712000000000000001b30465b70859bb0bca7927c67523d2712000000000000000000000000000b2034485a6e8398aec2c0ac97826c584733364a5c70859bb0c4b7a6917c67523e2d1b070000000000000000000000000012273c51677c91a6bcbba5907b6767676767676767676767676767676767665e4c38230f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013283d52687d858686868686868686868686836d58432e180000000000000000000000000000000000050b0d19191914120c02000000000000000000000000000000000000000000000000091d3245566d8298aabbb49f8c7a645847392b1e160e0c0a0c0e161e2b3a4758657b8fa1b3baa997816c5443301c08000000081d3144556d8298abbcb49f8c7963574638291c140c0b090b0d19202f3e4d5f6d8297aabbcab49f8a755f4a3520000000000d18202d363b484c483b2b29333739464b525c64738197a3b5bfaa947f6a553f2a15000000000000000012273c52677c91a7bcb09a85705b45301b060000000000000000000000000c21364a5b687e8b999e9f9b948475614b3c2b19050010253a50657a8fa5bab49f8a75604a35200b00000000000000152a3f546a7f94a9bfab96816c56412c17001b30455a70859aafbca7927c67523d2712000000000000051b30455a70859aafbca7927c67523d2712000000000000000000000000021628384d62788b9fb4cab4a28e79634e3a292d3e52677d92a6b8c4b09a85705c4a36220c0000000000000000000000000012273c51677c91a6bcc0ab95807c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c66503b26110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010253a4e5f687171717171717171717171716d64533f2b160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20364b6075899eb4c2ad98836e5c4a3a2a1b0e030000000000030e1b2a3a4b5d6f8399aec3b39e8874604b35200b0000000b20354b6075899eb3c2ad97826d5b4a39281a0c01000000000005122030414d62788b9fb4c9b49f8a755f4a35200000000000050f1a212b34373432363a474c52576168707985979fb1c1b3a18e79634e39240e000000000000000012273c52677c91a7bcb09a85705b45301b06000000000000000000000000071a2d3d4e60687a84888a867f73615746331e0e000010253a50657a8fa5babbaa8c77614c37210c00000000000000152a3f546a7f94a9bfab96816c56412c17001b30455a70859aafbca7927c67523d2712000000000000051b30455a70859aafbca7927c67523d2712000000000000000000000000091e3245566b8095aabbc3af9a85705b4a361c20364b6075889db3c8b4a28e79644e3a2a170400000000000000000000000012273c51677c91a6bcc3b09e95919191919191919191919191919191919185715c46311c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1e31414e525b5b5b5b5b5b5b5b5b5b5b5b5853463523100000000000000000000000060c0e1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1b1913090000000011263b50667b90a8b9b6a48e79634e3e2e1c0c0000000000000000000c1c2e3f4f647a8fa5b7b8a78f7a644f3a250f00000010253a50657a8fa8b9b5a48d79634e3d2d1b0b000000000000000002122034485a6d8297adc8b49f8a755f4a352000000000000000070e19263138454b525861676e767d858e9ba3b1bdb9a799836f5b4a36210c000000000000000012273c52677c91a7bcb09a85705b45301b06000000000000000000000000000f1f31424e5c646f7375716a60554639291700000010253a50657a8fa5bac8a5907b66503b261100000000000000162b40556b8095aac0ab96816c56412c17001b30455a70859aafbca7927c67523d2712000000000000051b30455a70859aafbca7927c67523d27120000000000000000000000000b21364b6075889eb3c8b7a5917c67513d2d1a1d3145566a8095aabbc0ac97826d5847331f0900000000000000000000000012273c51677c91a6bccdbcb0aba7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a79b86715c46311c07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011323313a3d464646464646464646464646433f35281806000000000000000000000e1921233232323232323232323232323232323232323232323232323232323232312e261b0d000002172c42576c8197acc6b19c86715b4a36201000000000000000000000001122374b5c72879db2c5ab95806b56402b16010001162b40566b8095abc6b19c86715b49351f0f0000000000000000000005192b3c51667b90aabbb49f8a755f4a3520000000000000000e1e2b37444b5660676f767d838a929aa2b0b5c1b7a89e8978634d3d2d1a07000000000000000012273c52677c91a7bcb09a85705b45301b0600000000000000000000000000011424313e4a4f59566056544b4437291b0b00000010253a50657a8fa5babfaa95806a553f2e1b08000000000001152737576c8197acbfaa95806a55402b15001b30455a70859aafbca7927c67523d2712000000000000051b30455a70859aafbca7927c67523d27120000000000000000000000081b2e3f52687d92a7b8c7b29d8774604b35200f1527384d62778b9fb4c9b49f8a77614c37261401000000000000000000000012273c51677c91a6bcd1cdc3c0bcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb19b86715c46311c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005131e25283131313131313131313131312e2b23180a000000000000000000000e1e2c353847474747474747474747474747474747474747474747474747474747474642382b1b0900061b31465b70859bb0c1ab96816c563d2d1a020000000000000000000000081b2e3e576d8297acc2af9a846f5a452f1a0000051a2f455a6f849aafc0ab96816b563d2c1a0100000000000000000000000d21364b61768a9fb4b49f8a755f4a35200000000000000e1f2c3c48556069757d848b92999fa9b0b4c0bab4a69d8a7c655a49351f0f00000000000000000012273c52677c91a7bcb09a85705b45301b0600000000000000000000000000000614202d363938454b4538353126190b0000000010253a50657a8fa5bac6b19b86715d4b3722130200000000081d3144556f849aafbea8937e69533e2914001b30455a70859aafbca7927c67523d2712000000000000051b30455a70859aafbca7927c67523d271200000000000000000000000e22374b5d71869bb1c5baa9947f6a5544311d080a203448596e8398adc2baa9947f6a5544311d08000000000000000000000012273c51677c91a6bcd5c5b8b3b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b19b86715c46311c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b10131c1c1c1c1c1c1c1c1c1c1c1c181610060000000000000000000006192c3c494d5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5b5649382613000417293a5d72889db2bca7927c67523d27120000000000000000000000000013283e53687d93a8bdb19c86715c3727150200071c31465c71869bb1bca7927c67523d27120000000000000000000000000a1e32465771869cb1b49f8a755f4a352000000000000b1b2c3d495a62737e8892999faaaeb4bac2b6b1a99f96877a655e4c3c2c190100000000000000000012273c52677c91a7bcb09a85705b45301b0600000000000000000000000000000002101b22242731363127201d1409000000000010253a50657a8fa5bac9b5a38f7a644f41302011060000051325364b6075899eb4c5a7917c67523c2712001b30455a70859aafbca7927c67523d2712000000000000051b30455a70859aafbca7927c67523d27120000000000000000000005182b3b4f657a8fa3b5c9b49f8a77614c3726140105182b3b4f657a8fa3b5c7b29d8774604b35200f000000000000000000000012273c51677c91a6bcccb8a79e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9b86715c46311c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c2135495b637272727272727272727272727272727272727272727272727272727272706756422e19000a1f334658748a9fb4baa5907a65503b25100000000000000000000000000011273c51667c91a6bbb39e89735544311d0800091e33485e73889db3baa5907a65503b2510000000000000000000000000031629395a6f859aafb49f8a755f4a35200000000003172939495b637885939da6afb4bbc3b7b2aca49c938a8175645c4c402f1e0e0000000000000000000012273c52677c91a7bcb09a85705b45301b060000000000000000000000000000000000070d0f151d201d150b080100000000000010253a50657a8fa5bad2c1ae99836f5f4d3e2f211915141820304354667c91a8b9b8a68e79634e39240e001b30455a70859aafbca7927c67523d2712000000000000051b30455a70859aafbca7927c67523d2712000000000000000000000b203448596e8398adc1c0ad97826d584733190900000d23374b5d71869bb1c5b7a5917c66513d2d1a070000000000000000000012273c51677c91a6bcc8b39e888888888888888888888888888888888888836f5a452f1a0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090b0d0d0d0d0d0b090200000000050b0d0d0d0d0d0c0a04000000000e23384d6379868787878787878787878787878787878787878787878787878787878785705b46311b000c21364c61768ba9bab8a38e79634e39240e0000000000000000000000000010253a4f657a8fa4bab8a78b75604b36200b000a20354a5f758a9fb4b8a38e79634e39240e00000000000000000000000000192e43586e8398adb49f8a755f4a3520000000000a1e3346576379889ba2b3b7c3b7b2aaa59d968f867e766c61574a3e2f2111000000000000000000000012273c52677c91a7bcb09a85705b45301b06000000000000000000000000000000000000000002090b090200000000000000000010253a50657a8fa5bacfc7b3a1927d675c4c40352c2a292b34414a6072859bb0c6b39e8873604a35200b001b30455a70859aafbca7927c67523d2712000000000000051b30455a70859aafbca7927c67523d2712000000000000000000021528384d62778b9fb4cab4a28e79644f3a2a18000000081c2e3f53687d92a7b8c3af9a846f5b4a36210c0000000000000000000012273c51677c91a6bcbba5907c73737373737373737373737373737373736f6554412d180300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a161e212222222222201d150a00000e19202222222222211f170c0000000e23394e63798e9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c89745e49341f000b20364b60758ba7b8b9a48f79644f3a240f0000000000000000000000000010263b50657b90a5bab49f8a745544311d08000a1f34495f74899eb4b9a48f79644f3a240f00000000000000000000000004192f44596e8499aeb49f8a755f4a352000000005182b3b4c6176879da6b4c0b5b1a59d958e87817a716961584b46392d201103000000000000000000000012273c52677c91a7bcb09a85705b45301b060000000000000000000000000000000000000000000000000000000000000000000010253a50657a8fa5bad4cabfb39e897a655e4d493c3f3f3b484c5f697e93a3b4c1ad98836e5443301c07001b30455a70859aafbca7927c67523d2712000000000000051b30455a70859aafbca7927c67523d2712000000000000000000091d3245566b8095aabbc4b09b85705c4a361c0c000000001121364b6075899eb3c9b4a28e79634e3a29170400000000000000000012273c51677c91a6bcbba5907b665d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5a544737251200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1a28323638383838383631271a0a0e1e2b3538383838383733291c0c00000e23394e63788ea3b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b19e89745e49341f00091d31455673899eb3bba6917b66513c26110000000000000000000000000012283d52677d92a7bcb29d87725d3727150200081d32475d72879cb2bba6917b66513c2611000000000000000000000000061a2c3d5b70859bb0b49f8a755f4a35200000000b203448596c8197a5b6beb2a39b91878079726c655d544c463a33291b10020000000000000000050b0d0d12273c52677c91a7bcb09a85705b45301b0d0d0d0d0d0b050000000000000000000000000000000000000000000000000000000010253a50657a8fa5bac3b7b2b1a79e8a7b6d635b5754545659626d7d8c9fb4c1b4a38f7b655036251300001b30455a70859aafbca7927c67523d2712000000000000051b30455a70859aafbca7927c67523d27120000000000000000000b20364b6075889eb3c8b7a6917c67523e2d1b0000000000091e3245566b8096abbcc0ac97816c5846331f0800000000000000000012273c51677c91a6bcbba5907b66504848484848484848484848484848484541372919080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003162838454b4d4d4d4d4d4b45382715192b3c484d4d4d4d4d4c473a291704000e23394e63798ea3abababababababababababababababababababababababababab9e89745e49341f00021527385c71879cb1bea9937e695438281602000000000000000000000003172939556a7f95aabfb09b85705b46301b0000061b30455b70859ab0bea9937e69543827150200000000000000000000000c2136495b73889db3b49f8a755f4a35200000000d22374d62778b9fb4c2b2a098867c746a645c574f4b3f3633291e170b0000000000000000000d181f222222273c52677c91a7bcb09a85705b453022222222222220180d00000000000000000000000000000000000000000000000000000010253a50657a8fa5bab7a59d9ba3a89e908278716c6a696b7077828d9faabbbbaa9b85705d4b37180800001b30455a70859aafbca7927c67523d2712000000000000051b30455a70859aafbca7927c67523d27120000000000000000081b2e3e52677d92a6b8c7b39d8874604b3620100000000000031628384d62788c9fb4c9b49f8a76614c36261401000000000000000012273c51677c91a6bcbba5907b66503b33333333333333333333333333332f2d25190b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091e324556606262626262605645311d2035485a6262626262615847331f0a000e23394e63798e9696969696969696969696969696969696969696969696969696969689745e49341f00001a2f44596f8499aec4ae99846f5645321e0a00000000000000000000000a1e33465770859aafc9ad98836d58432e18030003182e43586d8398adc2ae99836e5645311d0900000000000000000000011426364e63798ea6b7b49f8a755f4a352000000014293e54697e93aabbb6a49882746660554f4a3e3a372e30353026181405000000000000000d1d2a34373737373c52677c91a7bcb09a85705b4537373737373737342b1d0d000000000000000000000000000000000000000000000000000010253a50657a8fa5bab29d87869ba8b4a0988d86817f7e80858b979fabbbbdb49f8c7b654f3f2e1c0000001b30455a70859aafbca7927c67523d2712000000000000051b30455a70859aafbca7927c67523d271200000000000000000d22374b5c71859bb0c5baa9957f6a5544311d080000000000000a2035495a6e8399aec2baa8947e695443301c08000000000000000012273c51677c91a6bcbba5907b66503b261e1e1e1e1e1e1e1e1e1e1e1e1e1a1812080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b21364b6076787777777874604b362022384d62787777777876614c37210c000d22374c62778080808080808080808080808080808080808080808080808080808080806b55402b16000014293e54697e93a9c2b49e8975604b38271502000000000000000000031628394b61768a9fb4bcab927d68523d281300000013283d53687d92a8c2b49e8975604b37261401000000000000000000081c304354697e93a9c4b49f8a755f4a3520000004192e44596e8399aec8b19c867460564b4437362d252b36434b43363120180d000000000005182a3b484c4d4d4d4d52677c91a7bcb09a85705b4d4d4d4d4d4d4d4d483b2b180500000000000000000000070b0e100c0a03000000000000000010253a50657a8fa5bab29c87798a9ea9b2ada39b969494969a9faab5bcbcb49f947f6a5d4b3721110000001b30455a70859aafbca7927c67523d2712000000000000051b30455a70859aafbca7927c67523d27120000000000000005182b3b4f647a8fa3b5c9b49f8a77624c3727150200000000000006192b3c50657b90a4b6c6b29c8773604b35200f000000000000000012273c51677c91a6bcbba5907b66503b26110808080808080808080808080503000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011263c51667c8d8d8d8d8d7a644f3a24344a5f748b8d8d8d8d806c56412c17000b1f344859626b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b62503d281300000d23384d62788da4b5b9a8937e685645311d13040000000000000004131e324557697f94a9bab49f8b77614c37220c0000000d22374d62778ca4b5b9a8927d685544311d1202000000000000000a182a3a4b6073869cb1c7b49f8a755f4a35200000061c31465b71869bb0bda8937e685545383126221d2b3b485460544e42342b1d13050000000b1f344859626262626262677c91a7bcb09a8570626262626262626262594834200b000000000000000008131c202325211e160b0500000000000010253a50657a8fa5bab29c87727c8a9ca4b4b5b1aca9a9abafb4bbbfb3ab9f948172604a3f2e1b030000001b30455a70859aafbca7927c67523d2712000000000000051b30455a70859aafbca7927c67523d2712000000000000000b203448596d8398adc1c1ad98826d594834190900000000000000000e20354a6073869cb1c6b6a5907b66513d2c1a060000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011263c51667b91a2a2a28f79644f3a24344a5f74899fa2a296816c56412c170005182a3b484c565656565656565656565656565656565656565656565656565656565655504433210d00000b2035495a71869cb1c3b29d8774604b41311f170c06000000060c171f31414b6075889eb3c1b09b85705947341f0a0000000b2034485971869cb1c3b29c8773604b402f1e160a04000000070f1a28364758677c91a4b6cab49f8a755f4a35200000071d32475c72879cb1baa5907a655038292322252f3b4859627468604d483b3023130100000d22374c62777777777777777e93a8bdb09b8577777777777777777777624d37220d00000000000008131c253035383a36322920180d000000000010253a50657a8fa5aaaa9c8772657986969ea8afb3b5bcc8bbb4b0aaa1998c7f6d605443302110000000001b30455a70859aafbca7927c67523d2712000000000000051b30455a70859aafbca7927c67523d2712000000000000021527384c62778b9fb4c9b5a38f7a644f3b2a18000000000000000000071c304354697e93a8b9c3af99846f5b4935210b0000000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011263c51667b91a6b7a48f79644f3a24344a5f74899fb4ab96816c56412c1700000d1d2a34374141414141414141414141414141414141414141414141414141414141403d33261504000006192b3c53687e93a4b6b7a596816c5f4e42332a211a17151719212a33424e5f6c8197a6b8b5a3917c67523a2a180400000005182b3b53687e93a5b7b6a595806a5e4c4032281f171514161a212c3845546176879db2c2cab49f8a755f4a35200000051b30455a70859aafbca7927c6756463938373a3f4b596277877e6f62594d41301e0a00001d32475d72878c8c8c8c8c8c939cadc1b5a39b8c8c8c8c8c8c8c8c8c8b755f4a352000000000000818253036434a4e4f4b4639342b1d0e0000000010253a50657a8f9595959587725b6374808992999d9faba3aa9f9b958e847a69614a4336251303000000001b30455a70859aaaaaa7927c67523d2712000000000000051b30455a70859aaaaaa7927c67523d2712000000000000091d3145566a8095aabbc4b09b85705c4b371d0d000000000000000000001325364b6176899eb4c9b59f8c79634e3929170300000000000012273c51677c91a6bcbba5907b66503b26110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011263c51667b91a6b9a48f79644f3a24344a5f74899fb4ab96816c56412c170000000d181f222b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b28211507000000000e20354b6074879cb2bfb09e917d68604c473a352c2c2a2c2c353a474c60687d929fb1beb19b8672604a35200c00000000000d20364b6074879db2c0b49f8d7c665e4b453833292a292b2d363d495660728399a6b7cbcab49f8a755f4a3520000003182d42586d8297adc3b09b85746157504d4d4f535d6577859b938377675f4d39251000001d32475d72879ca2a2a2a2a2a8adbacbc1b5b0a2a2a2a2a2a2a2a29f8c755f4a35200000000000132536434a5460636561574d483b2c1e0e0000000d22384d62787f7f7f7f7f7e695356606b757d84888a8d8e8c8a86807a6f645c4f433025180800000000001b30455a708495959595927d67523d2712000000000000051b30455a708495959595927d67523d27120000000000000b20364b6075889db3c8b8a6927d67523e2e1b0000000000000000000000081e3346576c8196acc0bcab96816c5746331e0800000000000012273c51677c91a6bcbba5907b66503b26110707070707070707070707070707070707000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011263c51667b91a6b9a48f79644f3a24344a5f74899fb4ab96816c56412c1700000000050b0d161616161616161616161616161616161616161616161616161616161616130d040000000000081d314455677c91a1b3bdb49f8c7e6c61584e493d4140413c494d58616c7e8c9fb4bdb2a0907b665443301c070000000000091d314556687e93a2b4bcab9f8a7c6a60564c473a3f3e403d4a4e5b63748298a1b3c4cdcab49f8a755f4a352000000011263c51667b91a5b7b4a39983756b6562626568717b889ba3a199897d67523c271200001d32475d72879cb2b7b7b7b7bdc1cbd8d2c9c5b7b7b7b7b7b7b7b49f8a755f4a352000000000071c304354606873787a766f6259493c2c180800000b2035485a626a6a6a6a6a69604f454b5760676f737578787774716a645c4e4a3e321c130800000000000013283d52687d7f7f7f7f7f79634e39240e0000000000000013283d52687d7f7f7f7f7f79634e39240e0000000000071b2e3e52677d92a6b8c8b39e8875604b3620100000000000000000000000031729394e63798da2b3c9b49e8976614b36251300000000000012273c51677c91a6bcbba5907b66503b261d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d0c0a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011263c51667b91a6b9a48f79644f3a24344a5f74899fb4ab96816c56412c170000000c171f21292929292929292929292929292929292929292929292929292929292929261f140600000000011527374a60728399a4b5bbaa9f9281766a635b59575556595b636a7681939faabbb5a398826d5e4c362513000000000000021527384b6073859ba7b8baa89f8c7f7568615857555456585c646c798598a0b0abb0bdcab49f8a755f4a35200000000b20354b6074879db2bcb3a19989807b78777a7e85909da6b5b3a498836e59432e1904001d32475d72879caaaaaaaaaaaeb2becfc3b7b2aaaaaaaaaaaaaaaa9f8a755f4a3520000000091d30404a60727e898d8f8b8477635a49362513000005192b3c484d5555555555534f423239454b525a56606263616054554f4a3e362d2014000000000000000010253a4e5f686a6a6a6a6a635b4a36210c0000000000000010253a4e5f686a6a6a6a6a635b4a36210c00000000000d22364a5c70859bb0c4bbaa95806b5645321d090000000000000000000000000b2135495b6f849aafc3b9a8937e695443301c07000000000012273c51677c91a6bcbba5907b66503b32323232323232323232323232323232323232211e170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011263c51667b91a6b9a48f79644f3a24344a5f74899fb4ab96816c56412c1700000c1c2a33373e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3a3124140200000000091c3043546175869ca7b6bbb49f97897f78726e6c6a6c6e72787f89979fb4bbb5a69b8574604b402f1808000000000000000a1d3144556278899eaab9baaa9f94877d766f6c6a696b6d7279818c9ba3b09f969fb0cab49f8a755f4a3520000000081d314455667c909eb4bab3a79e96908d8c8f939ba3b3b7b3a69c8675614b36210c00001d32475d728795959595959598a0b2c6b7a59d9595959595959595958a755f4a35200000000f24394c5e6d81939ea7ab9f998978635443301c0700000e1e2b353840404040403e3b321d2832363d38454b4d4e4c4a433639362d211a0f0100000000000000000b1e31414e5255555555554e4a3d2d1a07000000000000000b1e31414e5255555555554e4a3d2d1a070000000005182a3b4f647a8fa3b4cab49f8b77624d38281502000000000000000000000000061a2c3d51667c91a5b7c6b19c8673604a35200e000000000012273c51677c91a6bcbba5907b665047474747474747474747474747474747474747473633291b0b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011263c51667b91a6b9a48f79644f3a24344a5f74899fb4ab96816c56412c170004172a3a474c5454545454545454545454545454545454545454545454545454545454534e42311f0b000000000013253646576278899ca4b3bdb1a79e948d8783817f8183878d949ea7b1bdb2a39b88786256453222120000000000000000011527374859657c8c9ea8b8bbb4a59d928b85817f7e8082878e969faab49e958196abc1b49f8a755f4a3520000000011527374c5e6a7f939fa9b5b9b3aba5a2a2a4a8b0b5b7b2a1998879635746321e0a000014293e53697e7f7f7f7f7f7f8298aec3b29d877f7f7f7f7f7f7f7f7f7f6a55402a1500000011273c51667c91a0b3b8bcb4a79a8472604a35200b0000000e1920222a2a2a2a2a29261f14161e212727313638393735302524221b100700000000000000000000011323313a3d404040404039362d1f0f0000000000000000011323313a3d404040404039362d1f0f00000000000b1f3447596d8298adc1c2ad98836e5948341a0a00000000000000000000000000000f20354b6073879db2c7b6a4907b65503c2c19060000000012273c51677c91a6bcbba5907b665c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c4b4639291703000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011263c51667b91a6b9a48f79644f3a24344a5f74899fb4ab96816c56412c17000a1f33475861696969696969696969696969696969696969696969696969696969696968604e3a2611000000000008182939495a62788699a1b2b7b8b3aaa49c98969596989ca4aab3b9b6b2a19985786259483828160400000000000000000009192b3b4c5e667c8a9da6b4bcb7b2aa9f9a97949395989da5acb4ab9f9580788da2b7b49f8a755f4a35200000000009192f4050616a7e8b999fabafb4b9c6c7bab4b2ada59d938477635b4939291603000012263b4f60696a6a6a6a6a6a7c91a7bcb09a85706a6a6a6a6a6a6a6a6a61503c28130000051a2f455a6f849aafbecccfc5b4a28e79634e39240e00000000050b0d151515151514120c0203090b12151d20232322201c130f0d070000000000000000000000000005131e25282a2a2a2a2a24211a0f0100000000000000000005131e25282a2a2a2a2a24211a0f0100000000021527374c62778a9fb4c9b5a38f7a654f3b2b18000000000000000000000000000000081c304354697f94a9bac2ae99836e5a4935200a0000000012273c51677c91a6bcbba5907c72727272727272727272727272727272727272727272615746331e0a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011263c51667b91a6b9a48f79644f3a24344a5f74899fb4ab96816c56412c17000c21374c61767e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e68533e29130000000000000b1b2c3c495a627583929da5b2b7c2b6b1aeacaaabaeb1b6c2b7b2a59d928375625a483b2b1a0a00000000000000000000000d1d2f404c5e667a88979fabb4bcbbb4afacaaa9abadb2b6b2a49c8c806b788da2b7b49f8a755f4a352000000000001222334350606979848c959a9ea8a2a3a99f9c9790877e726259493d2c1b0b0000000c1f32424f535555555555677c91a7bcb09a85705b5555555555555555504333200d0000091e34495e73899eb3c8dee3d1c0a7927d68523d2813000000000000000000000000000000000000000002090b0d0e0c0b07000000000000000000000000000000000000010b101315151515150e0c07000000000000000000000000010b101315151515150e0c07000000000000081d3144556a7f95a9bac5b19b86715d4b371d0d000000000000000000000000000000011426364c61768a9fb4c9b49f8c78624d3928160300000012273c51677c91a6bcc8b29d878787878787878787878787878787878787878787878675614b36210c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011263c51667b91a6b9a48f79644f3a24344a5f74899fb4ab96816c56412c17000e23394e63798e9393939393939393939393939393939393939393939393939393939389745e49341f000000000000000e1e2c3c495761737d87939da5aab0b3b4bcc9bcb4b3b0aaa59d93877d726157483c2b1d0d0000000000000000000000000011212f404c5c6477828c9a9fabafb3b4bcc5b8b3b1aca59c94867a6b62778da2aaaa9f8a755f4a3520000000000004152533424f5b636f787f85898c8d8e8c8987827b73696054473b2c1f0e00000000021424323b3e4040404052677c91a7bcb09a85705b45404040404040403c332515030000091e34495e73899eb3c8dee4d1c0a8927d68533d2813000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20364b6074889db2c7b8a7927d68533f2e1c0000000000000000000000000000000000081f3347586d8297acc0bcab96806b5745321e0900000012273c51677c91a6bccbb7a69d9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c8b76614c36210c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011263c51667b91a6b9a48f79644f3a24344a5f74899fb4ab96816c56412c17000e23394e63788ea3a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a99e89745e49341f00000000000000000e1e2c3946546067747e878e949b9d9faba3ab9f9e9b948e877e7467605446392b1e0e00000000000000000000000000000312222f3e4a59626d7a848b939a9d9faba3a79e9b978f877f75645d62788d959595958b755f4a3520000000000000071524323d494e5a626a6f747678797674726d6560544a43362a1d0e00000000000006141f26292a2a2a3c52677c91a7bcb09a85705b45302a2a2a2a2a2a28201507000000051a2f455a6f849aafbecdd1c5b4a28e79634e39240e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071b2d3e52677c91a6b7c8b39e8975604b362111000000000000000000000000000000000004172a3a4e64798ea2b4c9b39e8975604b36211100000012273c51677c91a6bcd4c4b7b2b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1a18b76614c36210c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011263c51667b91a6b9a48f79644f3a24344a5f74899fb4ab96816c56412c17000e23394e63788ea3b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b39e89745e49341f0000000000000000000e1b2936434b56606972797f85888a8c8e8c8a88857f79726960554a4336281b0e000000000000000000000000000000000412202d3b474c5c646f777e84888a8c8e8b8986827a726a60564c61767f7f7f7f7f7f6a55402a150000000000000006141f2c353c494d55546061636361585d58504b43363025180d0000000000000000020c12141515273c52677c91a7bcb09a85705b45301b1515151515130d03000000000012273c51677c91a0b4bac0b4a79a8572604a35200b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d22364a5c70859bb0c4bbaa96806b5645321e090000000000000000000000000000000000000c21364a5c70859ab0c4b9a7937d68533f2e1c08000012273c51677c91a6bcbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb6a18b76614c36210c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011263c51667b91a6b9a48f79644f3a24344a5f74899fb4ab96816c56412c17000e23394e63798ea0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09e89745e49341f000000000000000000000b18263038454b545b636a7073757779777573706a635b534b44373025180b00000000000000000000000000000000000002101d2a343e4a4f5962686f737577787673716d655d544b454658616a6a6a6a6a6a61503c28130000000000000000000e1a212b353836434a4c4d4e4c473a423b3530261c1308000000000000000000000000000012273c52677c91a7bcb09a85705b45301b060000000000000000000000001024394d5f6d82949fa9a5a29a8979635443301c07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004182a3a4f64798ea2b4bdb49f8b78624d38281603000000000000000000000000000000000000071a2d3e52677c91a6b7c5b19c86715d4b372308000012273c51677c91a6a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a18b76614c36210c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011263c51667b91a6b9a48f79644f3a24344a5f74899fb4ab96816c56412c17000e23394e63798b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b89745e49341f000000000000000000000008141c2832363d4a4e555b556062636260555b554e4a3d3631271c13080000000000000000000000000000000000000000000d181f2d363b474c535a5560626361585c574f4b3f36323a464c555555555555504333200d00000000000000000000060e19202325303537383937332a2d25201c14080000000000000000000000000000000012273c52677c91a7bcb09a85705b45301b060000000000000000000000000a1d30404a60727f8a8e908c8478635b493625130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f3447596d8297a8a8a8a899836e5a48351a0a00000000000000000000000000000000000000000f20364b6074889da8a8a8a48f7a6550362513000012273c51677c919393939393939393939393939393939393939393939393939393938b76614c36210c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011263c51667c91a6a8a48f79644f3a24344a5f74899fa8a896816c56412c17000b20354a6072757575757575757575757575757575757575757575757575757575757575604b36200b000000000000000000000000010a151d202d36393f37444b4d4e4d4b44373f39362d201d150900000000000000000000000000000000000000000000000005101b222a34373e37444b4d4e4c463a423a372e211e2933364040404040403c33251503000000000000000000000000060b0d131c20212324211f1718100b0801000000000000000000000000000000000012273c52677c91a7a7a79a85705b45301b0600000000000000000000000000121c304354606974797b776f625a493c2c18080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c22374c61778a9393939393907b65503c2b19000000000000000000000000000000000000000000081d3144556a7f939393939393836e5443301c07000d23384d62787e7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7e74604b36200b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011263c51667c919393938f7a644f3a24344a5f748a93939393816c56412c1700071c304354606060606060606060606060606060606060606060606060606060606060605645321d09000000000000000000000000000002090f1a21242a2731353739373531272a24211a0f0802000000000000000000000000000000000000000000000000000000070d181f222927313537393633292d25231c110b171f212a2a2a2a2a2a282015070000000000000000000000000000000000070b0c0e0e0c0a040000000000000000000000000000000000000000000012273c52677c919292929285705b45301b060000000000000000000000000000132536434a5560646661594d483c2c1e0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e23384d63787e7d7d7d7d7d7d685d4b371e0e000000000000000000000000000000000000000000021527374c61767e7d7d7d7d7d7e72604a35200b000c2035495a626868686868686868686868686868686868686868686868686868686868605645311d0900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d23384d62787e7d7d7d7e77614c3722283d53687e7d7d7d7e7a644f3a250f0000132536434a4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b45382815020000000000000000000000000000000000070c0e15151d20222422201d15150e0c070000000000000000000000000000000000000000000000000000000000000000050b0d13151d202223211f1718100e080000040a0c151515151515130d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d23384d62787d7d7d7d7d7c66503b26110000000000000000000000000000000818253037444b4f504c473b352b1e0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c2035495a6368686868686868604e3f2f1c0000000000000000000000000000000000000000000000091f3347586168686868686868605443301c070006192c3c494d53535353535353535353535353535353535353535353535353535353534b453827150200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2035485a626868686868615947341f263a4e606868686868645d4b37220d0000081825303536363636363636363636363636363636363636363636363636363636363632281a0a0000000000000000000000000000000000000000000001080b0d0e0d0b08010000000000000000000000000000000000000000000000000000000000000000000000000000000001080b0d0e0c0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2035485a626868686868665e4c38230f0000000000000000000000000000000008131c273136393b37342a20190e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006192c3c494d535353535353534e42312111000000000000000000000000000000000000000000000004182a3a474c535353535353534a433625130000000e1e2c35383e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3631271a0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006192b3c484d53535353534c473b2a181e31424e53535353534f4b3f2e1b0800000008131c202020202020202020202020202020202020202020202020202020202020201d150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006192b3c484d5252525252504c402f1c0900000000000000000000000000000000000009151d202426221f180c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1e2c35383e3e3e3e3e3e3d3a312413030000000000000000000000000000000000000000000000000c1c2a33373e3e3e3e3e3e3d3530251808000000000e1920232828282828282828282828282828282828282828282828282828282828201d150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1e2b35383e3e3e3e3e37342a1d0c1324313a3d3e3e3e3e3a372e2010000000000000070b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1e2b35383d3d3d3d3d3b382f2212000000000000000000000000000000000000000002080b0f110c0b0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e19202328282828282828261e130600000000000000000000000000000000000000000000000000000c181f2228282828282828201c1308000000000000060c0d13131313131313131313131313131313131313131313131313131313130b0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1920232828282828221f180c0006131e26282828282825221b10020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e192023282828282826231c120400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c0e13131313131313110b0200000000000000000000000000000000000000000000000000000000040a0c131313131313130b07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0d13131313130c0b04000000020b1113131313130f0d08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0d1313131313110f09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 m_StreamData: + serializedVersion: 2 offset: 0 size: 0 path: diff --git a/UI/Fonts/TMPro Fonts/EuclidCircularB-Semibold SDF.asset b/UI/Fonts/TMPro Fonts/EuclidCircularB-Semibold SDF.asset index 4b79ba9..e73ebb0 100644 --- a/UI/Fonts/TMPro Fonts/EuclidCircularB-Semibold SDF.asset +++ b/UI/Fonts/TMPro Fonts/EuclidCircularB-Semibold SDF.asset @@ -14,7 +14,7 @@ MonoBehaviour: m_EditorClassIdentifier: hashCode: 1183442986 material: {fileID: 21301536800525264} - materialHashCode: -85288351 + materialHashCode: -1005468726 m_Version: 1.1.0 m_SourceFontFileGUID: f107ab11e934487459b829102ee621e2 m_SourceFontFile_EditorRef: {fileID: 0} @@ -1810,6 +1810,8 @@ MonoBehaviour: m_AtlasTextures: - {fileID: 28160480733836102} m_AtlasTextureIndex: 0 + m_IsMultiAtlasTexturesEnabled: 0 + m_ClearDynamicDataOnBuild: 0 m_UsedGlyphRects: - m_X: 0 m_Y: 0 @@ -2525,7 +2527,12 @@ MonoBehaviour: m_FontFeatureTable: m_GlyphPairAdjustmentRecords: [] fallbackFontAssets: [] - m_FallbackFontAssetTable: [] + m_FallbackFontAssetTable: + - {fileID: 11400000, guid: 4afb23d6b3294fd4cb26f6a15a24512e, type: 2} + - {fileID: 11400000, guid: 88c74fd7de9447d4a900a9f23a1558e3, type: 2} + - {fileID: 11400000, guid: 52dff060b78cae44aa1d0f3f8fabbf91, type: 2} + - {fileID: 11400000, guid: ee7cdf41d361f3741a0bff55d72eec00, type: 2} + - {fileID: 11400000, guid: 9f1995d8047baa640b7cd04c0f39e327, type: 2} m_CreationSettings: sourceFontFileName: sourceFontFileGUID: f107ab11e934487459b829102ee621e2 @@ -2620,6 +2627,7 @@ Material: - _BumpFace: 0 - _BumpOutline: 0 - _ColorMask: 15 + - _CullMode: 0 - _Diffuse: 0.5 - _FaceDilate: 0 - _FaceUVSpeedX: 0 @@ -2672,6 +2680,7 @@ Material: - _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} + m_BuildTextureStacks: [] --- !u!28 &28160480733836102 Texture2D: m_ObjectHideFlags: 0 @@ -2684,15 +2693,20 @@ Texture2D: Hash: 00000000000000000000000000000000 m_ForcedFallbackFormat: 4 m_DownscaleFallback: 0 + m_IsAlphaChannelOptional: 0 serializedVersion: 2 m_Width: 512 m_Height: 512 m_CompleteImageSize: 262144 + m_MipsStripped: 0 m_TextureFormat: 1 m_MipCount: 1 m_IsReadable: 1 + m_IsPreProcessed: 0 + m_IgnoreMasterTextureLimit: 0 m_StreamingMipmaps: 0 m_StreamingMipmapsPriority: 0 + m_VTOnly: 0 m_AlphaIsTransparency: 0 m_ImageCount: 1 m_TextureDimension: 2 @@ -2706,9 +2720,11 @@ Texture2D: m_WrapW: 0 m_LightmapFormat: 0 m_ColorSpace: 0 + m_PlatformBlob: image data: 262144 _typelessdata: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c191a1c1d1c1b18130d0b0600000000000000000000000000000000060c0d1d1d1d1d1d1d1b19140e0c060000000000000000000000000000000000000000000000000000000000070d0f1416191a1715120c0a03000207090b0b0b0b0b0b0b0b0000000000000000000000000000000000000000000000030a0c121517191a191614110c09030000000000000000000000000000000000000000000000000000000000000000050b0d131515120c0a04000000000000000000000000000000000000000000000003090b1c2020202020202020202019171107000000000000000000000000000000000000000000000000000811181a20202020202020202015130d030000000000000000000000000000000000000000000000040a0c1f202020202020202020110f090000000000000000000000000000000000000000000000000000050b0d2020202020202020200d0b050000000000000000000000000000000000000000000000000006101618202020202020202020100e0800000000000000000000000000080d0f1f20202020202020202020190b07000000000000000000000000000000000000040e141620202020202020201f0c0a04000000000000050e151720202020202020201f0c0903000000000000000000000000000000000006101618202020202020202020100e080000000000000000000c171f212e30313232302d282320190e08000000000000000000000000000e192023323232323232312f2a23211a0f05000000000000000000000000000000000000000000000000050b101b2224292c2e2f2d2a27211e160b161c1e202020202020202013110b020000000000000000000000000000000003090c171e21272a2c2e2f2e2c2a26211e160b0902000000000000000000000000000000000000000000000000000000030d181f22282b2a27211f170b0100000000000000000000000000000000000000000a161e2132353535353535353535352e2c24180a00000000000000000000000000000000000000000000000b19252c2f3535353535353535352a272015070000000000000000000000000000000000000000000c171f213435353535353535353527241d120400000000000000000000000000000000000000000000000d1820223535353535353535352220190e00000000000000000000000000000000000000000000000917232a2d35353535353535353525221b100200000000000000000002101b222535353535353535353535352f201c1308000000000000000000000000000000081621292b353535353535353535211f170b00000000081622292c353535353535353534211e160b0000000000000000000000000000000917232a2d35353535353535353525221b10020000000000000c1c293337434546484745423d38352b231c1103000000000000000000000e1e2c353848484848484746443f38352c20190e000000000000000000000000000000000000000000010d1820222e363a3f414344423f3c36322922293133353535353535353528261f140600000000000000000000000000010b161e212933363c3f41434543413f3c363228201d150a000000000000000000000000000000000000000000000000000b171e2a34373d40403c3633291d15090000000000000000000000000000000000000a1a283236474a4a4a4a4a4a4a4a4a4a4440362818060000000000000000000000000000000000000000000819293741444a4a4a4a4a4a4a4a4a3f3c32251500000000000000000000000000000000000000000c1c2933374a4a4a4a4a4a4a4a4a4a3c39302212000000000000000000000000000000000000000000000d1d2b34374a4a4a4a4a4a4a4a4a38352b1e0e000000000000000000000000000000000000000000061727353f424a4a4a4a4a4a4a4a4a3a372e211000000000000000000010202e373a4a4a4a4a4a4a4a4a4a4a4a44353025180800000000000000000000000000041626343d414a4a4a4a4a4a4a4a4a3633291b0b0000001626343e414a4a4a4a4a4a4a4a4a3632281b0b00000000000000000000000000061727353f424a4a4a4a4a4a4a4a4a3a372e211000000000000417293a474c595a5c5d5c5a58534d493c372e1e160b000000000000000006192c3c494d5d5d5d5d5d5d5b59544e493d352b1e100200000000000000000000000000000000000009141d2b34373e4a4f5456585a5755524b4639363c45494a4a4a4a4a4a4a4a3e3a31241402000000000000000000000009141d28323639464c515456585a585654514b46393632281c1308000000000000000000000000000000000000000000000c1b29333b474c525555524c463a312719090000000000000000000000000000000003162838454b5c6060606060606060606059534636241401000000000000000000000000000000000000000011253747545a606060606060606060544f433219090000000000000000000000000000000000000417293a474c5f606060606060606060514c40301d09000000000000000000000000000000000000000005182b3b484c5f606060606060605f4d483c2b190500000000000000000000000000000000000000001023354552586060606060606060604f4b3f2e1b08000000000000000d1d2e3f4b4f5f60606060606060606060594a43362513000000000000000000000000000e213444515660606060606060605f4c463a2917040008183445515760606060606060605f4b46392816030000000000000000000000001023354552586060606060606060604f4b3f2e1b08000000000a1f334758616e6f717271706d68625a504b3f32281b0c000000000000000c2035495a62727272727272706e69635b4d483c2e201000000000000000000000000000000000000d1926313b484c555c64696b6e6f6c6a6761574f4a4c595e6060606060606060534e42311f0b000000000000000000010f19263139464b535761676a6c6e6f6e6b69666157534b45383025180e00000000000000000000000000000000000000000c1c2a39464b5962686a6a6761584b4437271808000000000000000000000000000000091e3245566071757575757575757575756e645342311f0f0000000000000000000000000000000000000000182c4154656f7575757575757575756a614f3727150100000000000000000000000000000000000a1f3347586174757575757575757575665e4c39240f00000000000000000000000000000000000000000b2034485962757575757575757575625a4835200a0000000000000000000000000000000000000000162a3f52636d757575757575757575655d4b37220e0000000000000a1a2b3b4b5d6474757575757575757575756e605443301c0700000000000000000000000014293d51626b757575757575757574615846331f0a0013253651636c757575757575757574615746321e09000000000000000000000000162a3f52636d757575757575757575655d4b37220e000000000c21374c6176828586878785827d786f655d4b4639291c0c0000000000000d23384d627887878787878786847f796e625a4b3f2e1d0d0000000000000000000000000000000e1d2b37444b59626b727a7e818384827f7c766d645c4b6b73757575757575757568604e3a2611000000000000000003111f2c37444b5761686f767c7f81838483817f7c766f6860564a43362b1e1002000000000000000000000000000000000004172a3a4757616c777d807f7c766a6055443626140100000000000000000000000000000b21364b6076868a8a8a8a8a8a8a8a8a8a836e604e3d2d1b0b000000000000000000000000000000000000001a2f445a6f848a8a8a8a8a8a8a8a8a7f6a5544311d0800000000000000000000000000000000011426364c61768a8a8a8a8a8a8a8a8a8a7c66513c271100000000000000000000000000000000000000011527374c62778c8a8a8a8a8a8a8a8c78624d3827150200000000000000000000000000000000000000182d42586d828a8a8a8a8a8a8a8a8a7a654f3a25100000000000021628384859647b8a8a8a8a8a8a8a8a8a8a8a8372604a35200b0000000000000000000000071b2d3e566b808a8a8a8a8a8a8a8a8b76614c36210c071c3043546c818a8a8a8a8a8a8a8a8a75614b36210c000000000000000000000000182d42586d828a8a8a8a8a8a8a8a8a7b654f3a2510000000000d22374d62778c9a9b9d9c9a97928c847b6d6157463a291a0a00000000000e23384e63788d9d9d9d9d9c9b99948c8378645d4b3c2b1905000000000000000000000000000e1e2c3b485560697780878f9496989997949189827a6b6073898a8a8a8a8a8a8a8a7e68533e2813000000000000000512212e3d49556068757e848a919496989a989694918a847d74676054483c2d201103000000000000000000000000000000000a1f3347586175818b929595918a8073605443301c0e0000000000000000000000000000091e32455663798a9f9f9f9f9f9f9f9fa1937e685c4a3928160300000000000000000000000000000000000011263b51667b90a49f9f9f9f9f9f9d8774604b35200f00000000000000000000000000000000081c304354697f94a89f9f9f9f9f9f9d8773604b35200b00000000000000000000000000000000000000081d3144556a7f95aa9f9f9f9f9fab95806b5645311d0900000000000000000000000000000000000000182d42586d82979f9f9f9f9f9f9f8f7a654f3a25100000000003111e3245566278889da99f9f9f9f9f9fa79c8675615443301c0700000000000000000000000d22364a5c72879d9f9f9f9f9f9fa9927d67523929160b20354a6073889d9f9f9f9f9f9fa9917c6751392816030000000000000000000000182d42586d82979f9f9f9f9f9f9f8f7a654f3a2510000000000d22374d62778ca2b1b2b1afadab9f9990817561584638281502000000000e23384e63788da3b2b2b2b2b0aeab9f99897b645a4834200f0000000000000000000000000e1e2c3c495962737e89959ca5a9abadafacaaa89e978c807473889e9f9f9f9f9f9f937d68533e2813000000000000011223303f4b5b63737d88939a9fa9a9abadafadaba9a99f9992877d72625a4a3e2f2111000000000000000000000000000000091c2f404c617686979faaaaaaa89e958372604b3c2b190500000000000000000000000000031628384a5b687e93a0b2c3b5b5b5bfb49f8b7a645746321e130000000000000000000000000000000000000b20354a6073879cb2c6b5b5b5b7a6917c67513d2d1a070000000000000000000000000000000b20354b6073879db2b5b5b5b5b9a8947e695443301c08000000000000000000000000000000000000000b20354b6074889db2b5b5b5b5b5b39e8875604b36200f00000000000000000000000000000000000000182d42586d8297adb5b5b5b5b5a48f7a654f3a251000000000112232434b6074859ba6b8b5b5b5b5bcab9e89796357463625130000000000000000000000000f24394f64798ea5b6b5b5b5b5b5ae99836e5746321e1325364f657a8fa6b7b5b5b5b5b5ae98836e5745321e090000000000000000000000182d42586d8297adb5b5b5b5b5a48f7a654f3a2510000000000d22374d62778ca2b7c7c6c5c9bcb5af9f978676615645321d0d000000000e23384e63788da3b8c7c7c7c5c9bcb5a79e8978624d3d2c1a06000000000000000000000a1a2c3c495a637785939ea8b2b6c3c0c3c4c1c6b9b4ab9f968576889eb3b5b5b5b5a8937d68533e28130000000000000f2030414d5d657986929da6afb4bac7c1c3c4c3c0c7bab4aea59d918578645c4c3f2f1e0e00000000000000000000000000000f23384c5e6f849aa4b4bbc8c6b9b4a1947e695a4835200b00000000000000000000000000000a1a2d3d4e606e8298a5b6c8d8cacdbaa99c8675614b41301f0e0000000000000000000000000000000000071c304354697e93a8b9cccad4c4af9a85705b4a36210c0000000000000000000000000000061a2c3d51667c91a5b6cacadac9b49e8976614c36261401000000000000000000000000000000000000061a2c3d51667c91a6b7cbcacacacbb8a6927c67523d2d1a07000000000000000000000000000000000000182d42586d8297adc2cacacabaa48f7a654f3a25100000000e1e2f404f616d8298a3b5c4d5cacfbeb49f8d7c665b49392918080000000000000000000000071b2d3e566b8096abc3d4cacacac9b49f8a76614b36211c3043546c8196abc4d4cacacac9b49f8a75604b36210b0000000000000000000000182d42586d8297adc2cacacabaa48f7a654f3a2510000000000d22374d62778ca2b7ccdbdadacfcabdb1a49a8474604b3b2a18050000000e23384e63788da3b3b4bac7c9cecfc5b8a799836e5b4936210c00000000000000000002152738495a6378879ba3b3b9c6cad3d6d8d9d7d7cdc9bcb4a39a85899eb3c9cacabda8937d68533e281300000000000b1b2d3e4d5f677b899ca4b3b7c4c9ced8d6d8d9d8d6d7cdc9c3b7b2a39b887a655d4c3c2b1a0a0000000000000000000000000011263b50667b90a1b3c2ced9d7cdbfb49f8a78624d38220d0000000000000000000000000000000f1f31424c6176879daabbcee2d7c7b6a497826d5f4d3d2c1a0a00000000000000000000000000000000001325364b6176899eb4c9dadcc8b4a28e79634e3a291704000000000000000000000000000c2135495b6f849aafc3d4e3cfbcab96816c5846331808000000000000000000000000000000000000000c2135495b6f849aafc4d4e7dfe7d5c4b09a85705b4a36210b000000000000000000000000000000000000182d42586d8297adc2d7dfcfbaa48f7a654f3a251000000b1b2c3c4c5e697f94a0b2c1d2e2d2c1b2a0947f695e4c3c2c1b0b0000000000000000000000000d22364a5c72879db2c7dcdfdfe1cdbaa9917c6752392820354a6073889db2c8dddfdfe1cdbaa8917c67513828160300000000000000000000182d42586d8297adc2d7dfcfbaa48f7a654f3a2510000000000d22374d62778ca2b7bec6c9d2e3dfcec2b4a2947f6a5947341f0b0000000e23384e63788d9e9e9fa9aab4bac7d5c5b59f8c79634e39230e000000000000000000091d3145566378889da5b5c1ccd6dfdfd6ccc8c6c5c7cacec1b4a29a9ea7b9cce0d2bda8937d68533e2813000000000417293a4a5c677d8b9ea7b5c2cbd4dfe0ded8d5d4d5d8dee0ded4cac1b4a69d8a7b655a4838271502000000000000000000000003182d43586d8298adbfd0e2ebe9e1cdbaa9947f69543f2a1400000000000000000000000000000001131f334658647a8b9fb4bfd0e2d3c2b1a0927d675b493828150200000000000000000000000000000000081e3346576c8196abbccfe3d1c0ac97826c5847331f08000a0a0a0a0a0a0a0a0a0a0a031729394e63798c9fb5cadfdfcab59f8c79634e3a291700000000000000000000000000000000000000031628384e63788c9fb5cadff2fff3ddc8b4a28e79634e392917030000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100008182939495b667c8c9fb4becfdfd5c5b5a398826e614f402f1e0e000000000000000000000000000f24394f64798ea5b6cadff4fde9d7c7ae98836e574532253a4f647a8fa6b7cbdff4fce9d7c6ad98836e5645321e0900000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000d22374d62778ca2a6a9b1b5c2ccd9e0d1c0b49e8a77624c37220d0000000e23384d6378898888898c949fa9bacecfbcab947f6a553f2a150000000000000000071b2d3e4b6074859ba6b7c3d2e1d9cecac5b8b3b1b0b2b4bbc8c0b4afb3b9c5d6e8d2bda8937d68533e2813000000000a1f334658647a8b9fa9b9c5d2dfdfd5ccc8c2c0bec0c3c9ccd6e0dfd1c4b7a89e8978625645311d0c0000000000000000000000071c31475c71869cb1c6dbeefefce9d7c7ad98826d58432d18030000000000000000000000000000000417293a4a5c697f94a1b3c4d4e0cebeb49e8a79635645321d1200000000000000000000000000000000031729394d63788c9fb5cadfdec9b49f8a76614c362614202020202020202020202020201e3346576c8196abbccfe3d3c2af99846f5b49351b0b00000000000000000000000000000000000000091e3245566b8196abbccfe3f8fff7e4d1c0ac97816c5746331e0a0000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100013253646576379899eaabbcedcd8c8b8a69b8575604b4332221200000000000000000000000000071b2d3e566b8095abc3d4e6f9fff4dec9b49f8a75604b362d3e566b8196abc4d4e6fafff3dec9b49e8975604b36210b00000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000d22374d62778c8f91949ca4afbbccdee1cdb9a8947f6a543929170300000c2035495a6373737375777f8b9fb4c9dac9af99846f5a442f1a05000000000000000d22364a5c6b8096a3b5c4d4e1d4c8bbb4aca79e9c9b9d9faab2b6c3c5c9ccd6e4e8d2bda8937d68533e2813000000061a2c3d4c6176879ca9bac7d6e1d4cac5b8b3adaaa9abaeb3b9c5cbd5e2d4c6b8a79b8574604b3b2a180400000000000000000000081d32475d72879cb2c7dcf1ffffeed8c3ae99836e59442e1904000000000000000000000000000000000b1b2e3e4a60728399a6b7c9d9e1cdb9a89b8574604b40301e0e000000000000000000000000000000000b2035495a6f8499aec2d3e1cdbaa9947f69544330353535353535353535353535353525364c6176899eb4c9dadecab6a4907b66503d2c1a00000000000000000000000000000000000000000b21364b6075899eb3c9daecffffffefdec9b49e8976614c3621110000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100f1c3043546175869ca7b9c8d9e2cebbaa9e887862564532251504000000000000000000000000000d22364a5c72879cb2c7dcf1f3f1f3e1cdbaa8917c665138364a5c72879db2c7ddf2f1f3f5e1cdb9a8917c665138281502000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000b21364b60757b7a7c7e86949dafc0d1e4d6c6b09b85705746331e0a000006192c3c494d5e5e5460626b8096abc0d6c6b19c87715c47321c07000000000000061a2c3d4f647a8d9fb5c1d2e2d4c3b7aa9f978f898685878a929ca4b0bccce0e8f4e8d2bda8937d68533e28130000000c2135495b6d8298a5b6c7d7ded1c3b7b2a79e98959495989ea7b3b7c4d2dfd6c5b5a395806b5947341f0b00000000000000000000051b30455a70859aafc6d6e8f4f3e5d1c0ac96816c57412c17020000000000000000000000000000000000101c3043546177889dabbccfe3d6c6b5a396816c5e4c3c2b190900000000000000000000000000000006192c3c50657b90a4b6caded7c7b29d8773604b4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4354697e93a8b9cde7d6c5b19c8673604a35200f00000000000000000000000000000000000000071b2d3e53687d92a7b8cce7f7fffffff5e1cdb9a8937e69533f2e1c0800000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25101f30414a60728399a4b6c5d6dfcebdb49f8c7b655a483828160700000000000000000000000000000f24394f64798ea5b6cadfe5dedbdee5d7c6ad98836d56453a4f647a8fa5b7cadfdedbdee5e9d6c6ad98836d5645321d09000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000091e3245566066646669737f94a2b4c8dddfcab49f8b76614c36210c0000000e1e2c35384949434a4f64798ea4b9cec8b39e88735e49331e090000000000000c2135495b6e8398abbccfdfd4c4b7a59d8c827a74717072767d87969eafbbccddeee8d2bda8937d68533e2813000005192b3c4e63798c9fb4c3d3e0d1c0b4a59d918883807f808389929da6b5c1d2e2d2c1b49f8a77614c3a29170400000000000000000000152a3f556a7f94a8b9ccd8dfdfd6c7b4a2917c66513c2611000000000000000000000000000000000000001325364759657b8d9fb4c0d1e3d2c1b09f917c665a48372614010000000000000000000000000000000e23384c5e71869cb1c5d6dfcab7a5917c665f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f6073879cb1c6d6e0ccb9a7937e695443301c07000000000000000000000000000000000000000d22364a5c71859bb0c5d6e8fdf6f4f6fce9d6c6b19c86715d4b37230d00000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251c2d3d4d5f6b8095a1b3c2d3e2d1c0b19f937e685d4b3c2b1a0a0000000000000000000000000000071b2d3e566b8095abc3d3e0d2c9c6c9d2dec9b49e8975604b3e566b8096abc3d4d2c9c6c9d2e0dec9b49e8975604b36200b000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000003162838454b514f51556070859ab0c5dae3cfbcab8e78634e39230e000000000e192023332530374c61778ca1b6ccc9b39e89745e49341f090000000000000e23394e63798c9fb5c9dadac9b7a69d877a6d6460545b5861687480959dafbfd0e3e8d2bda8937d68533e281300000b2035485a6d8298abbccfe1d2c2b4a29a877c746d6b696b6e747d889ba3b5c4d4e1cdbaa895806b5846331f0a000000000000000000000c22374c6177899eb4bac7cacac5b8a99b8573604b35200b0000000000000000000000000000000000000008182a3a4b5d6b8095a2b4c5d5dfcdbdb39e8978625544311d11000000000000000000000000000000091c2f4053687e93a7b9cce0d4c3af9a8475757575757575757575757575757575757575757c90a4b6cae4d9c9b39e8976614b3625130000000000000000000000000000000000000004172a3a4f647a8fa3b5c9e3f3eae2dfe2eaf4dec9b6a48f7a65503b2b1805000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a252a3a4a5c677d919eafbfd0e0d4c4b4a297816d604e3f2e1e0e0000000000000000000000000000000d22364a5c72879cb2c7dcd2c2b5b1b5c2d2ccb9a8917b66514a5c72879db2c7d2c2b5b1b5c2d2e1ccb9a8917c6651382715020000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000a1a2832363b3a374451667c91a6c9daebd9c9a5907a65503b25100000000000060c0e1e1321364b60768ba0b5cbc9b39e89745e49341f09000000000005192b3b566c8196abbccfe3cfbcab9d8878645c4f4a433a474c55606b7f95a1b3c7dce8d2bda8937d68533e281300000d22384d62788b9fb4c9d9dac9b5a49a847667605555545655606877859ba6b7cbdfd7c6b49e8976614c36210c000000000000000000000a1f344759677d929fa9b2b5b4b1a79e8a79635443301c0800000000000000000000000000000000000000000c1c2f3f4b6073849aa7b8cce0e0ccb8a79a8473604b3f2f1d0c0000000000000000000000000000001121364b6175899eb3c9d9dcc7b3a29a8b8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8c9fb4c2d3e3cfbcab96816b5746321808000000000000000000000000000000000000000a1f3347586d8297adc1d2e4e5d8cec9ced8e5e5d3c2ad98836e5948342009000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a27374758647a8a9eb4bcccddd7c7b7a69b8474604b42312111000000000000000000000000000000000f24394e64798ea5b6cadec9b5a49ca4b5c3d3c6ad97826d554f64798ea5b6cac9b5a49ca4b5c5d6d6c6ad98826d5645311d090000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000a161e21262526384e63788dabbccfe3d1bca6917c67513c27120000000000000000000b20364b60758ba0b5cac9b39e89745e49341f0900000000000b2034485971879cb1c9dadfcab59f8d7b65594a3e35302a3337444b60728499afc0d1e3d2bda8937d68533e2813000115273753697e93aabbcee3cfbcab9c867461584b44373f37444b596276879db2c1d2e1ccb9a8917c67513c27120000000000000000000004182a3a4d5f687e8b979d9f9f9c95897c655b4936261401000000000000000000000000000000000000000000111d3144556278899eb3bdcddfd6c5b4a295806b5d4c3b2a18080000000000000000000000000000091e3246576b8096abbccfe3d0c0b3aa9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fabbccfe0dfcab49f8c78624d39291600000000000000000000000000000000000000001325364c61768a9fb4c9deead8c7bab4bac7d8eadfc9b49f8b77624c372715010000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a3144556176879da8b9cddae1cdbaa99d887762564531241403000000000000000000000000000000071a2d3e566b8095abc3d3d9c8b19c869ca5b6cac9b39e897560566b8095abc3d4c5b19c869ca7b9ccdec9b39e8975604b36200b0000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000003090b110f21364b60768a9fb5cadfd1bca7917c67523c27120000000000000000000b20364b60758ba0b5cac9b39e89745e49341f0900000000000d22374d62788ca4b6cae7d7c7ae99836f5d4b3b2d201c171f2731435464798ea2b4c8dcd2bda8937d68533e281300081d3144556e8499aec8d8dfcab59f8d796456463a31262a27313b4758667b90a3b5c9ddd6c6ac97816c573b2a1805000000000000000000000c1c30414e60687881888a8a878077655e4c3d2c18080000000000000000000000000000000000000000000001142637485a667c919fb0c1d2e3d1c0b49f8d7b6559473625130000000000000000000000000000031628394d62788c9fb4cadfded0c8bbb4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4bcc9d9e5d2c2ae99836e5a49351b0b00000000000000000000000000000000000000071c304354697e94a9bacde1e2cebaa99fa9bacee2e2cebbaa957f6a5544311d080000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a424b6073849aa5b7c6d7decdbcb49f8b7a64594838271506000000000000000000000000000000000d21364a5c72879cb2c7dccebbaa927d879db2c7ccb9a7907b665c72879cb2c7ccb8a7907b899eb3c9deccb9a7907b66513727150200000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000091e32455674899fb4c9ded1bca7917c67523c27120000000000000000000b20364b60758ba0b5cac9b39e89745e49341f09000000000012283d52677d92a7c2d3e2cdbaa9907b66503f2e1d100704091525364a5c70859ab0c5dad2bda8937d68533e2813000b20354b6074899eb4c9ded9c4ae99846f5c4a38291d1414151d2a3a4c5e71869bb1c6dbdcc7b29c87725948341f0b0000000000000000000000132331424e5a626c727575726b61584c402f1f0e00000000000000000000000000000000000000000000010d181f2b3c4c5e6c8196a3b5c6d6e3cfbcab9d8877615443301c1000000000000000000000000000000b2035495a6e8399aec2d2e5e6d8cecacacacacacacacacacacacacacacacacacacacacacfd9e7dec9b5a4907b65503c2b1900000000000000000000000000000000000000000b20354a6073879cb2c7d7e5d2c2b49f8a9fb4c0d1e3d8c8b29d8874604b35200f0000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3f4e606c8196a2b4c3d4e1d0c0b09e927d675c4a3b2a1a0a00000000000000000000000000000000000f24394e64798ea4b6cadfcab49f8b768196abc4d5c5ac97826d64798ea5b6cac8b39e89748398aec9d9d6c5ad97826d5544311d0800000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000021628385f74899fb4c9ded1bca7917c67523c27120000000000000000000b20364b60758ba0b5cac9b39e89745e49341f090000000000152a3f546a7f94a9bfd4dfc9b49f8a76604b3621110000000008182d3d556a7f94aabfd4d2bda8937d68533e2813000f24394f64798ea8b9cce1d5c5a6917c67513e2d1a0b0100020d1c2f4054697e93a9bed3dfcab6a58c77624c37220d0000000000000000000000051324313c494d5756606055564c473a3023120000000000000000000000000000000000000000000008141c2a3439454b516074859ba8b9cde1d9c9b7a69a8472604a3e2e1c0c0000000000000000000000000006192b3c50657b90a4b5c9def3eae2dfdfdfdcd8d8d8d8d8d8d8d8d8d8d8d8d9dfdfdfdfe3ebe8d5c5b19c86715d4b371e0e0000000000000000000000000000000000000005192b3b50657b90a4b6cae5dec9b5a4927d92a2b4c8dcdfcbb7a6917c66513d2c1a0600000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f4b5d687e929fb0c0d1e1d3c3b4a296806b5f4d3e2d1d0d0000000000000000000000000000000000071a2d3d556b8095aac3d3dac5b09a85707a8fa6b8cbc8b39e88746b8095aac3d3c6ad97826d7d92abbccfdec9b39e8975604b36200b00000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000001f344a5f74899fb4c9ded1bca7917c67523c27120000000000000000000b20364b60758ba0b5cac9b39e89745e49341f090000000000162c41566b8196abc0d6dbc6b19c86715645321e09000000000011263b51667b90a6bbd0d2bda8937d68533e28130011263b51667b90a6c6d6e0cbb8a68c77624c37220f00000000001124394e64798ea3c5d6e6d3c3a38e79644e39240f00000000000000000000000b1e31414e525656565656565656524d41301d0a00000000000000000000000000000000000000000c1826303b484c5760666d7078899eb4c9dee7d5c4b3a1947f695c4b3a291704000000000000000000000000000e23374b5d71869cb1c5d5e8fbf1e1d4cac7c3c3c3c3c3c3c3c3c3c3c3c3c4c7d0ddeef7f5e0ccb8a7927d68533f2e1c00000000000000000000000000000000000000000b203448596e8399aec3d3e6d7c6b19c8671849aafc5d5e7d4c4af9a846f5b4935210a00000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f59647b8b9fb4bdcdded6c6b6a59a8473604b413120100000000000000000000000000000000000000c21364a5b72879cb2c7dcd4c3a9947f6974889eb3c8ccb8a7907b72879cb1c7cdb9a8917c66778b9fb4cadfccb9a7907b665037271501000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c27120000000000000000000b20364b60758ba0b5cac9b39e89745e49341f090000000000182e43586d8398adc2d8dac4af9a856f5a3828160300000000000f243a4f64798fa4b9ced2bda8937d68533e28130013283d52687d92a7bdd2ddc8b39e88735947341f0b00000000000b20364b60758ba7b9cce0d0baa5907b65503b2610000000000000000000000011253a4e60686b6b6b6b6b6b6b6b675f4d392515090000000000000000000000000000000000000c1c2936434b59626c757c8285888d9fb5cadff2e2d0bfb49f8c7a645846331f1300000000000000000000000000081c2e3f53687d93a7b8cce0f6e6d4c3b7b2adadadadadadadadadadadadafb3bfd0e3f6ead8c8b39e8875604b36211100000000000000000000000000000000000000021527374d62788b9fb4cadfe1cdbaa8937e697c92a7b8cce0dfcab59f8c79634e39281603000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a65566278889da9bacedbdac9b9a89d8776615544312313020000000000000000000000000000000000000e24394e63798ea4b6cadecab6a58e79636d8297acc6d5c5ac9781798ea4b6cac9b49e89756070859bb0c5dbd6c5ac97826d5544311d08000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c27120000000000000000000b20364b60758ba0b5cac9b39e89745e49341f090000000000182e43586d8398adc2d8dac4af9a856f5a3828160300000000000f243a4f64798fa4b9ced2bda8937d68533e281300142a3f54697f94a9bed4dcc7b19c87725c3b2a18050000000000081d31445574899eb3c9ded2bca7927d67523d2812000000000000000000000013283d52687e80808080808080807d6752443127190e000000000000000000000000000000000c1c2a3a4654606a77818a91979b9d9fabbccfe3f8eee2cebbaa9d8776614c41311e0e000000000000000000000000001121364b6075899eb3c8d9ebdfcab7a59d98989898989898989898989899a1b3c7dcf0e2cebbaa95806b5645321e0900000000000000000000000000000000000000081d3144556a8095aabbcee2dec9b49f8a766175889eb3c9dae3cfbcab96816c5745321e09000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a656074859ba6b7c7d8e3cfbcab9e8a7963584737261405000000000000000000000000000000000000071a2d3d556b8095aac3d3dcc7b29d87725b667b90a8b9ccc8b39d888095aac2d3c7ae98836e566a7f95aac4d4dec8b39e8974604b35200b000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c27120000000000000000000b20364b60758ba0b5cac9b39e89745e49341f090000000000162c41566b8196abc0d6dbc6b19c86715645321e09000000000011263b51667b90a6bbd0d2bda8937d68533e281300162b40566b8095abc0d5dbc5b09b86705b46311b000000000000021527375d72889db2c7ddd3bea9937e69543e291400000000000000000000051a2f445a6f8495959595959595958772624b44372b1e1200000000000000000000000000000a1a2a3a475861727f8a969fa9adb0b3b5bcc9daecfffeead8c8b7a598836e5f4e3c2b1808000000000000000000000000091e3245566b8095aabbcee2dcc7b29d878283838383838383838383838399afc4d9eedfcab49f8b78624d38281602000000000000000000000000000000000000000b20364b6074889db3c8d9e4d2c1ac97826d586b8096abbccfe3dac9b39e8975604b362110000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a6e6f8298a3b5c4d5e5d7c6b59f8d7c665b4a3a2a1909000000000000000000000000000000000000000c21364a5b72879cb1c7dcd6c6ac96816c576075899eb4c9cbb8a69d899eb4c9cebaa9927c675264798ea6b7cbdfccb8a7907b6550372715010000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c27120000000000000000000b20364b60758ba0b5cac9b39e89745e49341f090000000000152a3f546a7f94a9bfd4dfc9b49f8a76604b3621110000000008182d3e556a7f94aabfd4d2bda8937d68533e281300162b40566b8095abc0d5dac5b09b85705b46301b060000000000001d32485d72879db2c7dcd3bea9937e69543e29140000000000000000000002182d42576d8297ababababababa595806b6055483c301c13080000000000000000000000021528384758617683949ea8b4bac7c5c8cacfdae2eaebf4f6e6d4c3b2a0927d685a48362614010000000000000000000000031628384d62788b9fb4cadfddc8b39d88746e6e6e6e6e6e6e6e6e6e6e7f94a9bfd4e4d2c1ad98836e5948341a0a00000000000000000000000000000000000000061a2c3d51677c91a6b7cbe6ddc9b5a38e79644f63788c9fb5cadfe0ccb9a7927d68533e2e1b070000000000000000000000182d42586d8297adc2d7ecdac5af9a84838498a0b2c1d2e2e1cdb9a895806a5e4b45382f1c13080000000000000000000000000000000000000e24394e63798ea4b6cadecdb9a8907b6550566e8398adc7d5c4b8a89ea8b9cdc9b49f8a76614c6074889db2c8ddd5c5ac97826c5544311d080000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c27120000000000000000000b20364b60758ba0b5cac9b39e89745e49341f09000000000012273d52677d92a7c2d3e2cdbaa9907b66503f2e1d1007040a1525364a5c70859ab0c5dad2bda8937d68533e281300162b40566b8095abc0d5dac5b09b85705b46301b060000000000081d32485d72879db2c7dcd3bea9937e69543e29140000000000000000000000142a3f54697f94a9c1c0c0c0c3af9e958073625a4d403025180a00000000000000000000091d32455661768699a1b4b9c6cdd7dbd7d8cec9ced8d6dfe2eae1cfbfb49e8a78625443301c0c0000000000000000000000000a2034485a6e8398aec1d2dfcbb7a6917c6758585858585858586074879db2c7ddddc9b5a38f7a644f3b2b1900000000000000000000000000000000000000000c2135495b70859aafc4d5e7d6c5b09b85705c4a5b6f849aafc5d5e7d6c5b19b86715c4b37220c0000000000000000000000182d42586d8297adc2d7ecdcc8b4a29a989aa2b2becfdfefdec9b49e8a7c736a60564c403025180800000000000000000000000000000000071a2d3d556a8095aac2d3dec9b49e8975604b52677c91a9baced5c6b9b4b9c6d7c9af99846f5846546d8297acc7d8ddc8b39e8874604b35200b0000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c27120000000000000000000b20364b60758ba0b5cac9b39e89745e49341f0900000000000d22374d62788ca4b6c9ded7c7ae99846f5d4b3c2d201c171f2731435464798ea2b4c8ddd2bda8937d68533e281300162b40566b8095abc0d5dac5b09b85705b46301b060000000000081d32485d72879db2c7dcd3bea9937e69543e2914000000000000000000000010253b50657b90a3b5c9d5d5ccbcaf9e968578665e4a4336271a0b0000000000000000071b2d3e4b6074849aa4b3bfcdd7d8cecac1c8bbb4bbc8c1c9cdd7e5e1ccb9a89a8473604b3a2a1704000000000000000000000005192b3c4f657a8fa3b5c9ddd4c4b09a85705c4a434343433d51667c91a5b7cadfd5c4b09b85715c4b371d0d00000000000000000000000000000000000000031628394e63798ea2b4c8e2e0ccb9a7927d68533e52677c91a6b8cbe0ddc9b5a38f7a644f3a2a180400000000000000000000182d42586d8297adc2d7ece3d1c0b4afaeafb3c0cfdcecf6e1cdb9a89e91887f75665e4a43362513000000000000000000000000000000000c21364a5b72879cb1c7dcdac9ae99836e56454c61768a9fb4c9dfd7cdc9cdd7cfbcab937d68533a51667c91a9bacee0ccb8a7907b65503726140100000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c27120000000000000000000b20364b60758ba0b5cac9b39e89745e49341f0000000000000b2034485971869cb1c9d9dbc7b3a1907b655a4a3e35302a3338454b6072849aafc0d1e4d2bda8937d68533e281300162b40566b8095abc0d5dac5b09b85705b46301b060000000000081d32485d72879db2c7dcd3bea9937e69543e291400000000000000000000000e23384b5d71859bb0bccddcdaccbcb0a39b897c6b60544538291b0b000000000000000d22364a5c6d8197a2b4c2d0e1d3c8bbb4aca5aa9faaa4acb4bac7d2e0d6c6b4a2937e685847331f0c0000000000000000000000000d23374b5d71869bb1c5d5ddc8b4a28e79644e3a2a2e36495b6f849aafc3d4e0cbb7a6927d67523e2e1b0000000000000000000000000000000000000000091e3246576c8196acc0d1e3dec9b39e8975604b364b6075889eb3c9dae4d2c1ad98826d5847331f0800000000000000000000182d42586d8297adc2d7eceeded1c8c5c3c4c7d0deecf0f2e9d7c6b9b4a69d94887c6b605443301c140000000000000000000000000000000e24394e63798ea4b6cadecfbcab927d68523846576f8499afc9d9e9e1dee1dfcab49f8b77614c374b61768a9fb4c9dfd5c5ac97816c5544311d0800000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c27120000000000000000000b20364b60758ba0c6d6c9b39e89745e3a29170c060000000005192b3b566b8196abbccfe3d0bfb39d8878645c4f4a433a474c56606b7f95a2b3c7dee8d2bda8937d68533e281300162b40566b8095abc0d5dac5b09b85705b46301b060000000000081d32485d72879db2c7dcd3bea9937e69543e29140000000000000000000000081c2f3f51667c909eb0becde1dacdc1b4a79e918072605646392916030000000000071b2d3e4f647a8d9fb5c0d1e0d3c2b6aa9f978f8b8a8b8f969fa9b5c2d2e0d1c0b39e8976614c3a2a18040000000000000000000000081c2e3f52687d92a6b8cbe0d1c0ad97826d584733293a4e63798ea2b4c8e1d8c7b39d8874604b36201000000000000000000000000000000000000000000c21364b6175899eb3c9dee3d1c0ab96816c57453245566b8096abbccfe3dfc9b49f8a77614c36251300000000000000000000182d42586d8297adc2d7ecfceee3dcdad8d9dadadadadadcdfe3d7cdc4b7b3a69d918072604a42311e0e00000000000000000000000000071a2d3d556a8095aac2d3dfcab59f8b77624c373953687d93abbccfe3f6f3efdac5b09a857059473446576f849aafc4d9ddc8b39e8874604b35200b00000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c27120000000000000000000b20364b60758ba8b9cdc9b49f89745847332320190e000000000e23384e63798c9fb4c9dadfcbb7a69d877a6d6460545b5861687480959dafc0d0e3e8d2bda8937d68533e281300162b40566b8095abc0d5dac5b09b85705b46301b060000000000081d32485d72879db2c7dcd3bea9937e69543e29140000000000000000000000001124384c5e6b8096a0b0bcccd6dfd1c5b8b39e968274615746321e1300000000000d22364a5c70859aabbccfded3c3b6a49c8c827a7674767a818b9ca4b5c2d3e0ccb8a796816c5947341f0a0000000000000000000000001120364b6075889eb3c8d8dec9b49f8a77614c373346586c8197acc0d0e2cebaa9957f6a5645311d0900000000000000000000000000000000000000081b2e3e53687d93a8b9cce1dcc8b4a28e79634e3928384d63788c9fb5cadfe2cdbaa9947f695443301c07000000000000000000182d42586d8297adc2d7ecf0e0d2c9c6c5c5c5c5c5c5c5c7cacfd9ddd5cbc4b7b29e96816c604e3c2b19050000000000000000000000000c21364a5b71869cb1c6dcdbc5b09b8570594734374c62778b9fb4cadff4f8e4d2c1a9937e69543b2a3954697e93a9c2d3e0cbb8a6907a655036261401000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c2712000000000000000000091d32455674899eb4c9cdbaa98c76614c3f38352c1e0e0000000c2135495b6e8398abbccfe3d4c4b7a69d8c827a74717072777d87969eafbcccdeeee8d2bda8937d68533e281300162b40566b8095abc0d5dac5b09b85705b46301b060000000000081d32485d72879db2c7dcd3bea9937e69543e2914000000000000000000000000091c2f404a607282969eb4b9c6d0e2d6ccbcb0a0988475614b41301d0c000000000f24394f64798ea2b4c9dadac9b6a59c86796c65615761656c78869ca4b6c8d9d5c5b49f8b77614c37220c000000000000000000000000091d3245566b8095aabbcee1cdbaa9947f6a5544364c6176899eb4c9dedfc9b49f8b77624c38271502000000000000000000000000000000000000000d22374b5c71869bb1c6d6e7d5c4af9a85705b49362035495a6f849aafc4d5e7d7c7b29d8773604a35200e000000000000000000182d42586d8297adc2d7ece5d2c2b5b1b0b0b0b0b0b0b0b2b4bcc9c9d2e0d4cbbcb09f937e695a4835200a0000000000000000000000000e23394e63798ea4b6caded4c4aa957f6a553b2a34485970859bb0c5daf0f2ddc9b5a38d78624d3823384d63788da4b6caded5c5ac97816c5443301c08000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c2712000000000000000000021528385c72879cb1c7d7c7a8927d685d594d493c2c19060000061a2c3d4e647a8d9fb5c1d2e2d4c4b7ab9f978f898685878b929ca5b0bccce0e8f4e8d2bda8937d68533e281300162b40566b8095abc0d5dac5b09b85705b46301b060000000000081d32485d72879db2c7dcd3bea9937e69543e291400000000000000000000000000121c304354607380919ea8b4c0ced8e0cdbeb2a298826d5f4d3b2a1804000003172939556b8095aac0d1e3cfbcab9c8776635b504b464b4f5a6375869caabbcee2cebbaa937e6953392916030000000000000000000000021528384d62778b9fb4c9dfd7c7b29d8774604b4354697e93a8b9cde1d1c0ad98826d5947341a0a0000000000000000000000000000000000000004182a3a4f647a8fa3b5c9e4e0cbb8a6917c67523d2c1a2c3c51677c91a6b8cbe0dfcab6a5907b66503c2b19060000000000000000182d42586d8297adc2d7ecdec9b5a49c9a9a9a9a9a9a9b9d9fabb0b5c1cddbdfcdbdb49e8a78624d3828160200000000000000000000061a2c3d556a8095aac2d3dfcbb7a68e79644e39242a3b54697f94a9c2d2e5f0dbc6b09b86715a48352035495a72879cb1c7dcddc8b39d8874604b35200b000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c271200000000000000000000192e44596e8399aec1d2c8b39d887b726e635a4935200c0000000f22364a5c6b8096a3b5c4d4e1d4c9bcb4aca79e9c9b9d9faab2b6c3c5c9ccd6e4e8d2bda8937d68533e281300162b40566b8095abc0d5dac5b09b85705b46301b060000000000081d32485d72879db2c7dcd3bea9937e69543e291400000000000000000000000000001325364455606b7c8a9aa2b4bac7d4dccfc0b2a0917d675947341f0b00000a1e33465771879cb1c6dcdfcab59f8d7a6458493d3632363c495763798c9fb4cadfd8c8b09b86705746321e0a0000000000000000000000000a203448596e8398adc1d2dfcab7a5917c66514a6073879cb2c6d6ddc8b4a28e79644f3b2a1800000000000000000000000000000000000000000a1f3347586d8298adc1d2e5d9c9b39e8875604b36200f20364b6074889db3c9dae6d3c3ae99836e5a4835200a0000000000000000182d42586d8297adc2d7ecdbc6b19c8685858585858585878b909ba3b0bdcddfe1cdb9a896816c5645321e09000000000000000000000c2136495b71869cb1c6dcddc8b29d88735c4a362223384d63788da4b5c9dee5d3c2aa947f6a553c2b192c3c566b8196abc6d6e0cbb8a68f7a6550362614010000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c27120000000000000000000011263c51667c91a3b5c3cbb8a69d8c878378634d38230e000000071b2d3e4b6074859ba6b6c3d2e1d9cfcac5b9b3b1b0b2b4bbc8c0b4afb3b9c5d6e8d2bda8937d68533e281300162b40566b8095abc0d5dac5b09b85705b46301b060000000000081d32485d72879db2c7dcd3bea9937e69543e29140000000001080b0f0f0f0f0f0f0f0f182637444b5f677884939fa9b7c3d4decfbeb39e8977614c37220e00000c21364b61768ba4b6caded8c3ae99836e5c4a3a2c211e212c39495b6d8298adc2d8ddc9b5a38b76614b36210c00000000000000000000000005182b3b4f647a8fa3b5c9ddd4c3af9a846f5b50667b90a4b6cae4d4c3b09a85705c4a361d0d00000000000000000000000000000000000000011426364c61778a9fb4c9dfe3cfbcab95806b5645311d091d3144556b8095abbccfe3dfcab49f8c78624d3827150200000000000000182d42586d8297adc2d7e4cfbaa48f7b7070707070707072757b85969eb0c0d1e4d7c6b39e8975604b36210b000000000000000000000e23394e63798ea4b6c9ded7c7ac97826c573e2d1b2035495a71869cb1c6dbdecab6a48e79634e392310253b50657b90a8b9cce1d5c4ac96816c5443301c080000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c2712000000000000000000000b20354b6073859ba5b5bcc4b8ab9f9c8f7a644f3a240f00000000101d3144556378889da5b5c1ccd6dfdfd6ccc9c6c5c7cacec1b4a29a9ea7b9cce0d2bda8937d68533e281300162b40566b8095abc0d5dac5b09b85705b46301b000000000000081d32485d72879db2c7dcd3bea9937e69543e291400000009151d20242424242424242424212631404d5a62727e8b9da5b7c5d6e0ccb8a7947e69543c2c1906000e23384e63788da3c2d3e5d1bca6917c67513e2d1c0f0a0e1b2c3d51667b91a6bbd0e4d2c1a38d78634e38230e000000000000000000000000000d22374b5c70859bb0c4d5dcc8b4a28e79635a6f8499aec3d3dfcbb7a5917c67513e2d1b0000000000000000000000000000000000000000081c304354697f94a9bacde2dfcab49f8c78624d382715021527374d62788c9fb5cadfe3cfbcab95806b5645311d0900000000000000182d42586d8297adc2d7e4cfbaa48f7a655b5b5b5b5b5b566065708096a2b4c8dde0ccb9a78f7a654f3a2510000000000000000000061a2c3d556a7f95aac2d3cacdbaa9917b66513c2611192c3c556a8095aac3d4cac7b19c87725b4936210b20364b6075899eb3c9cacac8b39d8874604b35200b0000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c271200000000000000000000081c304354627787949fabbcc9bcb4a48f79644f3a240f0000000002152737495a6378879ba3b3b9c6cad3d5d8d9d7d6cdc9bcb4a39a85899eb3c9ded2bda8937d68533e281300152a40556a7f95aabfd4dbc6b19b86715c38281502000000000005182b3b5e73889db3c8ddd2bda8937d68533e281300000919273135393939393939393939363228303c485460697a879da7b9cce0d5c5b09b85705a4935200c0010253a50657a8fa5bacfe2cdb7a28d78624d3823100000000f22374d62778ca2b7cce1d0baa5907b65503b261000000000000000000000000000081b2e3e52677d92a6b7cbe0d1c0ac97816c63788c9fb4cadfd7c7b29d8774604b35201000000000000000000000000000000000000000000b20354b6073879db2c7d7e6d4c4af99846f5a49351a0a00092035495a6f849aafc4d5e7d9c9b39e8875604b36200f00000000000000182d42586d8297adc2d7e4cfbaa48f7a654f4545454538454b506074859bb0c5dae8d6c5a9947f6a543f2a150000000000000000000c2135495b71869cb1b5b5b5b5b49f8a76604b36210b0f24394f64798ea5b7b5b5c4ab95806b563d2c1a081d3144556e8398aeb5b5b5b5b7a68f7a654f3625130000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c27120000000000000000000001142636485962757f8b9fb5cacfb9a48f79644f3a240f000000000009192c3c495a637785939ea8b2b6c3c0c3c4c1c6b9b4ab9f968576889eb3c8ddd2bda8937d68533e28130013293e53687e93a8bdd3ddc7b29d88725645321d0900000000000b20344859758a9fb4cadfd0bba6917c66513c26110001152737444b4f4f4f4f4f4f4f4f4f4b4639282b36434a5c6479899eb3c5d5ddc9b5a38d78634d38230e0011273c51667c91a6bbd1e0cbb6a08b76614b36210c0000000b20364b60758ba0b5cae0d1bca7927c67523d271200000000000000000000000000001020364b6074889db3c7d8dec9b49e8a766b8196abbccfe1cdbaa9947f6a5544311d080000000000000000000000000000000000000005192b3c50667b90a5b6cae5dfcbb7a6917c66513c2b19000006192c3c51677c91a6b7cbe0e0cbb8a6927d67523d2d1a07000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a3030302731364455687e93a8bdd2e8d6c1ac96816c57412c170200000000000000000e23394e63798ea49f9f9f9f9f9f99846f5745321e090d22364a5c72879d9f9f9f9fa68f79644f3a240f0215273752687d92ab9f9f9f9f9f9f96816c5443301c0700182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c27120000000000000000000006192c3c4f61697e889dabbccfc7b9a48f79644f3a240f0000000000000e1e2c3c495962737e89959ca5a9abadafaca9a89e978c807473889eb3c8ddd2bda8937d68533e28130012273c51677c91a6c9dadfc9b49f8a75604b36200b00000000000d22374d62778caabbcee2d6c6a48f7a644f3a250f00081d31445560646464646464646464615746321e25303e4a5b677c91a7b8cce0d2c1a6917b66513c26110010253a50657a8fa5bacfe1ccb7a28c77624d37220e0000000c22374c61778ca1b6cce1d0baa5907b65503b26100000000000000000000000000000091d3145566a7f95a9bacee1cdb9a8947e75899eb3c9d9dec9b49f8a76614c37271501000000000000000000000000000000000000000b2035485a6e8399aec3d3e6d8c8b29d8774604b35200e0000000e20354b6074889db3c9d9e7d5c5b09a85705c4a36210b000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251b1b151d27374f64798ea4b9cee3d8c2ad98836d58432e18030000000000000000152a40556a7f8a8a8a8a8a8a8a8a8a7e685339281603071b2d3e566c818a8a8a8a8a8a8772604a35200b000d22374c62778d8a8a8a8a8a8a8a8a8875604a35200b00182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c2712000000000000000000000c2035495a697f939da6b7c9bfb3aea48f79644f3a240f000000000000000e1e2c3b485560697780878e9396989997949189827a6b6073889eb3c8ddd2bda8937d68533e28130010253a4f657a8fabbccfe2cebaa98f7a654f3929170400000005192b3b52677c91a7c8d8e1ccb9a88d78624d38230d000b20354b60747a797979797979797975614b3621131c2d3d4b6074889eb3c8ded2bda8937d68533e2813000e23394e63788ea3c3d3e6d0bba6907b66513c2c1a0d070c192b3b50657a90a5bacfe6d4c3a38e79644e39240f0000000000000000000000000000021527384c62778b9fb4c9dfd7c6b29c877e93a7b9cce7d0c0ac97826c584733190900000000000000000000000000000000000000021527384d62788c9fb4cadfe2cebbaa957f6a5544311d08000000081d3144556b8095abbccfe3ddc8b4a28e79644e392917030000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251b1b151d26374f64798ea4b9cee3d7c2ad98826d58432d1803000000000000000013283c50616a75757575757575757568604e3b1b0a000010293e51626c75757575757573605443301c07000b1f3447596f75757575757575757573605443301c0700182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c2712000000000000000000000d23384d62788c9fb3b7c4beb1a199918e7a644f3a240f00000000000000000e1d2b37444b59626a72797e808384827f7c766d645c5e73889eb3c8ddd2bda8937d68533e2813000c21374c61778b9fb5cadfd8c7ab96806b5746331f170e0d0e18203448596d8298adc2d8dec9b49e8974604b36200b000b20364b60748b8e8e8e8e8e8e8e8e7b6650362515101c30435470869bb0c5dbd4bfaa957f6a55402a15000c21374c61768ca5b6cadfd7c2ac97826d5a49382a211a212a3748596c8196acc1d6dfcab7a58c77624c37220d0000000000000000000000000000000a1f3447596d8298adc0d1dfcab6a59c899eb3c5d6dcc7b4a28e79634e3a2a170000000000000000000000000000000000000000091d3145566b8095abbccfe3dfcab49f8b77624d37261401000000011527374d62788c9fb4cadfe4d1c0ac97816c5746331e0a0000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a3030302731364455687d93a8bdd2e8d5c0ab96806b56412b160100000000000000000d2033435055606060606060606060534e42311f0000000e22344451566060606060605d4a43362513000005182a3b475d6060606060606060605d4a433625130000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c271200000000000000000001162b41566b8096abbccbc5b1a097837c7974604b36210b0000000000000000000d1926313b484c555c64696b6e6f6c6a6761574f4a5e73889eb3c8ddd2bda8937d68533e2813000a1f33475871869bb0c6dbdec9b39e8976614b4233292322242a34444d62788b9fb4c9dfd9c3ae99846e5544311d0800091d31455673899ea4a4a4a4a4a4947f6954433228222634485a73889db3c8ddd5c0ab96806b56412b16000a1f33475872879cb2c7dcdfc9b49f8b786256483b362d353a475562778a9fb4c9deddc7b29d87725948341f0b00000000000000000000000000000005182a3b4f647a8ea2b4c8ddd3c3b6a89ea8b9cce3d3c3af9a846f5b4a361c0c00000000000000000000000000000000000000000b20364b6075889eb3c9d9e6d3c3ae98836e59483419090000000000092035485a6f8499afc4d4e7dec9b49e8a76614c3621110000000000182d42586d8297adc2d7e4cfbaa48f7a654f4545454538454b506073859ab0c5dae8d6c6a9947f69543f2a14000000000000000000031525333c404a4a4a4a4a4a4a4a4a3e3b312414020000051626343e414a4a4a4a4a4a4835302518080000000d1d2a34374a4a4a4a4a4a4a4a4a4835302518080000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c2712000000000000000000011527375b71869bb0c9d8c8ad97826f6764605645321e090000000000000000000009141d2a34373e4a4f5456585a5754514b4639495e73889eb3c8ddd2bda8937d68533e28130004172a3a566b8095abc1d2e0ccb9a797816c604c463a3937393b474c626e8399aabbcee2d0bfa8937e69533727150200021527385c71869cb1b9b9b9b9b19b8673604b45383837444d62788da6b8cbe0d3bea9947e69543f29140004172a3a576c8196acc3d4e2cebbaa9b857462594e4a3d494e586173849aa9bacde1d4c4ac97816c573b2a1805000000000000000000000000000000000d22364a5c70859bb0c4d4e1d3c6b9b3b9c6d6dfcab6a5917c66513d2d1a0000000000000000000000000000000000000000071a2d3d52677c92a6b8cbe7dfcab6a5907b65503b2b1800000000000006192b3c51667c91a6b7cbdfe1cdb9a8937e69533f2e1c0800000000182d42586d8297adc2d7e4cfbaa48f7a655b5b5b5b5b5b566065708096a2b4c8dde1ccb9a88f7a65503a251000000000000000000000071520282a35353535353535353529261f140600000000081622292c35353535353533201c130800000000000d181f2235353535353535353533201c1308000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c2712000000000000000000081d31445573889db3c8cebbaa8d7863514e4b45382816020000000000000000000000010d181f222d36393e414344423f3c363228495e73889eb3c8ddd2bda8937d68533e2813000010253a50657a8fa3b5c9ded6c5b19f937e6c6158514e4d4e5159626d8095a1b3c8d8dbc7b3a18d78634e38230e000000172c42576c8197acc5d6cec9b5a3937e6a6056504d4f55606d8298adc4d5e4d2c1a7917c67523c2712000011263b51667b90a5b7cadfd8c8b5a39a84776b635b5e5b636a76849aa2b4c7d7dfcbb7a6917c66513c27110000000000000000000000000000000000071b2d3e52677c91a6b7cbdfe4d6ccc9ccd6e4d6c6b29c8773604b35200f00000000000000000000000000000000000000000c21364a5b70859ab0c4d5e7d7c7b29c8773604a35200d000000000000000e20354b6074889db2c9d9e9d7c6b19c86715d4b37230d00000000182d42586d8297adc2d7e4cfbaa48f7b7070707070707072757b85969eb0c0d1e4dac9b39e8975604b35200b0000000000000000000000030d131520202020202020202013110b02000000000000050e14172020202020201e0b070000000000000000050b0d2020202020202020201e0b070000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c27120000000000000000000b20354b60758a9fb5cacab49f8a75604b393632281a0a0000000000000000000000000000050b101b2224292b2e2f2d2a27211e33495e73889eb3c8ddd2bda8937d68533e281300000e23374b5d71869bb1c2d2e4cebdae9c9381766c66636263666d7782959eafbfd0e4d0c0ae99846f5b4935210c00000010263b50657b90a7b8cce0d2c2b49f8d7f746965626468737f94a0b2c6e2ddc9b5a38d78624d38220d00000b20364b6074879db2c3d3e5d2c1b4a29a8a8079747374787f899aa2b3c0d1e5d4c3b29d8875604b36200b0000000000000000000000000000000000001020354b6074889db2c7d7e9e8e1dee1e8e1ccb9a8937e695443301c0800000000000000000000000000000000000000031729394e63798ea2b4c8e2e2cdbaa9947f695443301c0700000000000000081d3144556b8095abbccfe3decab6a48f7a65503b2b1805000000182d42586d8297adc2d7ecdbc6b19c8685858585858585888b909ba3b0bccddee3cfbcab98836e5544311d08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c27120000000000000000000b20364b60758babbccfc9b39e8974554431211e160a000000000000000000000000000000000000070d0f1416191a1715120c1e33495e73889eb3c8ddd2bda8937d68533e28130000081c2e3f51677c91a4b5c7d8dbcbbaae9f9689817b7877797c828998a0afbcccddd6c6b3a28f7a644f3d2c1a060000000b20364b6074899eb3c3d4e3cfbcab9f94877e7b777a7d86949dafbecfe1d4c3b09b86715a4835200b0000081d314455687d92a5b6c7d7dfd1c0b4a89e958e8a888a8d949ea7b3c0d0ded8c8b7a5937e685645321d09000000000000000000000000000000000000081d3144556a7f94a9bacde1f6f5f3f5ecdac9b49e8976614c36261401000000000000000000000000000000000000000a1e3346576c8197acc0d1e4dfc9b49f8a77614c3625130000000000000000011527374d62788c9fb4cadfe5d3c2ae98836e5948342009000000182d42586d8297adc2d7ecdec9b5a49c9a9a9a9a9a9a9b9d9fabb0b4c1cddae5d4c4b59f8c79644e372715010000000000000000000000040d131620202020202020201c191309000000000000050b0d2020202020202020200f0d07000000000000071017192020202020202020181610060000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c27120000000000000000000b20364b60758ba0b5dac9b39e89745e49261409020000000000000000000000000000000000000000000000010305020000091e33495e73889eb3c8ddd2bda8937d68533e28130000001120354a6072869ca9bacee2d8cbbdb1a79e97918e8c8e91979ea8b2beccdae1ccb9a89a846f5c4b371f0e00000000081d3144556a7f94a5b7c9dad9c9bcb4a59d94908d8f939ca4afbbccdcdfcab7a5947e69543c2b19050000021527374b6074879ca9bacddaded1c6b9b4aaa99f9d9fa9aab3b8c5d0dee1cebbaa9d8774604b38281502000000000000000000000000000000000000011527374c61778a9fb4c9deeefffff8e3cfbcab96816c574633180800000000000000000000000000000000000000000c21364b6176899eb4c9dee5d2c2ad98826d5847331808000000000000000000092035485a6f8499aec4d4e7dfcab49f8b77624d372715010000182d42586d8297adc2d7ece5d2c2b5b1b0b0b0b0b0b0b0b2b4bcc9c8d1dfe4d6c7b7a698826e5c4a3619090000000000000000000000071521282b3535353535353535312e261b0d000000000d181f3535353535353535353524221b10020000000a18242b2e35353535353535352d2b23180a00000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c27120000000000000000000b20364b60758ba0b5cac9b39e89745e49341f00000000000000000000000000000000000000000000000000000000000000091e33495e73889eb3c8ddd2bda8937d68533e2813000000071c304354647a8b9fb4becde3dbcec5b8b3aca6a3a2a3a6acb4b9c6cfdce2ccbcb39e8979634d3e2e1b0000000000021527374b6075879dabbccfe3d9cfc3b6b2a9a5a2a4a8b1b5c2ccd9decebdb29d8775604b36210e00000000091d314455647a8b9fb4bcc9d7e4d6ccc9c7bab4b3b4bac7c8ccd6e3d7cdbcb49f8b7b645645311a0a0000000000000000000000000000000000000000091f3347586d8297adc0d1e3f7faf4dfcab59f8c78634d3929170000000000000000000000000000000000000000081b2e3f53687e93a8b9cce1dec9b5a48f7a644f3a2a170000000000000000000005192b3c51667c91a6b7cbdfe2cebbaa957f6a5544311d080000182d42586d8297adc2d7ecf0e0d2c9c6c5c5c5c5c5c5c5c7cacfd9dde4dfd3c5b9a99d8877624d3d2d1a0000000000000000000000041526333d404a4a4a4a4a4a4a4a4642382b1b0900000d1d2a344a4a4a4a4a4a4a4a4a4a3a372e201000000718283640434a4a4a4a4a4a4a4a433f35281806000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c27120000000000000000000b20364b60758ba0b5cac9b39e89745e49341f09000000000000000000000000000000000000000000000000000000000000091e33495e73889eb3c8ddd2bda8937d68533e2813000000001325364a5c697e93a0b0bdcfd9e3d5ccc8c1bbb8b7b8bbc2c9ccd6e4d8cebcaf9e917d675b49352010000000000000091e324556667c8d9fb5becfd9e3d3cac7bebab7b9bdc6c9d2e0e0cebfb19f917d675645321e0900000000011527374a5c687e929fabbac6d0dfe1ded8cec9c8c9cdd7dee0dfd0c7bab49e937e685d4b38271500000000000000000000000000000000000000000004182a3a4e64798ea2b4c8dce5e5e5d3c2ae99846f5b49351b0b00000000000000000000000000000000000000000e22374b5d71869cb1c6d6e8d6c6b19c86715d4b371c0c00000000000000000000000e20354b6074889db2c8d9ead8c8b29d8874604b35200f0000182d42586d8297adc2d7e5e5e5e5dedbdadadadadadadadddfe3dfddd4cbc2b6a79e8b7a645948341f0f00000000000000000000000d213344505560606060606060605b56493826130005182a3b475e6060606060606060604f4b3e2e1b07001024364653596060606060606060585346352310000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9ded1bca7917c67523c27120000000000000000000b20364b60758ba0b5cac9b39e89745e49341f09000000000000000000000000000000000000000000000000000000000000091e33495e73889eb3c8ddd2bda8937d68533e28130000000008182e3e4f606d82969fb4bcc9d0dfe0ded6d0cdccced1d7dee1dfcfc7bab49d95806b5f4d3c2c1902000000000000031628384c5e6a7f959fb4bcc9d3dfdfdcd3d0cccfd2dbdee1d6ccbdb1a197816c5f4d38281602000000000009192e3e4e606a7f8d9fa8b3c0cacfdadbdddfdddfdddbdacfcac0b4a99f92806b604e3f2e1a0a000000000000000000000000000000000000000000000c21364a5c70859aafc3d4d0d0d0cab6a4907b65503c2c19000000000000000000000000000000000000000004182a3b4f657a8fa4b5c9d0d0cdb9a8937e68533f2e1b000000000000000000000000081d3144556a8095aabbced0d0cbb7a6917c66513d2c1a0600182d42586d8297adc2d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0cfd4cac7c3b7b2a49c897c665c4b3b2b1801000000000000000000000013283d50626b7575757575757575716756422e19040b1f34475970757575757575757575645c4b37220d02172b4053646e75757575757575756d64533f2b16000000182d42586d8297adc2d0d0cfbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4c9cacabca7917c67523c27120000000000000000000b20364b60758ba0b5cac9b39e89745e49341f09000000000000000000000000000000000000000000000000000000000000091e33495e73889eb3c8ddd2bda8937d68533e28130000000000102032424b607381939fabb3c0caced9dbdddfe2dfdddbd8cec9bfb3a99f927f6b625141301e0e00000000000000000a1a304050616d81949fabb6c2cbd4dadddfe2dfdddbd6cdc5b9b39f978373604b41301a0a000000000000001020314250616a7d8a9aa2b0b5bcc9c6c8cacfcac8c6c9bcb5b0a29a8a7d6b6250423120100000000000000000000000000000000000000000000000071a2d3d51677c91a5b7bbbbbbbbc5b19c8673604a35200e00000000000000000000000000000000000000000b1f3447596d8398adc2bbbbbbbbb49e8976614c362110000000000000000000000000011426374d62788b9fb4bbbbbbbbc4af9a846f5b4935210c00182d42586d8297adbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb9c3b7b2aca59d938679665e4c3e2e1d0d000000000000000000000000162b40556b808a8a8a8a8a8a8a8a85715b46311c060d22374c62778a8a8a8a8a8a8a8a8a7a644f3a240f04192e43596e828a8a8a8a8a8a8a8a826d58432d18000000182d42586d8297adbbbbbbbbbaa48f7a654f3a251000000000000000000000000a1f344a5f74899fb4b5b5b5b5a7917c67523c27120000000000000000000b20364b60758ba0b5cac9b39e89745e49341f09000000000000000000000000000000000000000000000000000000000000091e33495e73889eb3c8ddd2bda8937d68533e2813000000000002141d314455606c7e8c9aa2afb4bbc8c6c8cacecac8c6c8bbb4afa1998b7d6a615144342312000000000000000000001222334352636d7f8d9ca4b2b7c3c5c7c9cecac8c6c6b9b4a79e93817460554431231300000000000000000213233343505f677984909a9fabadb1b3b4bcb4b3b1adab9f9a90847a675f5044332414020000000000000000000000000000000000000000000000000f20354b6074879da5a5a5a5a5a5a7937e685443301c0700000000000000000000000000000000000000000c22374c61778a9fa5a5a5a5a5a5a597826c5746331e0a00000000000000000000000000092034485a6f8499a5a5a5a5a5a5a5a28d79634e38230e00182d42586d8297a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a4a2a59d9791877e74635b4c402f201000000000000000000000000000162b40556b80959f9f9f9f9f9f9b86715b46311c060d22374c62778c9f9f9f9f9f9f9f8f79644f3a240f04192e43596e83989f9f9f9f9f9f98826d58432d18000000182d42586d8297a5a5a5a5a5a5a48f7a654f3a251000000000000000000000000a1f344a5f74899f9f9f9f9f9f9f917c67523c27120000000000000000000b20364b60758ba0b5cac9b39e89745e49341f09000000000000000000000000000000000000000000000000000000000000091e33495e73889eb3c8ddd2bda8937d68533e281300000000000001142637444b60697a84909a9faaadb0b3b4bbb4b2b0adaa9f9a8f8379675f5043342616040000000000000000000004152535455261697b86939da5aab0b2b4bbb4b3b1aca89e95897e6d6056453727150500000000000000000005152533414d5b636f7b858b92989b9d9fab9f9d9c98928b857b6f645c4d413326150600000000000000000000000000000000000000000000000000081d314455697f90909090909090908975614b362513000000000000000000000000000000000000000000152a3f546a7f9090909090909090908e7a644e392917030000000000000000000000000005192b3c51667c90909090909090909090816c56412c1700182d42586d829090909090909090909090909090909090908f8d8b87817c75686055493d2f22120200000000000000000000000000162b40556b8095aab5b5b5b5b09b86715b46311c060d22374c62778ca1b5b5b5b5b5a48f79644f3a240f04192e43596e8398aeb5b5b5b5ad98826d58432d18000000182d42586d8290909090909090908f7b654f3a251000000000000000000000000a1f344a5f748b8a8a8a8a8a8a8a8a7d67523c27120000000000000000000b20364b60758ba0b5cac9b39e89745e49341f09000000000000000000000000000000000000000000000000000000000000091e33495e73889eb3c8cacabda8937d68533e28130000000000000009192631424f5c646f7b858b92989b9d9faa9f9d9b98918a847a6e635b4d413325160800000000000000000000000007172735434f5d65747d878f959b9d9faa9f9e9b979089807668604b45382819090000000000000000000000071523303d4a4e5d6570777d8386888a8c8a8886837d7770655d4e4a3e302315070000000000000000000000000000000000000000000000000000011426374b61757b7b7b7b7b7b7b7b7a6457463218080000000000000000000000000000000000000000000f243a4f647a7b7b7b7b7b7b7b7b7b7b655c4a361b0b0000000000000000000000000000000d20354b60737b7b7b7b7b7b7b7b7b7b7a654f3a2510000e24394e63797b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a7876726c6660564b44372c1f12040000000000000000000000000000162b40556b8095aac0cacac6b09b86715b46311c060d22374c62778ca1b7cacacab9a48f79644f3a240f04192e43596e8398aec3cacac2ad98826d58432d180000000e24394e63797b7b7b7b7b7b7b7b7b76614c36210c0000000000000000000000081d32475b6d747575757575757575675f4d3925100000000000000000000b20364b60758ba0b5cac9b39e89745e49341f09000000000000000000000000000000000000000000000000000000000000091e33495e73889eb3b5b5b5b5a8937d68533e2813000000000000000009141d323e4a4e5e6670777d8386888a8c8a8886837c766f655d4e493d302315070000000000000000000000000000091725323f4c55606873798085888a8c8a8886817b756b61584e4232281a0a0000000000000000000000000005121f2d363f4b505961676e717375767573716e686259504c3f362d20130500000000000000000000000000000000000000000000000000000000091e334657616666666666666666645c4a392816000000000000000000000000000000000000000000000d22364a5c64666666666666666666655d4b3e2d1b00000000000000000000000000000000081d3144556066666666666666666666655d4b37220e000c21364a5b636666666666666666666666666666666666666462615757514b45383127190e00000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c060d22374c62778ca1b7ccdfceb9a48f79644f3a240f04192e43596e8398aec3d8d7c2ad98826d58432d180000000c21364a5b63666666666666666666615846331f0a000000000000000000000004182b3e4f5b5f6060606060606060524d41301d0a0000000000000000000b20364b60758ba0b5cac9b39e89745e49341f09000000000000000000000000000000000000000000000000000000000000091e33495e73889e9f9f9f9f9f9f937d68533e28130000000000000000000114202d36404c505861676e717375767573716d6761584f4b3f352c1f1305000000000000000000000000000000000715212f37444b5460646a707275767573716c6660564c463a311d150a000000000000000000000000000000010f1a212e373b474c52585c54606160555c58524c473b382f211a0f01000000000000000000000000000000000000000000000000000000000003172939464b50505050505050504f4a3e2d1b0b00000000000000000000000000000000000000000000071b2d3e4a4f505050505050505050504b3f2f20100000000000000000000000000000000001142637444b505050505050505050504f4b3f2e1b0800071a2d3d4a4e5050505050505050505050505050505050504f4d4b46393c3632281d15090000000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c060d22374c62778ca1b7cce1ceb9a48f79644f3a240f04192e43596e8398aec3d8d7c2ad98826d58432d18000000071a2d3d4a4e5050505050505050504c463a2917040000000000000000000000000f20313e474a4a4a4a4a4a4a4a4a3c39302313010000000000000000000b20364b60758ba0b5cac9b39e89745e49341f09000000000000000000000000000000000000000000000000000000000000091e33495e73898a8a8a8a8a8a8a8a7e68533e281300000000000000000000010f1a212f383a474c52585b54606160545b58524c463a372e211a0f01000000000000000000000000000000000000031119273136434a4f555b54606160555c57514b453833291c130200000000000000000000000000000000000007111c232a34373d4336434b4c4b4437433d37342a231c110700000000000000000000000000000000000000000000000000000000000000000b1b2933363b3b3b3b3b3b3b3b39362d201000000000000000000000000000000000000000000000000010202d363a3b3b3b3b3b3b3b3b3b3b382f211102000000000000000000000000000000000009192631353b3b3b3b3b3b3b3b3b3b3a372e21100000000f1f2d36393b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3a3836322827201d150a02000000000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c060d22374c62778ca1b7cce1ceb9a48f79644f3a240f04192e43596e8398aec3d8d7c2ad98826d58432d18000000000f1f2d36393b3b3b3b3b3b3b3b3b3633291c0c00000000000000000000000000031320233137444b4e52504c463a33291b1305000000000000000000000b20364b60758ba0b5cac9b39e89745e49341f09000000000000000000000000000000000000000000000000000000000000071c3145596b73757575757575757568604e3a261100000000000000000000000007111c232a33373d4336434b4c4b4336433c363329231c11060000000000000000000000000000000000000000000009151d2530353a4036434a4c4b4437423b3632281f170c00000000000000000000000000000000000000000000080c181f22282e263035373531262e28221f180d0800000000000000000000000000000000000000000000000000000000000000000000000b171e21262626262626262624221b100200000000000000000000000000000000000000000000000002101b222426262626262626262625231c11030000000000000000000000000000000000000009141d202626262626262626262625221b1002000000010f1a21242626262626262626262626262626262626262523211e16110b09020000000000000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c060d22374c62778ca1b7cce1ceb9a48f79644f3a240f04192e43596e8398aec3d8d7c2ad98826d58432d1800000000010f1a2124262626262626262626211f170c000000000000000000000000000004172735414d556064676561584c463a2a1d0d000000000000040a0c131320364b60758ba0b5cac9b39e89745e49341f090000000000000000000000000000000000000000000000000000000000000216293c4c595e6060606060606060534e42311f0b0000000000000000000000000000090c171f21282e263035373530262e27211f170b08000000000000000000000000000000000000000000000000000108131c20242b253035373531272c26211e160a0400000000000000000000000000000000000000000000000000040b0c1219141c2021201d1419130d0b050000000000000000000000000000000000000000000000000000000000000000000000000000030a0c11111111111111110f0d0700000000000000000000000000000000000000000000000000000000070d0f111111111111111111100e080000000000000000000000000000000000000000000001080b11111111111111111111100e0800000000000000070c0e1111111111111111111111111111111111110f0d0c0903000000000000000000000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c060d22374c62778ca1b7cce1ceb9a48f79644f3a240f04192e43596e8398aec3d8d7c2ad98826d58432d18000000000000070c0e1111111111111111110c0a0400000000000000000000000000000012223545525f6774797d7a766d6158483b2a1805000000000c171f21282828364b61768ba0b6cbc9b39e89745e49341f09000000000000000000000000000000000000000000000000000000000000000d1e2e3c45494a4a4a4a4a4a4a4a3e3a3124140200000000000000000000000000000000040a0c1219141c2021201c1418120c0a04000000000000000000000000000000000000000000000000000000000000070b0f15131c2021201d1517110b0903000000000000000000000000000000000000000000000000000000000000000001080b0c0b0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c060d22374c62778ca1b7cce1ceb9a48f79644f3a240f04192e43596e8398aec3d8d7c2ad98826d58432d1800000000000000000000000000000000000000000000000000000000000000000000000a1d304052636c7d898e92908c8276625948341f100000000c1c2933363e3e3e3a4d63788da2b8cdc9b39e89745e49341f090000000000000000000000000000000000000000000000000000000000000000101e293133353535353535353528261f14060000000000000000000000000000000000000000000001080b0c0b080100000000000000000000000000000000000000000000000000000000000000000000000000000000070b0c0b08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101618202020202020202020100e08000000000000000000000000000000000000000000000000050b0d2020202020202020201a181208000000000006101618202020202020202020100e080000000000000000000000000000000a141a1c2020202020202020202009020000000000000001080b101010101010100f0d0700040a0c101010101010100d0b06000000000000162b40556b8095aac0d5dbc6b09b86715b46311c060d22374c62778ca1b7cce1ceb9a48f79644f3a240f04192e43596e8398aec3d8d7c2ad98826d58432d18000000000000000001080b0f1416140f0d0700000000000000000000000000000000001024394d5f6c81929ea7a7ab9f978777624c3e2e1b08000417293a464c5353535458677c91a6bcd1c7b29d88725d48331d080000000000000000000000000000000000000000000000000000000000000000000d161c1e202020202020202013110b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d0f20202020202020202020202020202020202020202020202020202020202020201a1711070000000000000000000000060c0e131615110b09020000000000000000000917232a2d35353535353535353525221b10020000000000000000000000000000000000000000000e1920223535353535353535352f2d25190b0000000917232a2d35353535353535353525221b10020000000000000000000000000d1b272f31353535353535353535351d150a000000000009141d202525252525252524221b10171f21252525252525252320190e0000000000162b40556b8095aac0d5dbc6b09b86715b46311c060d22374c62778ca1b7cce1ceb9a48f79644f3a240f04192e43596e8398aec3d8d7c2ad98826d58432d180000000000000008141c2025292b2924221b100700000000000000000000000000000417293a51677c919fb3b8c5bcb5a599836f5c4b37220d000a1f33465861686868696c76859bb1c6dbc6b09b86715b46311c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d131620202020202020201c19130900000000000000061016192020202020202020191610060000000002101b222435353535353535353535353535353535353535353535353535353535353535352f2c24190b0000000000000000050e192023292b2a26201d150a00000000000000061727353f424a4a4a4a4a4a4a4a4a3a372e211000000000000000000000000000000000000000000e1e2b354a4a4a4a4a4a4a4a4a4a45413729190800061727353f424a4a4a4a4a4a4a4a4a3a372e211000000000000000000000000a1b2c3943474a4a4a4a4a4a4a4a4a4a32281a0a00000009192631353a3a3a3a3a3a3a39362d202a33373a3a3a3a3a3a3a38352b1e0e00000000162b40556b8095aac0d5dbc6b09b86715b46311c060d22374c62778ca1b7cce1ceb9a48f79644f3a240f04192e43596e8398aec3d8d7c2ad98826d58432d1800000000000311182630353a3f403f39362d221b10020000000000000000000000000a1f33475872879cb1bdccd6cfc3b3a18f7a644f3a250f000c21364c61767e7d7d7f81889ba3b5c9d5c4ac97826d57422d180200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b0d121416181a1b1b19181614120d0b06000000000000000000000000000000000000071521282b3535353535353535312e261b0d00000000000a18232b2e35353535353535352e2b23180a00000010202e373a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4440362919070000000000000e19202c35383e403f3b3632281a130500000000001023354552586060606060606060604f4b3f2e1b0800000000000000000000000000000000000005192b3c485e6060606060606060605a5447372512001023354552586060606060606060604f4b3f2e1b08000000000000000000001427394a565c6060606060606060605e45382815020001142637444b4f4f4f4f4f4f4f4e4a3e2d3a474c4f4f4f4f4f4f4f4d493c2b1906000000162b40556b8095aac0d5dbc6b09b86715b46311c060d22374c62778ca1b7cce1ceb9a48f79644f3a240f04192e43596e8398aec3d8d7c2ad98826d58432d18000000000513212e36434b4f5455544f4a3e372e20120400000000000000000000000c21374c61768ca4b6cae0e8e3d0bfa9937e69543e2914000e23384e63788d939394979ea6b5c1d2cbb7a6927c67523d27120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080b10181f2227292b2d2f31302e2d2b2a27232019130e0c0600000000000000000000000000041526333d404a4a4a4a4a4a4a4a4642382b1b09000000061828363f434a4a4a4a4a4a4a4a433f3628180600071b2e3e4b4f606060606060606060606060606060606060606060606060606060606060606059544736241100000000010f1e2b353c494d535554504b45383123160800000000162a3f52636d757575757575757575655d4b37220e0000000000000000000000000000000000000b2035485a707575757575757575756f6654412d1800162a3f52636d757575757575757575655d4b37220e000000000000000000051a2f43566871757575757575757575705645321d0900081d3144556065656565656565645c4a3647586165656565656565625a4935200b000000162b40556b8095aac0d5dbc6b09b86715b46311c060d22374c62778ca1b7cce1ceb9a48f79644f3a240f04192e43596e8398aec3d8d7c2ad98826d58432d18000000021323313f4b546064696b69645c4f4b3e2f221200000000000000000000000f243a4f64798fabbccfe3f8ecd6c1ac97816c57422c17000e23384e63788da3a8a9acb3b8c4d2cdbeb39d8875604b36210b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000309141d20252a34373c3e40424446454442403f3d38352b282320190e0a03000000000000000000000d213344505560606060606060605b56493826130000001023364653586060606060606060585346362310000d22374b5c6475757575757575757575757575757575757575757575757575757575757575756f6554402c17000000000f1f2d3c484d5a63686b6a6660564e4233261603000000182d42586d828a8a8a8a8a8a8a8a8a7a654f3a25100000000000000000000000000000000000000d22384d62788a8a8a8a8a8a8a8a8a846f5a452f1a00182d42586d828a8a8a8a8a8a8a8a8a7a654f3a2510000000000000000000071c31475c71868a8a8a8a8a8a8a8a8a74604b36200b000b20354b60757a7a7a7a7a7a7a7a644e394c61767a7a7a7a7a7a7a78624d38230d000000162b40556b8095aac0d5dbc6b09b86715b46311c060d22374c62778ca1b7cce1ceb9a48f79644f3a240f04192e43596e8398aec3d8d7c2ad98826d58432d18000000102031414d5d65737a7e807e7971645c4c402f1c0c000000000000000000000c21364c61768b9fb5cadfe7e3cfbfa9937e69543e2914000e23384e63788da3b8bec1c8cbcdc9bdb0a0937e685645321e09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b171e2631353a3b484c51545557595b5a59575654524d483c3d38352c211e160b02000000000000000013283d50626b7575757575757575716756422e19040001162b3f53646e75757575757575756e64533f2b16000f243a4f64798a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a836f59442f1a0000000a1b2d3d4a5a626f787e807f7b7568605144332111000000182d42586d82979f9f9f9f9f9f9f8f7a654f3a25100000000000000000000000000000000000000d22384d62778d9f9f9f9f9f9f9f9a846f5a452f1a00182d42586d82979f9f9f9f9f9f9f8f7a654f3a2510000000000000000000071c31475c71869c9f9f9f9f9f9f9f8b75604b36200b000c21364c61768b8f8f8f8f8f8f86715c4751667c8f8f8f8f8f8f8f816c56412c17000000162b40556b8095aac0d5dbc6b09b86715b46311c000d22374c62778ca1b7cce1cfb9a48f7a644f3a250f04192e43596e8398aec3d8d7c2ad98826d58432d180000071b2d3e4d5f677b868f9495948e857a665e4c3a2a17040000000000000000000a1f33465872869cb1bdccd5cfc3b3a18f7a644f3a240f000e23384e63788da3b8bdbdbdc6b9b4ae9e96826e604e3828160200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b161e293337444b4f55596267696b6d6f70706e6d6b6967625a58534d493c3632291d150a00000000000000162b40556b808a8a8a8a8a8a8a8a85715b46311c060003192e43586e828a8a8a8a8a8a8a8a826e58432e19000f243a4f64798f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f99846f59442f1a0000031628394a5b6378838d93959490887d6b62513f2f19090000182d42586d8297adb5b5b5b5b5a48f7a654f3a25100000000000000000000000000000000000000d22384d62778da2b5b5b5b5b5af9a846f5a452f1a00182d42586d8297adb5b5b5b5b5a48f7a654f3a2510000000000000000000071c31475c71869cb1b5b5b5b5b5a08b75604b36200b000c21364c61768ba1a4a4a4a49c86715c4751667b91a4a4a4a4a496816c56412c17000000162b40556b8095aac0d5dcc7b19c87725c392816030d22374c62778ca1b7cce1cfbaa5907a65503b251004192e43596e8398aec3d8d7c2ad98826d58432d1800000d22364a5c677d8c9ca4a9aaa9a39b8b7c665847331f0a0000000000000000000417293a51667c919fb3b8c5bcb4a599836e5c4b37220d000e23384e63788da3a8a8a8a8a6a89e988e8173604b42311a0a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002131b293239464b5560656b71777c7e80828486858382807f7c78726d68635a534b463932281a10020000000000162b40556b80959f9f9f9f9f9f9b86715b46311c060003192e43586e83989f9f9f9f9f9f98836e58432e19000f243a4f64798fa4b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5ae99846f59442f1a0000091e32455763798899a1a8aaa9a69d92806b5d4b3727150200182d42586d8297adc2cacacabaa48f7a654f3a25100000000000000000000000000000000000000d22384d62778da2b7cacacac4af9a846f5a452f1a00182d42586d8297adc2cacacabaa48f7a654f3a2510000000000000000000071c31475c71869cb1c6cacacab5a08b75604b36200b000c21364c61768ba1b6babab19c86715c4751667b91a6bababaab96816c56412c17000000162b40556b8095aac0d5ddc8b39d88735746321e090d23384d62788da2b7cde2d1bba6917c66513c2711001a2f44596f8499aec4d9d7c2ad98826d58432d180005182a3b4f647a8b9faab5c2c0c1b5a99d8876614c382816020000000000000000000b24384c5e6c81919ea7a7ab9f978777614c3e2e1b07000e23384e63788d9393939392918f89837a6c6055443124140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151d3039464b57616a747a80868b91939597999b9a99979594928d87827d78716861574b45382e21150100000000162b40556b8095aab5b5b5b5b09b86715b46311c060003192e43586e8398adb5b5b5b5ad98836e58432e19000f24394e64798ea3c8d8cacacacacacacacacacacacacacacacacacacacacacacacacac4ae99846f59442f1a00000b21364b6075879da6b3bfc0c4b8b39f8d7b655544311d0800182d42586d8297adc2d7dfcfbaa48f7a654f3a25100000000000000000000000000000000000000d22384d62778da2b7ccdfd9c4af9a846f5a452f1a00182d42586d8297adc2d7dfcfbaa48f7a654f3a2510000000000000000000071c31475c71869cb1c6dbdfcab5a08b75604b36200b000c21364c61768ba1b6cbc6b19c86715c4751667b91a6bbcfc1ab96816c56412c17000000162b40556b8095aac0d5dfcab49f8a76614b36210c0f243a4f64798fa4b9cee4d4bea9947f6954372715021628385b71869bb0c6dbd7c2ad98826d58432d18000b1f3448596f849aaabbc8d2d5d2c7b8a697826d5645321e09000000000000000000091d2f4052636c7d888e928f8b817561594734201000000c21364c61767e7d7d7d7d7d7c7a756e645c4b44372614060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d192731414d57616a767f888f959b9faba9aaacaeb0afaeacaba9a7a59d98928d867d756960564b3f331c1408000000162b40556b8095aac0cacac6b09b86715b46311c060003192e43586e8398adc3cacac3ad98836e58432e19000c22374c61778caabbcee2dfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd9c4ae99846f59442f1a0001142637546a7f94a5b7c4d0d5d5cbbcab9d8774604b36200b00182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000000000000000000d22384d62778da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000071c31475c71869cb1c6dbe0cab5a08b75604b36200b000c21364c61768ba1b6cbc6b19c86715c4751667b91a6bbd0c1ab96816c56412c17000000162b40556b8095aac0d5e3cfbcab8f7a644f38271511263c51667b91a6bbd0e6d8c2ad98836d5544311d0a1e32455673889db2c8ddd6c1ac97816c57422c17000d22374c62778b9fb5c8d8e6eae5d5c4b49f8975604b36210b0000000000000000000012223445525f6774787c7a766c6157473b2a180200000a1f33465861686868686868666460554f4a3e312619090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010f1d2b37444b5f67757f89949ea7aab1b5bcc9c0c2c4c5c5c3c2c0bec3b7b2ada8a39b93887e74655d5043302618080000162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e19000b20354a60738a9fb4cadff4f4f4fff3e8e0dececececececececececececececececec4ae99846f59442f1a00081d31445571869cb1c3d4e2eae7dac9b7a5907b65503b261000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000080e1012100a0100000000000d22384d62778da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000071c31475c71869cb1c6dbe0cab5a08b75604b36200b000c21364c61768ba1b6cbc6b19c86715c4751667b91a6bbd0c1ab96816c56412c17000000162b40556b8095aac0d5ebd9c9aa95806b56453120182c3d54697e93a9bed3e8dec8b39e8875604b38281d21364b60758a9fb4c9dfd5c0aa95806b55402b160010263b50657b90abbccfe6f6fff2e1cdbaa88e79634e39230e0000000000000000000004172734414d546063676561574b46392a1d0c0000000417293a464c535353535353514f4b4437362d1d14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1f2c3b4855606c7d88949ea7b3b8c5c6cacfdad5d7d9dbdad8d7d5d4d4cac7c2c1b5b0a79e93877b6a614b433626140100162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e1900071c30435473889db2c8ddf2fffff3e3d5ccc8b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9ae99846f59442f1a000b20354b60758a9fb4cadff1fff7e7d4c3a9947e69543f291400182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000003111c232528251e1305000000000d22384d62778da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000071c31475c71869cb1c6dbe0cab5a08b75604b36200b000c21364c61768ba1b6cbc6b19c86715c4751667b91a6bbd0c1ab96816c56412c17000000162b40556b8095aac0d5eaddc7b29d8774604b40352b36495b70859ab0c5daefe0ccb8a7917c6756453731324052677c91aabbcee2d3bea9947e69543f29140011273c51667c91a6c5d5e7fbfff9e5d3c2a48f79644f3a240f00000000000000000000000917233036434b4e524f4b463933291b0c00000000000c1c2933363e3e3e3e3e3d3c3a363127221b10010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1c2c3d4959627481929ea7b3b8c5ccd5dbdfe3e2dfdddbd9dadbdcdfe2e6dfddd7d2c9c5b8b3a59d8c806d605443301c0800162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e190000132536596e8398aec7d7eafdfbe8d5c5b8b3a4a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a399846f59442f1a000c21364b61768ba7b9cce0f5ffffecdac9aa957f6a55402a1500182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000011212e373b3d39302313000000000d22384d62778da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000071c31475c71869cb1c6dbe0cab5a08b75604b36200b000c21364c61768ba1b6cbc6b19c86715c4751667b91a6bbd0c1ab96816c56412c17000000162b40556b8095aac0d5eadfcbb7a5947f6a5e4d483c495463788da2b4c8ddf1e8d5c5b29d877460554b44454b5e6f849aafc8d8e6d4c3a6917c66513c2611000f24394f64798ea6b8cbe0eef5eddecab6a48c77624d37220d000000000000000000000000051318263035393d3a3632281e170b000000000000000c171f212828282828282724201d150907000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1a2a3a495b637784969fb3b8c5ccd5e0e2dfd9d7cdc9c7c6c4c4c5c7c9ced8d8dee1e4ddd5ccc3b6aa9f958172604b35200b00162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e19000012273d52677c92a9bacde2f5f5e0ccb8a79e8f8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e836f59442f1a000a1e32465774899eb3c9deebf5f1e3cfbcab927d68533d281300182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000c1c2e3f4b50524d41301e0e0000000d22384d62778da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000071c31475c71869cb1c6dbe0cab5a08b75604b36200b000c21364c61768ba1b6cbc6b19c86715c4751667b91a6bbd0c1ab96816c56412c17000000162b40556b8095aac0d5eae6d4c3b49f8c7c6c625a5b5a62728399aec0d1e4f0e5decab6a59983746660555660687c8c9fb4cadfdfcab7a58c77624c37220d000b20354b6074889eb3c1d0dee1decfbeb19c8672594834200b000000000000000000000000000008141c20232725211e160b03000000000000000000040a0c131313131313110f0b080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000818283847586379889ba2b0bdccd5e0e2d8cec9c4c7bab4b2b0afafb0b1b4bac7c3c9cdd7e1e7e0d3c8bbb49f927d68533d281300162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e1900000c21364b61768a9fb4c6d7e9f3dec8b39e887a79797979797979797979797979797979797978624d38230d0003162939596e8398aebccddde0dfd3c3b59f8c78624d38220d00182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000004182a3a4b5d65675f4d3c2c1a0a00000d22384d62778da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000071c31475c71869cb1c6dbe0cab5a08b75604b36200b000c21364c61768ba1b6cbc6b19c86715c4751667b91a6bbd0c1ab96816c56412c17000000162b40556b8095aac0d5eaf2e2cebbaa9f8d8178727072788399a1b3c7deede0d2c9c6c3b3a199867b747171757e8a9fabbccfe3ddc7b29d87725948341f0b00081d3144556a7f94a3b4c0c9cdc9bfb2a0917c66513b2b180500000000000000000000000000000001080b0e12100c090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013253645566176879ca6b4c0cde0e6d8cec8bbb4afa9a99f9d9b9a9a9b9c9fa9a7aeb4bac6cdd7e5e6d9cebda8937e69533e291400162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e1900000a1e3346576d8298a8bacde1efe0ccb8a795806a6464646464646464646464646464646464625a4935200b00000f253a4f647a8f9eb0bcc8ccc9c3b6a597816c5a4835200b00182d42586d8297adc2d7e4cfbaa48f7a654f3a251000010f1f334758657b7d675b4938271502000d22384d62778da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000071c31475c71869cb1c6dbe0cab5a08b75604b36200b000c21364c61768ba1b6cbc6b19c86715c4751667b91a6bbd0c1ab96816c56412c17000000162b40556b8095aac0d5eaf0e5d8c8bbab9f968d8785878c99a1b3bfd0e2ddcfc2b5b1b5bfb3a49c9089868689939fa8bac9d9e4d0bfab96816b563b2a180500011426374b6074859aa2afb4b9b4afa198826d5e4d391d0d00000000000000000000000000000000000000000000000000000000000000000000000000020c121415151515151515130d030000000000000000000b0b0b0b0b0b0b0b06040000040a0c1215181a1916140f0d070000000000000000000000000000000000000000071c3043546074849aa5b6c4d1dfdfd1c8bbb4aa9f9a948e8a8886848586878a8d92989fa8b4bac7d7e9ebd3bea8937e69533e291400162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e190000031729394d62788a9fb4c1d2e2e8d5c5af9e937e6b60544e4e4e4e4e4e4e4e4e4e4e4e4e4e4d493c2b190600000d22374b5c6b80969eadb3b8b4b0a59c8775614b3c2b190500182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000f2032424c6176888a79635645311d12000d22384d62778da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000071c31475c71869cb1c6dbe0cab5a08b75604b36200b000c21364c61768ba1b6cbc6b19c86715c4751667b91a6bbd0c1ab96816c56412c17000000162b40556b8095aac0d5eae0d3cac7c9bcb4aba59d9b9c9fabb3bfcfdde3cfbfb3a49ca4b5c2b5b1a79e9b9b9ea8b4bac6d7e7d7c6b3a18d79634e38230e000000091d324556617684919a9fa89e99918375614b40301d0000000000000000000000000000000000050b0d14191b1d1d1d1d1d1d100e08000000000006141f27292a2a2a2a2a2a2a2720150700000000040d131620202020202020201c19130b171f21272a2d2f2e2b2924221b100a0400000000000000000000000000000000021628384a60728298a2b4c3d3e2dccec1b5aa9f978b847e797472716f6f707275787d838a959fa9bacde1e8d3bea8937e69533e291400162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e190000000b203448596a8095a3b5c4d4e4e3ccbcad9c93807261584c40393939393939393939393938352b1e0e000000081b2e3e4b6072808f989ea79f9b948779635746331e0e0000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100b1b2d3e4f606f83999b8574604b402f1d0d0d22384d62778da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000071c31475c71869cb1c6dbe0cab5a08b75604b36200b000c21364c61768ba1b6cbc6b19c86715c4751667b91a6bbd0c1ab96816c56412c17000000162b40556b8095aac0d5e5d3c2b6b1b1b5c2c3b6b2b0b2b5bcc9cfdde2d5c5b3a199869ca7b8c8c5b9b3b1b1b4b9c6cdd7e4e0cdbaa899846f5b4935210c00000002152838475861727c84898b89847c6e615746332212000000000000000000000000000000040e192022292e3032323232323225231c11030000021424323b3e3f3f3f3f3f3f3f3c332515030000071521282b3535353535353535312e26222933363d40424443413e39362d221f180c010000000000000000000000000000091e324556677d92a0b2c0d1e1dbcdbdb1a39b8b82786f69635b5d5b5a5a5b556063676e757f8b9fb4c9dee8d3bea8937e69533e291400162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e1900000005192b3b4b6074859ba6b7c6d5e3dacabaad9e968376665e4b45392e24242424242424242320190e0000000000101c304354606b7a83888b8a867e74635b49392917000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25101628394a5c697e93a1a396806b5e4c3b2a180d22384d62778da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a2512121212121212121212121c31475c71869cb1c6dbe0cab5a08b75604b36200b000c21364c61768ba1b6cbc6b19c86715c4751667b91a6bbd0c1ab96816c56412c17000000162b40556b8095aac0d5decab6a49c9ca4b5c4cac7c5c7cacfdae7ded2c4b8a6998377899eaab9c6ccc9c6c6c9ccd6e1e0d5ccbbb49f8a78624d3d2c1a06000000000a1a2a3a475460676f7476746f665e4b463929170400000000000000000000000000000c181f2b35383e43464748484848483a372e211100000c1f32424f5455555555555555504333200d00041526333d404a4a4a4a4a4a4a4a464238373a464c5255575a5856544e4a3e37342a1c140800000000000000000000000004182a3a4b6075879db2becfdedecdbdb09f9785786d625a544e4a3d46454537444b4e5257616a7b8fa4bacfe4d3bea8937e69533e291400162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e19000000000d1e3245566277889da8b8c5d4e2d8cabcb0a199887b6c60574b3e321e160f0f0f0f0f0d0b0600000000000001142636434b5c646e73767571696056493d2c1b0b000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25101e324657647a8b9fb4b59f8d7c66594836251322384d62778da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a2727272727272727272727272731475c71869cb1c6dbe0cab5a08b75604b36200b000c21364c61768ba1b6cbc6b19c86715c4751667b91a6bbd0c1ab96816c56412c17000000162b40556b8095aac0cacac7b19c86869ca6b4c0c9d3d6d9d8d5d2c9c1b5a69d8877657b8c9ea8b5c1c9d2d6d9d9d7d5ccc5b8b39d937e685a49351f0f0000000000000c1c2a36434a525a5660565a514c4033291b0b00000000000000000000000000010f1c2a333c484d53595b5d5d5d5d5d5d504b3f2e1c080012273b4f61696a6a6a6a6a6a6a61503c2713000d213344505560606060606060605b56494b4f5861676a6d6f6e6b69645c554c473a3026180c00000000000000000000000a1f3347586a7f94a5b7cadce2d0bfb09e968174625a4d483c39362d312f302731353839464e63788ea3b8cde3d3bea8937e69533e291400162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e1900000000021628384859647a8a9ea7b7c3d1dedacdbfb3a69d908175645c4f4332281b0e00000000000000000000000000081826303e4a4f5856606054544b45382c1f0f00000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251e30414b6175869ca9babcab9e8877625443301c22384d62778da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c475c71869cb1c6dbe0cab5a08b75604b36200b000c21364c61768ba1b6cbc6b19c86715c4751667b91a6bbd0c1ab96816c56412c17000000162b40556b8095aab5b5b5b5b09b8577889aa2b1b6c2c1c4c3c0c2b5b1a39b887a645d667c899ba3b0b5c1c1c3c3c1c5b8b3a79e927f69604e3c2c1901000000000000000c182530353c38454b45383c39301e170b00000000000000000000000000000f1f2c3a474c5a62696e70727272727272655d4b37230e0014293e54697e7f7f7f7f7f7f7f6a553f2a150013283d50626b757575757575757571674b5d646d767c7f828483807e79726a61594b43362a1c0d000000000000000000000c22374c6177899eb3c3d4e6d5c4b3a196806d6056493c352b24211a1c1a1a151d202328394e63788ea3b8cde3d3bea8937e69533e291400162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e1900000000000a1a2b3b4a5c647a899da5b4c0cde0ddcfc4b7b29f97867a6a614b45392b1e100200000000000000000000000008182b3b484c5757575757534e42311a0f0100000000182d42586d8297adc2d7e4cfbaa48f7a654f3a252c3c4d5f6d8297a4b6c7c9b8a69a8472604a3e2e22384d62778da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a6552525252525252525252525252525252525c71869cb1c6dbe0cab5a08b75604b36200b000c21364c61768ba1b6bbbbb19c86715c4751667b91a6bbbbbbab96816c56412c17000000162b40556b80959f9f9f9f9f9f9b86717784939ca4a9acaeaeaba8a39b928578645c4d5e667885939ba3a9abaeaeacaaa79e96897d69614f42311e0e00000000000000000008131c2027283236322827241d120300000000000000000000000000000b1b2c3d4958616d787e83858787878787877b65503a2510001e33485e73889494949494948c755f4a352000162b40556b808a8a8a8a8a8a8a8a8571616c7a828a929597999896938e877f77686054473a2b1d0d000000000000000006192c3c556a8095a7b9cce1e0cbb7a69a8373604b45382c20190e0c070d0f121212121223394e63788ea3b8cde3d3bea8937e69533e291400162b40556b8095aac0d5dbc6b09b86715b46311c000003192e43586e8398adc3d8d8c3ad98836e58432e190000000000000d1d2d3e4a5c6479879aa2b0bccbd5e2d4cbbdb1a49c8c7f6e6057483c2e20100200000000000000000000000b20344859626c6c6c6c6c68604e3a26110000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2737495a677d929fb1c2d3d5c4b3a2947f695c4a3929384d62778da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a6767676767676767676767676767676767676771869cb1c6dbe0cab5a08b75604b36200b000c21364c61768ba1a5a5a5a59c86715c4751667b91a5a5a5a5a596816c56412c17000000162b40556b808a8a8a8a8a8a8a8a857162737e868f9497999896938f867d75625a4b404d5a63747d858e9396999997958f898176675f4f43322414000000000000000000000000070b12161e211e16110f090000000000000000000000000000000417293a495b6376828b93989b9c9d9d9d9d907b66503b2611001e33485e73889daaaaaaaa9f8c755f4a352000162b40556b80959f9f9f9f9f9f9b867175818d989fa9aaacafadaba9a49c95897e736158483c2b1d0d000000000000000c2035495a71869cb1c5d6e6d4c3b39d887661554432281a0e0602101b2224272727272727394e63788ea3b8cde3d3bea8937e69533e291400162b40556b8095aac0d5dcc7b19c87725c3a2a18040003192e43586e8398adc3d8d8c3ad98836e58432e190000000000000010202d3e4a5b637784969eb3b8c4d0e1dfcec3b6aa9f948275625a4b3f2e201001000000000000000000000d22374c627781818181817e68533e28130000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a3144556278899eb3becee0e2d0c0b49f8b7a64574633384d62778da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7ead4bfaa957f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d879db2c8dde0cab5a08b75604b36200b000c21364c61768b90909090909086715c4751667c90909090909090816c56412c1700000013283d50626b75757575757575757167546068717a7f818483807e7a71686056483c303c4956606871797e818484827f7a746c61584d413225150600000000000000000000000000000002090b09020000000000000000000000000000000000000a1f334658637987979faaaeb0b2b2b2b2a5907b66503b2611001e33485e73889db3bfbfb49f8a755f4a352000162b40556b8095aab5b5b5b5b09b857787979fabb4bac7c2c4c3c0c2b6b1a79e938576625a483b2b19090000000000000e23384d63788da4b5c9e4dfcab7a5937e6958463726150a000010202d36393c3c3c3c3c3c3c4e63788ea3b8cde3d3bea8937e69533e291400162b40556b8095aac0d5ddc8b39e88735847331f0a0004192e44596e8399aec3d8d8c3ad98836e58432e19000000000000000210202d3d4959617380909da6b3bfcdd7e1d3c8bbb4a0988578645d4b3e2e1f0f0000000000000000000011263b50667b909797979785715b3a2a180400000000182d42586d8297adc2d7e4cfbaa48f7a654f3a3f4b6074859ba8b9ccdceceee2cebbaa9d8776614c41384d62778da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7ecd7c3af9e9591919191919191919191919191919191919191919da6b7cbdfe0cab5a08b75604b36200b000b20354b60737b7b7b7b7b7b7b7b654f3a4c61777b7b7b7b7b7b7b79634e38230e0000000d213344505560606060606060605b56434b535c64696c6f6e6b69645c534b45382b1e2c38454b535c64696c6e6e6c6a6560554c473a31231507000000000000000000000000000000000000000000000000000000000000000000000000000004182a3a4c6176879ca5b4bbc8c5c7c7c7bba5907b66503b2611001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0cacac7b29c87879ca5b5bcc9cdd7d7d9d8d5d3cac5b8b3a29b867862594837261401000000000115273754697e94a9c2d2e5ddc7b29d8774604b3a2919090000071b2d3e4a4f525252525252525263788ea3b8cde3d3bea8937e69533e291400162b40556b8095aac0d5e0cbb8a68c77614c37220d00031729395b71869bb0c6dbd8c3ad98836e58432e19000000000000000002101f2c3b4755606b7c8899a1b4bac7d2dfd9cebeb2a39b887b645c4b3d2c1b0b00000000000000000013293e53687e93a8acac9e89745947341f0a00000000182d42586d8297adc2d7e4cfbaa48f7a654f3b4c5d6b8095a3b5c6d6e8f4f4ead8c8b6a598826d5f4e3d4d62778da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7ecdeccbcafaaa7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7b2b7c4d4e6e0cab5a08b75604b36200b00081d3144556066666666666666655d4b3747596166666666666666635b4935210c000000041526333d404a4a4a4a4a4a4a4a464230353e4b4f5457595956534f4b3e3632281a0e1a2832363e4a4e545659595755504b4437332a1c13050000000000000000000000000000030a0c121515130d0b050000000000000000000000000000000a1f3347586c8196a5b6c3cecfcac7bab4b3a5907b66503b2611001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5dfcab6a59c9ca4b6c3cec9c7c5c6c9ccd6dbded6ccc0b4a49c8777625544311d0e00000000081d31445570859ab0c5dae7d5c5aa95806a5645311c0c0000000d22364a5c64676767676767676767798ea3b8cde3d3bea8937e69533e291400162b40556b8095aac0d5e7d5c5a6907b66513b2b18090a1e33465773889eb3c8ddd7c2ac97826d57422d18000000000000000000010f1d2a37444b5e667783939fa9b5c1cee1e2cfc1b5a69e8a7a645b49392916030000000000000001162c41566b8196abc0b9a78c77614c37220c00000000182d42586d8297adc2d7e4cfbaa48f7a654f4759657b8d9fb5c1d1e4e3dfdfe2e6d3c3b2a0927d685b494d62778da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7eceadaccc3bfbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcc8cbd4e2f2e0cab5a08b75604b36200b0001152737444b505050505050504f4b3f2e3b474c505050505050504e493d2c1a0600000000071521282b3535353535353535312e1c202e373a3f424443413e3a372e211e160a000a151d202d36393e41444442403a3531271f170c0000000000000000000000000000010b161e21272a2b282220180d04000000000000000000000000000c22374c61778a9fb4c3d3c9bcb5aba99f9e9e907b66503b2611001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5e6d3c3b6b2b1b6c2c7bab4b2b0b1b4b9c6c6cfe0e0d1c2b6a59a8473604b3d2c1a060000000b20354b60748a9fb4c9dfe0ccb8a78f7a644f382715000000000f24394f647a7c7c7c7c7c7c7c7c7c7f94a9bed4e8d3bea8937e69533e291400162b40556b8095aac0d5ead7c2ad98826d594836261e1a27374c61768ba6b8cbe0d5c0ab96806b56412b1600000000000000000000000c192731404c59616f7e8a9ba3b1bdcdd7dfd2c5b8a89e8979635746321e100000000000000000132536596e8499aec3c5a48f7a644f3a250f00000000182d42586d8297adc2d7e4cfbaa48f7a654f546177889dabbccfdfdacfcac9ced8e1cfbeb49e8a7963564d62778da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7ecf8eaded7d4d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1dddfe6f2ffe0cab5a08b75604b36200b000009192731353b3b3b3b3b3b3b3a372e212a34373b3b3b3b3b3b3b38352c1f0f000000000000040d131620202020202020201c1908101b22252a2c2f2e2b2925221b10090300000002090f1a2124292c2f2f2d2a25201d150904000000000000000000000000000008141c2932363c3f403d37342b1f170c00000000000000000000000012283d52677d92a9bacdcfbcab9f968c8a8888887b65503b2510001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5eae1d3cac7c6c1b5b0a99f9c9b9c9ea8aeb2beccd6e0d3c3b4a2957f6a5b4935210e0000000e23384d63788daabbcee2ddc8b39e8874604b35200b00000002172c41576c81919191919191919191949daec2d6e8d3bea8937e69533e291400162b40556b8095aac0d5eadfc9b49f8b7762544437322c354455697e94a9c4d5e7d4bfa9947f6a543f2a1500000000000000000000000009151d2f3b474c60687985979fb4b9c6d6e3d5c6b9a79c8675614b3e2d1b07000000000000071c30435471879cb1c6bda7927d68523d281300000000182d42586d8297adc2d7e4cfbaa48f7a654f60728399a6b7c9dadac9bcb5b4bac7d8e1cdb9a89b8574604d62778da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7ecfff7ede7e5e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0f1f3f9fff5e0cab5a08b75604b36200b00000009151d202626262626262625221b10181f222626262626262623211a0f01000000000000000000000b0b0b0b0b0b0b0b06040000080d0f14171a1916140f0d08000000000000000000070d0f141719191715100b08010000000000000000000000000000000818263039464b515555534d483b332a1c0c0000000000000000000002182d42576d8297acc7d7cab59f8d807775737373655d4b37230e001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5eaf1e6d9c9bcb4a39b918a878587899098a0b3b9c5d6e2d1c0b49f8c79634e3c2b1905000011263b50667b90a5c8d8eadac5af9a85705443301c0800000002172c41576c8196a7a7a7a7a7a7a7a7a9aebbcbdee8d3bea8937e69533e291400162b40556b8095aac0d5eae2cdbaa999837260554b453d494e6074879db2c7dde6d3c3a6917c67513c27120000000000000000000000000001121d2a34424e5b637481929ea8b9c5d5e3d6c5b6a497826d5c4a36220e0000000000000b20354a6074899fb4c9c0aa95806b55402b1600000000182d42586d8297adc2d7e4cfbaa48f7a655c697f94a1b3c4d5e3cfbcab9f9fa9bacee2d7c6b5a396816c5e62778da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7ecf3e5dad2cfcacacacacacacacacacacacacacacacacacacacadcdee5f0fee0cab5a08b75604b36200b0000000001080b11111111111111100e0800040b0c111111111111110e0c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008182636434b5761676a6a6862594c473a2a1c0c000000000000000000051a2f445a6f8499afc4d8c3ad98826e6260545e5e504b3f2f1c08001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5eaf5e3cfbcab9f94857c76727071757b83909ea7b9c6d6e2cebbaa97826d5a4835200b000012273c52677c91a7bcd1e6d8c3ad98836e583626140100000002172c41576c8196acbcbcbcbcbcbcbcbec2cbd9e9e8d3bea8937e69533e291400162b40556b8095aac0d5eaead7c7b3a19781736660565b5b636e8096a5b7cbdfdfcab6a58c77624c37220d0000000000000000000000000000000c181f313d4956606c7d8a9ea7b8c5d5e4d3c2b49f8c7a644f3c2b190500000000000d22384d62778da9bacdc3ad98836e58432e1900000000182d42586d8297adc2d7e4cfbaa48f7a65647a8b9fb4bfd0e2d2c1b59f8d8b9fb4bfcfe2d2c1b09e907c6662778da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7ece5d5c8bebab5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5c6c9d3e0f0e0cab5a08b75604b36200b000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c121515120c0b04000000000000000003090b111516130d0b06000000000000000002090b111516130e0c0600000000000000000000000000000114263643546069767c7f807d776d6158473a2a18040000000000000000061b31465b70869bb0c5d0bba6917b66514b4349493b372f211100001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5eae5cebdb49f8d7f726761575b5560656e7b899ea8b9cde1d9c8b49f8b78624d38220d000013283d53687d92a8bdd2e7d6c1ab96816c56412c170000000002172c41576c8196acc1d1d1d1d1d1d1d4d6dee9f2e8d3bea8937e69533e291400162b40556b8095aac0d5eaf5e5d0bfb19f97867c757170727883969eb0c3d4e6d8c8b29d8772594834200b0000000000000000000000000000000004141f2c38454b5f677a899ea7b8c8d8e3cfbcab99846f5a4835200b000000000010253a50657a8fa5c7d7c6b19b86715c3b2a1805000000182d42586d8297adc2d7e4cfbaa48f7a6575879caabbceddd6c6b5a396807e93a1b3c4d4dfcdbdb39e887762778da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7ecdac8b7aaa5a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0b1b6c2d3e5e0cab5a08b75604b36200b000000040d131620202020202020201c191309000000000000000000000000000000000000000000020c171f21272a2b28221f180c0300000000000a161e21262a2b282320190e0500000000000a151d20262a2b2923211a0f06000000000000000000000000081c30435460727f89919495928b8276615847331f120000000000000000071c31465c71869bb1c6ceb9a38e79644e3930263325231c110300001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5ead7c7b19f927d6960544b4639444b505d65798a9eb4c2d2e2cebbaa95806a553a2917040013283d53687d92a8bdd2e7d6c0ab96816b56412c160100000002172c41576c8196acc1d6ddddddddddddddddddddddd3bea8937e69533e291400162b40556b8095aac0d5eaf0e5decebeb1a49c91898785878d98a0b0bccde2e2cebbaa95806b563b2b18050000000000000008080808080808080800010f1a2832414d5c647a899eaabbcee2d9c9b49f8b78624d38220d000000000013283d53687d92a8bdd2c9b49e89745948341f0b000000182d42586d8297adc2d7e4cfbaa48f7a6d8298a5b6c8d8e1ccb9a89b85736e8399a6b7c8d9e0cbb8a69a8472788da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7ecd2beaa99908b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b9ca4b6c9dee0cab5a08b75604b36200b0000071521282b3535353535353535312e261b0d0000000000000000000000000000000000000009151d2933363c40403d37342a1e160b000006141a2832363c3f403e38352b20180d000005131a2731363b3f403e38352c20190e0000000000000000000005182a3b4b607282949ea8aaaaab9f988776614c402f1d0900000000000000071c31465c71869bb1c6cdb8a28d78634d3823141e100e08000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5e2cdbaa997826d5f4a4336322931353f4c5b677d92a4b5c9ded8c8b09b85705847331f0a0011263b51667b90a6bbd0e5d7c2ad98826d58432d180000000002172c41576c8196acc1c8c8c8c8c8c8c8c8c8c8c8c8c8bea8937e69533e291400162b40556b8095aac0d5eae0d3cac7c6c2b5b1a99f9c9b9da5aeb2becddae6d4c4b49f8b78624d37220d000000000002090b1e1e1e1e1e1e1e1e1e110f090a161e303e4a5c647a8b9fb4c2d3e3cfbcab947f6a553625130000000001162b40566b8095abc0d5cdb9a88c77624c37220d000000182d42586d8297adc2d7e4cfbaa48f7b7d92a0b2c3d3e0cebeb49e8a78636176879daabbcee2d5c5b4a2947f788da2b7cce2d9c4af9a846f5a452f1a00182d42586d8297adc2d7e5cfbaa5907b7575757575757575757575757575757575757574869cb1c6dce0cab5a08b75604b36200b00041526333d404a4a4a4a4a4a4a4a4642382b1b0900000000000000000000000000000000000a1927313a464c525555524c473b32281b0b0917243138454b515555534d493c342b1d0e0816233038454b505455534e493d352c1e0f0100000000000000000b1f3448596a8095a0b3b9c6c9bcb4a598826e5e4c38240f00000000000000071c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5dfc9b49f8a77624c4130251e161d202f3d4d5f71869cb1c6dbdfcab49f8b76614c37210c000f24394f64798ea4c9d9ebd9c4af9a846f5a3d2c1a0600000002172c41576c8196acb3b3b3b3b3b3b3b3b3b3b3b3b3b3b3a8937e69533e291400162b40556b8095aac0d5e5d3c2b6b1b1b5c2c7bab4b1b0b2b7c3c6cfdce5d7c8b7a697826d594834200b000000000a161e2133333333333333333326241d120213202e3e4a5c6a8095a4b6caded9c9af9a846f5443301c0700000004192e43596e8398aec3d8d6c6a48f7a654f3a2510000000182d42586d8297adc2d7e7d2bda7927d8a9eb4becfe1d3c2b19f927d675a58657b8c9fb4c0d1e3d0c0b49f8c7c91a7bcd1e6d9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a6560606060606060606060606060606060606071869cb1c6dbe0cab5a08b75604b36200b000d213344505560606060606060605b5649382613000000000000000000000000000000000a1a2837444b5861676a6a6761594b4639281b172735424e5660666a6b68625a4c483b2b1e162633414d5660666a6b68635b4d493c2d1f0f00000000000000000d22374c62778a9fb4beccd6d9cfc3b2a0917c66513c261100000000000000071c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5d7c2ad98826d5948341c13080308111f314153687d93a8c5d6e2cebbaa917b66513c2611000d22374d62778cabbccfe3ddc7b29d88725b4935210800000002172c41576c81969d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d937e69533e291400162b40556b8095aac0d5decab6a49c9ba3b5c3cdc9c6c5c7cad4dbe2ded2c7baaa9d8876614c3b2b19050000000a1a2832364848484848484848483c382f22120210202d3e4b6074869cb1c6dcdec9b39e8974604a35200b000000071c31465c71869bb1c6dbd2bda8927d68533d2813000000182d42586d8297adc2d7ecdec9b39e899ea8b9cddcd7c7b6a497826d5f4d4b5d6a8095a2b4c5d5e2cebbaa9e899eb3c9deefd9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b5c71869cb1c6dbe0cab5a08b75604b36200b0013283d50626b7575757575757575716756422e19040000000000000000000000000000021528384555606b767c7f807d776c6157463928243545526069757b7f807d786e6259483c2b233344505f67747b7f807e786f625a4a3d2d19090000000000000013293e53687e93a9bacde1e8ebe3cfbeae99836e59442e1900000000000000071c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5d2bca7927d67523b2a1800000000011323384d62788da7b9cce0d9c8a8937e68533e2913000b20354b60748a9fb4cadfdfcab7a58e78634e36251300000001162b40566b80888888888888888888888888888888888888887e68523d281300162b40556b8095aac0d5dcc7b19c86869ba5b3bfcacfd9d7d9d8d6d3cac2b5a99f8c7c655847331d0d00000002162838454b5d5d5d5d5d5d5d5d5d514c402f1d0902101d314556697e93a8bed3e0ccb9a78d77624d38220d000000091e33485e73889db3c8ddd4bfaa947f6a553f2a15000000182d42586d8297adc2d7ece0ccb9a79ea7b9c6d6e2cdbaa99c8675614b413f4b6073849aa7b8cce0d8c8b9a79ea7b9cce0efd9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a3636363636363636363636363636475c71869cb1c6dbe0cab5a08b75604b36200b00162b40556b808a8a8a8a8a8a8a8a85715b46311c060000000000000000000000000000091d3245566073808a919595928b817561574632324252636d7e88919495938d8377625a4835304150626b7d88909495938d8478635b4a37271501000000000000172d42576c8197acc7d7e9fcfeeddcc7b29c87725d47321d00000000000000071c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5ceb8a38e79634e39240e00000000000b2035485a74899eb3c9ded5bfaa95806a55402b1500081d31445572879cb1c7dce6d4c3a9947e695443301c0900000014283d50626b7373737373737373737373737373737373737368604e3a251100162b40556b8095aac0d5dbc6b09b85778799a1afb4bcc9c2c4c3c1c2b6b1a49c8a7c665e4c3a2a1700000000091e32455660737373737373737373665e4c38240f00021527384e63788ea3b8cde8d6c5a38e79634e39240e000000091e33485e73889db3c8ddd4bfaa947f6a553f2a15000000182d42586d8297adc2d7ece8d6c5b9b3b9c5d6e2d0bfb49f8b7a645746323144556278899eb3bdcee0d6c5b9b3b9c5d6e8efd9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a2520202020202020202020202031475c71869cb1c6dbe0cab5a08b75604b36200b00162b40556b80959f9f9f9f9f9f9b86715b46311c0600000000000000000000000000061a2c3d4b607484959fa9aaaaaa9f978575614b3e394f606d81939ea7aaaaa8a0988878624d41374d5f6b80929da6a9aaa8a1998979635544311d08000000000000182e43586d8298adc2d8edfffff2ddc8b39d88735e48331e00000000000000071c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5ccb7a18c77624c37220d000000000006192b3c5d72879cb2c7dcd6c1ac97816c57422c170001142637566b8096abc5d6e8dbc6b19c8673604a3727150100000e21334450565e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e524e41311e0b00162b40556b8095aac0d5dbc6b09b86717783919a9fababadafadaba9a49c93867a665e4c402f1c0c000000000b21364b60748788888888888888877c66513c261100000c21364c61768ba1b6cbe0cfbaa58f7a65503a2510000000091e33485e73889db3c8ddd4bfaa947f6a553f2a15000000182d42586d8297adc2d7ecf3e3d6ccc9ccd6e3d4c4b3a1937e695c4a392826374859667c919fb1c2d2e3d6ccc9ccd6e3f3efd9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a25100b0b0b0b0b0b0b0b0b0b1c31475c71869cb1c6dbe0cab5a08b75604b36200b00162b40556b8095aab5b5b5b5b09b86715b46311c06000000000000000000000000000c2135495b6c8197a2b4bac7c8bbb4a396816c5c4b4657697e939fb3b8c5c0bfb2a69a846f5f4d4455677d929eb2b7c4c0bfb3a79b8573604b35200b000000000000162b40566b8095abc1d2e4f3f4e7d5c5b09b85715b46311c00000000000000071c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5ccb7a18c77624c37220d000000000006192b3c5d72879cb2c7dcd6c1ac97816c57422c17000010253a50657a8fa7b9cce0dec9b5a4917c675544311d130000041626333d40484848484848484848484848484848484848483d3a3123130100162b40556b8095aac0d5dbc6b09b8671626e7c848b9395989a9896938d867e73645c4c402f21110000000000091e32455674899d9d9d9d9d9d9d947e69543e2d1c0f0d1024394e63798ea3b8cee3cfbaa5907a65503b2510000000091e33485e73889db3c8ddd4bfaa947f6a553f2a15000000182d42586d8297adc2d7ecfff3e8e0dee0e8d9c8b7a699836e604f3d2d1b192b3b4c5e6c8196a3b5c6d7e8e0dee0e8f3ffefd9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000071c31475c71869cb1c6dbe0cab5a08b75604b36200b00162b40556b8095aac0cacac6b09b86715b46311c06000000000000000000000000000e23384e63798c9fb4c0cdd7d8cec1b59f8c7a644f4b6176899eb3bdccd5d5cfc4b3a2927d67524b6074879db2bccbd4d5d0c5b5a3947f695437271502000000000010253b50657b90a3b5c6d5dfdfd8cbb8a695806b56402b1600000000000000071c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5ceb8a38e79634e39240e00000000000b2035485a74899eb3c9ded5bfaa95806a55402b1500000b20354b6075899eb3c9dee5d2c2b19c8673604b41301c130800081621282b333333333333332836434b524b43362633333328251e13050000162b40556b8095aac0d5dbc6b09b86715b5f676f777d80828483817e78726860554b3e2f2212030000000000021628385c72879cb1b2b2b2b2af99846f5c4a3a2d2422232f4052677c91a7bcd1e9d7c7a38e78634e39230e000000091e33485e73889db3c8ddd4bfaa947f6a553f2a15000000182d42586d8297adc2d7ecfffffbf5f3f3e2cebbaa9d8776614c42321f0f0d1d30404b6074859ba8b9cde1ecf3f5fbffffefd9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000071c31475c71869cb1c6dbe0cab5a08b75604b36200b00162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000000000000000000152a40556a7f95abbccfe1e9eae2cfbcab97816c5752677c91a7b9cce0e8eae2d0c0af9a856f5a50657a90a6b7cbdfe7eae3d2c1b19c86715544311d0800000000000b20354a6072859ba8b8c4cacac8bbb39e8877614c37220c00000000000000071c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5d2bca7927d67523b2b1805000000001325364d62788da7b9cce0d9c8a8937e68533e29130000081d3144556d8398adbfcfe6dec9b6a496816c5f4d41302518110b050e14161e1e1e1e171f2d39455460676054433626181e13110b01000000162b40556b8095aac0d5dbc6b09b86715b4d515962686b6d6f6e6c69635b534b44372e201204000000000000001a2f455a6f849aafc4c8c8c8b59f8d7a64584a3d3937383f4c5e6e8399aec3d8e1cdbaa98c76614c37210c000000091e33485e73889db3c8ddd4bfaa947f6a553f2a15000000182d42586d8297adc2d7ecfffffffff3e3d1c0b49f8c7b6558473324140100121d32455663798a9eb4becfe1f1ffffffffefd9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000071c31475c71869cb1c6dbe0cab5a08b75604b36200b00162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000000000000000000192e44596e8399aec9d9ebfcfeecdac9b09a85705b556b8095aac5d6e8fbffeeddc8b39e88735e54697e94a9c4d4e6faffefdfcab59f8a74604b36200b0000000000071c304354647a8a9ea6b1b4b5b2aa9f917d675947341f0a00000000000000071c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5d8c2ad98826d5948342014080308111c304354687e93a8c5d6e2cebbaa917b66513c26110000011527374f647a8fa1b2c8d9e5d3c2b09f927d675f4a43362f221f1817151517161e212a333d4a5760727d7260544336261909000000000000162b40556b8095aac0d5dbc6b09b86715b463b484d5356585a5856544e493d353126191002000000000000000014293f54697e94a9c1d2ddcfbcab9c8676635b524e4d4e515d667c90a1b2c6dbdec9b49f89745847331f0a000000091e33485e73889db3c8ddd4bfaa947f6a553f2a15000000182d42586d8297adc2d7ecfffffffbe8d5c5b4a2957f6a5d4b3a2a1706000002152838495b687d92a0b2c3d3e6f6ffffffefd9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000071c31475c71869cb1c6dbe0cab5a08b75604b36200b00162b40556b8095aac0d5dbc6b09b86715b46311c06000000000000000000000000001a2f445a6f8499afc4d9eefffff0dbc6b19b86715c566c8196abc1d6ebfffff4dec9b49f89745f556a7f94aac9daecfffff5e1cdb9a88b76614c36210c0000000000001325364a5c657b88959c9f9f9d978b7f695f4d3a2a180400000000000000071c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5dfc9b49f8a77624c4130261e171d202f3d4a6073869cb1c6dbdfcab49f8b76614c37210c0000000922364a5c6e8399aabbcee2e0cdbdb49f8b7d6a60544c3f37342a2c2a2a2c2832363a474c5b637583928272605444372619090000000000162b40556b8095aac0d5dbc6b09b86715b462b34373e40434543413e38352c201d1409000000000000000000000d23384d62788da3b5c9dddac9b6a49c86796e67636263676e7b889eb3bfcfe2d8c8ae99846e593a2a1704000000091e33485e73889db3c8ddd4bfaa947f6a553f2a15000000182d42586d8297adc2d7ecfffffef0e0ccb8a79a8473604b3f2e1c0c000000000a1a2c3d4e606e8298a5b6c8d8eafdffffefd9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000071c31475c71869cb1c6dbe0cab5a08b75604b36200b00162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000000000000000000182d42576d8297acc3d4e6f4f4e7d3c3ae99846f5954697f94a9c0d0e3f1f7e8d6c6b29c87725d52687d92abbccfe3f0f5ead8c8b49e89745846331f0a00000000000008182d3d4b5d65767f868a8a88827969614f41301c0c0000000000000000071c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5e2cdbaa997826d604b433633293135404c5b687d92a4b5c9ded8c8b09b85705847331f0a000000071b2d3e4e63798c9fb4c3d4e5e2cdbaa99f928072655d534c473b413f3f4139454b5158616c798599a09782726055443726190900000000162b40556b8095aac0d5dbc6b09b86715b46312022282b2d2f2e2c2923211a0e080100000000000000000000000c2035495a71869bb0c0d0e4d3c2b6a49c8c837d7977787c838d9ea6b8cbdde2cebbaa927d68533d281300000000091e33485e73889db3c8ddd4bfaa947f6a553f2a15000000182d42586d8297adc2d7ecfffff0dfcdbdb39e89786255443121110000000000000f1f31424c6176879daabbcee2eeffffefd9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000071c31475c71869cb1c6dbe0cab5a08b75604b36200b00162b40556b8095aac0d5dbc6b09b86715b46311c060000000000000000000000000012273c52677c91a5b6c8d6dfdfd7c9b6a5937e69544e64798ea2b4c5d4dfe0d9ccb9a897816c574d62778c9fb5c4d3dfe0decebbaa99836e593a291704000000000000000f1f2e3f4b58616a717575736d635b4f43322312000000000000000000071c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5ead7c7b19f927e6960544b4639444b505e66798a9eb4c2d2e2cebbaa95806a553a29170400000000102135495b6d8297a5b7c7d7e9d7c7bab49e95857b6f6862595856545557595760666d77818c9ba3b1a098827360554437271909000000162b40556b8095aac0d5dbc6b09b86715b46311c0d1316181a1917140e0c06000000000000000000000000000006192c3c50667b90a2b3c5d6e0d3c2b6ab9f98928e8c8d91989fabb8c4d5e6d5c4b49f8b77614c37220c00000000091e33485e73889db3c8ddd4bfaa947f6a553f2a15000000182d42586d8297adc2d7ecfff4e4d2c1b09f917c6659483726140300000000000001131e334657647a8b9fb4bfd0e2f2ffefd9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000071c31475c71869cb1c6dbe0cab5a08b75604b36200b00162b40556b8095aac0d5dbc6b09b86715b46311c06000000000000000000000000000b20364b6074879daab9c5cacac7baab9d8775614b4a5c6f849aa7b7c3c9cbc9bcb49e8a78624d48596e8298a6b6c2c9ccc8bdb49f8b79634e39240e00000000000000000110212e3a464c5554606056574e493d322414050000000000000000040a1c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5eae5cebeb59f8d7f736761575b5560656e7b899ea8b9cde0d9c8b49f8b78624d38220d0000000000061a2c3d4c6177879da9bacde1e5d7cdbcafa39b90847d77716e6c6a6a6c6e70767c8289969faab5beb2a0988273605544372715010000162b40556b8095aac0d5dbc6b09b86715b46311c06000103050301000000000000000000000000000000000000000e23384c5e6f849aa7b9c8d8e0d3c9bcb4aea7a3a2a3a6aeb5bcc9d5e2d9c8b8a696806b5947341f0a00000000091e33485e73889db3c8ddd4bfaa947f6a553f2a15000000182d42586d8297adc2d7ecfce9d7c6b5a396816c5e4c3b2b19090000000000000000031729394a5c697f94a1b3c4d5e7f7efd9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000071c31475c71869cb1c6dbe0cab5a08b75604b36200b00162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000000000000000000091d314556657b8c9ea7b2b4b5b2a99f8d7b6557463d4d6378899da5b1b4b8b3ab9f937e685a483b4c6277879ca4b0b4b8b3ad9f957f6a5b4a36210c00000000000000000002101b29333636434b4b453838352c1f140600000000000000000b171f212f405c71879cb1c6d6c6a28d78624d38230d00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5eaece3cfbcab9f94857c76727071757b83909ea7b9c6d6e2cebbaa97826d5a4835200b0000000000000f1f344759647a8a9fb4bcced9e6e2ccc1b5b1a29a928b8683817f7f8183858a91989ea8b4bbc8cebeb2a0988273605544311d080000162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000000000000000000000000000000000000000000091c2f404e6379899eaabbc8d4e3d9cfcac3bcb8b7b8bcc3cacfdae5d7cdbbaa9d8876614c3a2a180400000000091e33485e73889db3c8ddd4bfaa947f6a553f2a15000000182d42586d8297adc2d7e5e5e1cdb9a89b8574604b402f1d0d000000000000000000000b1b2e3e4a6072849aa6b8c9daece5d9c4af9a846f5a452f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000071c31475c71869cb1c6dbe0cab5a08b75604b36200b00162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000000000000000000021527384b5d667c89959c9f9f9d968a7d675d4b3935495a647a87949b9fa69d988c7f6a604e3c344859637986939b9fa79e988f8173604b3d2d1a0700000000000000000000000b171f2126303536312723211a0f0100000000000000000b1b2933363d4c5e74899eb4c9ccb9a88b76614b36210c00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5eaf1e6dac9bcb5a39b918a878587899099a1b3b9c5d6e1d1c0b49f8c78634d3c2b190500000000000004182a3b4a5c677d929eb4bbc8d6e3dfd2c9c0b4afab9f9b9896949496989b9fa9adb3b9c6ced9dccfbeb2a0988373604b35200b0000162b40556b8095aac0d5dbc6b09b86715b46311c060000000000000000000000000000000000000000000000000000122135495b657b8c9faab7c4cfd9e2dfd8d1cecccdd1d8dfe3ddd2c7bab49f8c7c665746331c0c0000000000091e33485e73889db3c8ddd4bfaa947f6a553f2a15000000182d42586d8297adc2d0d0d0cfbeb49e8a79635645322212000000000000000000000000101c3043546277889dabbccfd0d0d0c4af9a846f5a452f1a00182d42586d8297adc2d0d0cfbaa48f7a654f3a2510000000000000000000071c31475c71869cb1c6d0d0cab5a08b75604b36200b00162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000000000000000000000a1a2e3f4c5e667780878a8a878178675f4d3f2e2c3c4a5c64757f868a8b8882796a615042312a3b495b63747e858a8b88837a6c605544311f0f00000000000000000000000004101b22252c2f302d27201d150900000000000000000417293a464c585b657b90a8b9cdc9b49e89745746331e0a00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5eae1d3cac7c6c1b5b1aa9f9d9b9c9ea8aeb2bfccd6e0d3c3b4a2957f6a5b49351e0e00000000000000000c1d2d3e4d5f6b80949faab9c5d3e0e4ddd0c8c9bcb5b0adaba9aaacaeb0b4bac7c9ccd6e2e7d9cfc1b4a69d8878624d38230d0000162b40556b8095aac0d5dbc6b09b86715b46311c060000000000000000000000000000000000000000000000000000061a2c3d4b5d677d8c9da6b4bcc9ced8dbdddfe2e1dedcd8d1c8c1b5a99f927e685e4c392917000000000000091e33485e73889db3c8ddd4bfaa947f6a553f2a15000000182d42586d8297adbbbbbbbbc3b2a0927d685b4938281504000000000000000000000000001325364759657b8d9fb5c1bbbbbbbbaf9a846f5a452f1a00182d42586d8297adbbbbbbbbbaa48f7a654f3a2510000000000000000000071c31475c71869cb1bbbbbbbbb5a08b75604b36200b00162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000000000000000000000011212f404c59616b727575726c625a4d4131211e2d3e4a57616a717575736d645c504333241d2c3c49566069707576736e645d4b443726140100000000000000000000000c171f2e373a414445423c3531271910020000000000000a1f334658616e7179879cb2c6d4c3b09b85705b3929170300000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5e6d3c3b6b2b1b5c2c8bbb4b2b0b1b4b9c6c6cfe0e0d1c2b6a59a8472604b3c2c19000000000000000000001020304150626b7f8c9ea7b6c2cbd5e0e3dcdacfcac6c3c1bfbfc1c3c5c9cdd7dee1e4ddd2c9bcb4a39b8879635a4935200b0000162b40556b8095aac0d5dbc6b09b86715b46311c060000000000000000000000000000000000000000000000000000000f1f2f3f4d5f677b87989fabb4bbc8c6c8c9cecdc9c7c3c0b4b0a39b8a7e68604e402f1b0b000000000000091e33485e73889db3c8d0d0bfaa947f6a553f2a15000000182d42586d8297a5a5a5a5a5a5a598826d5f4e3d2c1a0a000000000000000000000000000008182a3b4c5d6b8096a3a5a5a5a5a5a59a846f5a452f1a00182d42586d8297a5a5a5a5a5a5a48f7a654f3a2510000000000000000000071c31475c71869ca5a5a5a5a5a5a08b75604b36200b00162b40556b8095aac0d5dbc6b09b86715b46311c060000000000000000000000000000000312222f3b474c5655606055574d483c3123130f202d39464b5454606056584e4a3d3325150e1e2c38454b5454606056584f4b3f3126190900000000000000000000000c1c2a333e4b4f565a5a58514b44372d20100100000000000c21364c617682868b9ca5b6cac5b7a5937e68533e28130000000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5dfcab6a59c9ca4b5c3cec9c7c5c6c9cdd7dbded5ccc0b4a49c8777625443301e0e0000000000000000000002132333445061697c899ca4b3b7c4ccd6dee0e3dfdbd8d6d4d4d6d8dadee1e7dfddd2c9c1b5ab9f968577635b493c2b19060000162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000000000000000000000000000000000000000000000001112130414d5d6476828c979faaabb0b2b4bbb9b4b2aea9a29a91857968604e4131221200000000000000091e33485e73889db3bbbbbbbbaa947f6a553f2a15000000182d42586d8290909090909090908775614b41311f0f000000000000000000000000000000000d1d2f3f4b6074859090909090909090846f5a452f1a00182d42586d8290909090909090908f7a654f3a2510000000000000000000071c31475c718690909090909090908b74604b36200b00162b40556b8095aac0d5dbc6b09b86715b46311c000000000000000000000000000000000004121d2a343737444b4b443738352b1e1305010f1b28323636434a4b453839362d1f1507000e1a28323636434a4b45383a372e1d140900000000000000000000000c1c2a3a474c5c646c6f6f6d6760554a3e2d1f0f00000000000d22374c62778c9c9faab6c3bdb0a79d8775614b36210c0000000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5dcc7b29c87869ca4b5bcc9cdd7d7d9d8d5d3cac5b8b3a29a867862594836261400000000000000000000000005162633434f5e667986939da6b3b9c5c9ccd6d9dcdfe2eaeae2dfdddad7d4cbc8c1b5b0a39b8c81746259493d2c1e0e000000162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000000000000000000000000000000000000000000000000031323303f4b58616d79828a90969b9d9faaa89e9d99938e857c73635b4e423123130400000000000000091e33485e73889da5a5a5a5a5a5947f6a553f2a150000000e24394e63797b7b7b7b7b7b7b7b78625746332313010000000000000000000000000000000000111d31445562777b7b7b7b7b7b7b7b79644f39240f000e24394e63797b7b7b7b7b7b7b7b7b76614c36210c0000000000000000000010253a4f657b7b7b7b7b7b7b7b7b7b74604b35200b00162b40556b8095aac0d5dbc6b19b86715c372715020000000000000000000000000000000000000c181f222631353631272220190e000000000b161e2125303536322824211a0f010000000a151d2025303536322825221b100100000000000000000000000417293a4758616e7a818485827c74645c4a3d2d1909000000000d22374c62778ca1b4bbc8c4b09f968979635746331e0a0000000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5dbc6b09b857786979fabb4bac7c1c4c3c0c2b6b1a79e9284766259483b2b18080000000000000000000000000008162432404c5b63747e88949ea7adb3b9c5c4c7c9cdd7d8cec9c7c4c1c4b7b2aba39b91857a6b6056483b2c1f0f00000000162b40556b8095aac0cacac6b09b86715b46311c0600000000000000000000000000000000000000000000000000000000000513202e3a474c5b636d767b8186888a8b8b8987837e7970666054493d312413050000000000000000091e33485e738890909090909090907f6a553f2a150000000c21364a5b636666666666666666625a4839291705000000000000000000000000000000000000021527374859626666666666666666645c4a36220d000c21364a5b63666666666666666666615846331f0a000000000000000000000e22374b5d65666666666666666666605443301c0800162b40556b8095aac0d5ddc7b29d88725544311d0800000000000000000000000000000000000000040b0c141d20201d150d0b0500000000000003090c131c20201d150f0d0700000000000002090b131c20211e160f0d08000000000000000000000000000a1f3346586176838f96999a9791867a645b4a372715010000000d22374c62778ca1b7ced8c1ac968176635b49392917030000000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5dbc6b09b867175818d989fa9aaacafadaba8a49c95897d726158483b2b1d0d0000000000000000000000000000000614222f3d49556068757f8992989ea7abaeb2b4bac7c7bab4b2afaca8a69d968e857c72645c4b45382b1d0f0100000000162b40556b8095aab5b5b5b5b09b86715b46311c0600000000000000000000000000000000000000000000000000000000000002101c2a333d494e5761666c717374767674726e69635b514b43362c1f13060000000000000000000010253b50657b7b7b7b7b7b7b7b7b78624d38230d000000071a2d3d4a4e50505050505050504d483c2b1b0b000000000000000000000000000000000000000009192a3b484c50505050505050504f4a3e2d1b0700071a2d3d4a4e5050505050505050504c463a29170400000000000000000000081b2e3f4b4f5050505050505050504b433626140100162b40556b8095aac0d5dfc9b49f8a75604b36200b0000000000000000000000000000000000000000000001080b0b080200000000000000000000000000070b0b090200000000000000000000000000070b0b0902000000000000000000000000000000061a2c3d4c61768699a1abafafada49c8b79635544311d080000000d22374c62778ca1b7c5cfc9b39e897f72604a3f2e1b080000000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5dbc6b09b8671616c7a828a919497999896938e867f77686054473a2b1d0d000000000000000000000000000000000003111f2c37444b57606a767d83898f96999c9fa9a1a1a99f9d9a97928d888179706660544a3e31271a0d000000000000162b40556b80959f9f9f9f9f9f9b86715b46311c0600000000000000000000000000000000000000000000000000000000000000000c181f2c3539464b51565b5d586160565d59544e4a3d353026180f0100000000000000000000000e23374b5d656666666666666666625a4935200c000000000f1f2d36393b3b3b3b3b3b3b3b38352b1e0e000000000000000000000000000000000000000000000d1d2a34373b3b3b3b3b3b3b3b39362d20100000000f1f2d36393b3b3b3b3b3b3b3b3b3633291c0c00000000000000000000000010212e373a3b3b3b3b3b3b3b3b3b35302618080000162b40556b8095aac0d5e2cdbaa98f79644f3928160701080b0f0e0c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c2136495b6e8298a4b3bfc4c4c2b6a99b8573604b35200b0000000d22374c62778ca1adb2beccb9a79e94816c5d4b37220e0000000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5dbc6b09b86715b5d646d767c7f828483807e79716a61584a43362a1c0d00000000000000000000000000000000000000000e19273139454b5861676e757a8084878a8b8c8b8b8a8885827d78736b645c514a43362d1d150a00000000000000162b40556b808a8a8a8a8a8a8a8a85715b46311c06000000000000000000000000000000000000000000000000000000000000000000040e1a212932363b41463a464c4b4538443e39362d201c140800000000000000000000000000081c2e3f4b5050505050505050504d493c2c190600000000010f1a212426262626262626262320190e0000000000000000000000000000000000000000000000000d181f22262626262626262624221b1002000000010f1a2124262626262626262626211f170c0000000000000000000000000002101b2225262626262626262626201c1408000000162b40556b8095aac0d5ead7c7aa95806b574632221b151d20252321190e00000000000000000000000000060c0e0f0f0f0f0f0f0f0f0f0d0b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000e23394e63798ea0b2c2d0d9dad3c7b5a3937e69533e29140000000d22374c62778c9198a0afbcc5b9b39f8f7a654f3a25100000000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5dbc6b09b86715b4b4f5761676a6c6f6e6b69635b554c473a3025180c0000000000000000000000000000000000000000000009151d28323a464c525560656b6f72747576767574726f6c68635b564f4a3e353025181002000000000000000013283d50626b7575757575757575716756422e19040000000000000000000000000000000000000000000000000000000000000000000000060b161e21262c312933363632282e2924211a0f080100000000000000000000000000000011212e373b3b3b3b3b3b3b3b3b38352c1e0e00000000000000070c0e11111111111111110d0b060000000000000000000000000000000000000000000000000000050b0d11111111111111110f0d0700000000000000070c0e1111111111111111110c0a0400000000000000000000000000000000080e101111111111111111110b080100000000162b40556b8095aac0d5eaddc8b39d8875614b43372e2731353a38352c1e0e00000000000000000000000e1921232424242424242424242220180d0000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f556a7f94aabecfe0edefe5d2c1af9a846f5a45301a0000000b20354b6073797c82959eafc8ccbdad98836d583727150200000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5dbc6b09b86715b4639464c5255575a5856534e4a3d37332a1c1308000000000000000000000000000000000000000000000000020a161e29333637444b5056595d5560616160555d5a57534d493c39362d201c1308000000000000000000000d213344505560606060606060605b56493826130000000000000000000000000000000000000000000000000000000000000000000000000000030a0c11171c171f21211e1619140e0c0700000000000000000000000000000000000003111c232526262626262626262320190e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000162b40556b8095aac0d5eae0cbb8a696816c614f4b3e37444b4f4d493c2c19060000000000000000000e1e2c35383a3a3a3a3a3a3a3a3a37342b1d0d00000000000000000000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7ecfeffefddc7b29d87725d48331d000000081d3144556063666d8095aabbcec8b39d88735544311d0800000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5dbc6b09b86715b462933363c3f424443413e39362d221f180c00000000000000000000000000000000000000000000000000000000030c171f212731353a414437444b4c4c4b443745423d38352c24221b1007000000000000000000000000041526333d404a4a4a4a4a4a4a4a4642382b1b090000000000000000000000000000000000000000000000000000000000000000000000000000000000000100040a0c0b090300000000000000000000000000000000000000000000000000080e1011111111111111110d0c06000000000000000000000000061016182020202020202020200e0c060000000000000000000000000000010b111320202020202020202020202013110b020000000000061016182020202020202020202020202020201f1d1b1917140e0c0700000000000000000000000000000000000000000000000000162b40556b8095aac0d5eae7d5c4b09f947f6f645c5b5a556064635b4935210c000000000000000006192c3c494d4f4f4f4f4f4f4f4f4f4c483b2b1805000000000000000000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc9daecfffff2ddc8b29d88735d48331e00000001142637444b4e5161768b9fb4cacab59f8a75604b36200b00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5dbc6b09b86715b46311e21272a2d2f2e2b2924211a0f0a0400000000000000000000000000000000000000000000000000000000000000040a0c151d20252b2f2731363736363127302d282321190f0d07000000000000000000000000000000071521282b3535353535353535312e261b0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000917232a2d35353535353535353523211a0f01000000000000000000000005131e252835353535353535353535353529261f14060000000917232a2d3535353535353535353535353535353533312f2d2a23211a110b0801000000000000000000000000000000000000000000162b40556b8095aac0d5eaf2e2cdbdaf9d94847a73706f71757a78634d38230e00000000000000000c2135495b6364646464646464646462594834200f000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f556a7f94abbccfe3eef0e5d2c2af9a84705a45301b00000000091926313539465772889db2c7cfbcab8d77624d38220d00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5dbc6b09b86715b46311c0c1215171a1916140e0c070000000000000000000000000000000000000000000000000000000000000000000000000001080b10161a151d202121201d151a17130e0c0600000000000000000000000000000000000000040d131620202020202020201c1913090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c1116191a1b1b191814100c09030000000000000000000000000000061727353f424a4a4a4a4a4a4a4a4a38352c1f0f00000000000000000000051323313a3d4a4a4a4a4a4a4a4a4a4a4a4a3e3b3124140200061727353f424a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a484644423f39362d26201d15090000000000000000000000000000000000000000162b40556b8095aac0d5eae4d6ccc9bbafa1998f88858587898f7d67523d271200000000000000000e23384d63797a797979797979797a77624c3d2d1a0700000000000000000000000000000000000000000000000000000000000000000000000000000e23394e63798c9fb5c2d0dadad3c7b5a3937e69533e2914000000000009141d2029395c71869bb1c6dab8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5dbc6b09b86715b46311c06000002050301000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010002080b0c0c0b08020002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080c181f22262b2e2f31302f2d2a25211e160b070000000000000000000000001023354552586060606060606060605e493d2c1a06000000000000000004122331414e52606060606060606060606060534e42311f0b001023354552586060606060606060606060606060605f5d5b5957544e4a3d3b3531271c1308000000000000000000000000000000000000162b40556b8095aac0d5e8d6c6b9b4b9bfb3afa69d9b9a9c9e927c67523d2712000000000000000013283e53687d8f8f8f8f8f8f8f8f8f836f5b4a36210c00000000000000000000000000000000000000000000000000000000000000000000000000000c21364a5b6c8196a4b3bfc4c5c3b6a99b8673604b36200b00000000000001081c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5dbc6b09b86715b46311c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080b101416181a1b1a1816140f0b080100000000000000000000000000000000000000000000000000000009151d202a33373c414345464544423f3a363228201c130800000000000000000000162a3f52636d757575757575757575705b4935210c0000000000000003122230414e5f6875757575757575757575757568604e3b261100162a3f52636d7575757575757575757575757575757472706e6c69635b57504b4437302518120300000000000000000000000000000000162b40556b8095aac0d5e1ccb9a89ea8b3bfc4b7b3b0afb1a7927c67523d271200000000000000000b21364b6075889ea4a4a4a4a4a4a18e79634e3a2a180400000000000000000000000000000000000000000000000000000000000000000000000000071a2d3d4b60758699a1acafb0ada59d8b7a645544311d0800000000000000071c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5dbc6b09b86715b46311c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d131620202020202020201c1913090000000000000002090b1b202020202020202020201a0b080100000000000000000000000000000000000001080b141d20252a2c2e2f312f2d2c2924201c140b0700000000000000000000000000000000000000000000000211192731353a474c5156585a5b5b595854504b4639353025180f010000000000000000182d42586d828a8a8a8a8a8a8a8a8a79634e38230e0000000000000211212f404d5f687d8c8a8a8a8a8a8a8a8a8a8a8a7e68533e291300182d42586d828a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a888684827f79726c6660554a43362f1e170b000000000000000000000000000000162b40556b8095aac0d5dec9b49e8999a1b3c8cbc8c5c4bca7927c67523d27120000000000000000091e3245566b8095a9bab9b9b9bfac97826d5947341f0a00000000000000000000000000000000000000000000000000000000000000000000000000000f1e3245566177848f969a9b9892877a645c4a3727150200000000000000071c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5dbc6b09b86715b46311c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071521282b3535353535353535312e261b0d00000000000a151d2030353535353535353535352f201d15090000000000000000000000000000000109151d202631353a3f414345464543413f3a353026201c130800000000000000000000000000000000000000000a151d2f37444b525861666b6e6f70706e6d69656157504a43362d1f150700000000000000182d42586d82979f9f9f9f9f9f9f8d78634e38230e00000000000210202f3f4c5e677d8c9fab9f9f9f9f9f9f9f9e947f69604e3b261100182d42586d82979f9f9f9f9f9f9f9f9f9f9f9f9fa99f9d9b9997948e87817b746760544c4033291b0f0100000000000000000000000000162b40556b8095aac0d5dbc6b09b858399aabac7d5dad1bca7927c67523d27120000000000000000031628384c62778b9fb4c9cecec9b49f8a77614c3828150200000000000000000000000000000000000000000000000000000000000000000000000000031628384759616f7a818585827d74645c4b3e2d19090000000000000000071c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041526333d404a4a4a4a4a4a4a4a4642382b1b090000000a1a273136454a4a4a4a4a4a4a4a4a4a4435312719090000000000000000000000000009151d27313537444b4f5456585a5b5a5856544f4b43363530251c130800000000000000000000000000000000000a1a2731404c55606770777c808384868584827f7a766e6560544a3d32251507000000000000182d42586d8297adb5b5b5b5b5a38d78634e38230e000000000110202e3f4b5d667c8c9faabbb5b5b5b5bdb09e957f6a614f42311f0b00182d42586d8297adb5b5b5b5b5b5b5b5b5b5b5b5bab4b2b0aeaca9a59d9690877c72665e4c46392c1f1204000000000000000000000000162b40556b8095aac0cacac6b09b86788b9fa9b8c5ccd5bca7927c67523d27120000000000000000000a203448596d8298adc0d1e1cdbaa9957f6a5645321d0900000000000000000000000000000000000000000000000000000000000000000000000000000a1a2a3a474c5d656c6f706d6760564b3e2e200f000000000000000000071c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5dbc6b09b86715b46311c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d213344505560606060606060605b5649382613000008182738454b5a60606060606060606060594b443727150100000000000000000000021019273137444b52556065696b6d6f706f6d6b69646054514a43363025180e00000000000000000000000000000009192738454b5e66747c858c9196989a9b9a9997948f8a837b72635b4f43332515060000000000182d42586d8297adc2cacacab8a38d78634e38230e000000000f1f2d3e4b5d657b8b9faabbc8d9cacebeb19f96806b6150433224140200182d42586d8297adc2cacacacacacacacacacad8cec9c7c5c3c1c3b7b2aca49c91867c6e6157493d2f2212040000000000000000000000162b40556b8095aab5b5b5b5b09b86717c8b9ea7b3b8c5bca7927c67523d271200000000000000000005182b3b4e64798ea2b4c8dcd7c7b39d8875604b3620110000000000000000000000000000000000000000000000000000000000000000000000000000000c1c2a343f4b50575a5b58524b45382e201001000000000000000000071c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0d5dbc6b09b86715b46311c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013283d50626b7575757575757575716756422e19040013253645566070757575757575757575756f605544311d080000000000000000000513202d37444b5560676e747a7f818384868482817e79746d6760544a43362c1e1204000000000000000000000000011527374556606c7b87919aa2a6abadafb0b0aeada9a99f989085796a6150443324140000000000182d42586d8297adc2d7dfcdb8a38d78634e38230e0000000e1e2d3d4a5c647b8a9ea9bac8d8ddcfbeb1a097816c625143332514060000182d42586d8297adc2d7dfdfdfdfdfdfdfdfdfeae2dfdddbd9d7d4cac7c3b6b2a39b908375635b4c403022120200000000000000000000162b40556b80959f9f9f9f9f9f9b8671667b89949ea7a5a8a7927c67523d2712000000000000000000000d21364a5c6f849aafc2d3e0cbb8a6927d68523f2f1c080000000000000000000000000000000000000000000000000000000000000000000000000000000c181f2e373a414546433d3631271a100200000000000000000000071c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aac0cacac6b09b86715b46311c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000162b40556b808a8a8a8a8a8a8a8a85715b46311c04121c3043546074848a8a8a8a8a8a8a8a8a8a8473604b35200b0000000000000000081623303e4a556068747d83898f9496989a9b9a9896948f88837c73676054493c2f22140600000000000000000000000a1d314455607481909da5b0b4c0c0c3c4c5c5c3c2c7bab4ada39b8b7f6a625042321e0e00000000182d42586d8297adc2d7e2cdb8a38d78634e38230e00000e1e2c3c4a5b647a899ea8b9c7d7ded0bfb2a0978172604a4434251507000000182d42586d8297adc2d7ecf4e6dad2d0cbcbcbcbcbcbcdcfd2d8dedfdcd3cac2b5b1a1998679665e4c4030201000000000000000000000162b40556b808a8a8a8a8a8a8a8a85715d65757f888d9092918e7d67523d271200000000000000000000071a2d3e51667c91a4b6caded5c4b19c86715d4c38230f0000000000000000000000000000000000000000000000000000000000000000000000000000000004111c23252c30302e27201d150a000000000000000000000000071c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b8095aab5b5b5b5b09b86715b46311c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000162b40556b80959f9f9f9f9f9f9b86715b46311c122332424a60728298a29f9f9f9f9f9fa59b8575615544311d080000000000000006162633414d5c64737d8792999ea7a9abadafb0afadaba9a79e9891867c72635a4c40322414040000000000000000000a1a30404b607383979fb2b7c3c8d1d5d8d9dbdad9d7d7cdc9c1b4aa9f94806a604f3c2b1905000000182d42586d8297adc2d7e2cdb8a38d78634e38230e000d1d2b3c495a6379899ea7b9c6d7ded0c0b3a19882726054433026160700000000182d42586d8297adc2d7ece6d6c8bebab6b6b6b6b6b6b8babdc3c9ccd6deded2c9bfb3a49c8a7c665e4c3e2d1d0d00000000000000000013283d50626b757575757575757571675657616a74787b7d7c7975604b35200b00000000000000000000000f20354a6073879cb1c5d6dec9b5a4907b65503d2c1a060000000000000000000000000000000000000000000000000000000000000000000000000000000000080e10171a1b18120b090200000000000000000000000000071c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b80959f9f9f9f9f9f9b86715b46311c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000162b40556b8095aab5b5b5b5b09b86715b46311c2130414f606b8096a0b2c0b5b5b5b8a79d8777615746372715010000000000000314243344505f677a87929da5aeb3b9c5c0c2c4c5c4c2c0c5b8b3ada49c918578665e4f423222120100000000000000021628384d5f6d8298a1b1bdcad4dde4dddad6d2d4d7dee1e2dfd1c8bbb49e937e695a4835200d000000182d42586d8297adc2d7e2cdb8a38d78634e38230e0c1c2a3b485a6378889da7b8c5d6dfd1c0b3a2998373605443362513080000000000182d42586d8297adc2d7ecdac8b8aba5a0a0a0a0a0a1a3a5a7adb3b9c5c9d3e1ded0c2b6a89e8d7c665c4a3b2b190900000000000000000d213344505560606060606060605b5649464b54606266686763605544311d080000000000000000000000071c304354687e93a7b8cce0d2c2ae99846f5b4935210c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a352000162b40556b808a8a8a8a8a8a8a8a85715b46311c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000162b40556b8095aac0cacac6b09b86715b46311f2e3f4d5f697e939eb0becfd9c8baa89e897963594739281909000000000000001121314250626b7d8a9ca4b2b6c3c9ccd6d6d8d9dbd9d7d6d5ccc8c2b5b1a39b897c69614f40301f0f00000000000000091e324556677c91a0b2bfcedfe6dfd1c8c5c0bdbfc2c9ccd6e4e6d8cebcb49f8a78624d3b2b18050000182d42586d8297adc2d7e2cdb8a38d78634e38230e1b2a3a48596278879da6b7c5d5e0d2c1b4a29a837460554436261808000000000000182d42586d8297adc2d7ecd2beab9a908b8b8b8b8b8c8d8f92989ea7b1b6c2ccd6e0d3c6b9ab9e8a7a6459483727150100000000000000041526333d404a4a4a4a4a4a4a4a4642383236434a4d5053524e4b44372614010000000000000000000000001325364b6075899eb3c8d8dfcab59f8c79634e3a2a1704000000000000000000000000000000000000000000000000000000030a0c1216181a1917140f0d07000005070b0b0b0b0b0b0b0b000000000000000000000000071c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3c8cab49f8a755f4a35200013283d50626b7575757575757575716756422e190400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46312c3d4b5d677d8d9fb4bccde2cebbaa9f8a7a645b493b2a1b0b000000000000000c1c2e3f4e606b80929fa9b6c3cad3dee0e6dfdddad9dbdddfe6e0ddd2c9c1b5a79e8d7f695e4d3d2d1a0a0000000000000b21364b6075879db2becfdde2d4cbc1b4b0aba8a9adb4b9c6cedceae1cdbaa899836e594834200b0000182d42586d8297adc2d7e2cdb8a38d78634e38231b293a47586277879ca5b7c4d5e0d2c2b5a39a84756056453727180800000000000000182d42586d8297adc2d7e5d0baa5907c767676767676787a7d8389919ca4b4b9c6d4e1d6c9b9a89d8877625544311d0b0000000000000000071521282b3535353535353535312e261e253035383b3d3c39353126190900000000000000000000000000081e3245576b8095aabbcee2cfbcab97816c5847331f0a00000000000000000000000000000000000000000000000000070b171e21272b2d2f2e2c2a24221b10071a1c202020202020202015130d040000000000000000071c31465c71869bb1c6cdb8a28d78634d38230e00000000000000001e33485e73889db3bbbbb49f8a755f4a3520000d213344505560606060606060605b56493826130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b462b3b495b657b8b9fabbccfdaccbcb49f8c7c665c4b3c2c1d0c0000000000000004172a3a4b5d687e939eb4bac7d3dfe6dfdcd4cac7c5c4c5c7cbd4dddfe5ded2c5b9ab9f8d7c665b4a382816030000000004172a3a53697e93a5b7cadce6d4c4b7b2a39b969394989ea8b1becedce9d7c6b59f8c77624d37220d0000182d42586d8297adc2d7e2cdb8a38d78634e3823283946586176869ca5b6c3d4e1d3c2b5a49b8575615745382819090000000000000000182d42586d8297adc2d7e4cfbaa48f7a6561616161616365686e757c86929ea8b7c3d3e0d7c6b7a69b8573604b392917030000000000000000040d131620202020202020201c191308131c202226282723201d14090000000000000000000000000000031628394d62778b9fb4c9dfdac9b49f8a77614c3827150200000000000000000000000000000000000000000000010f1a212933363c40424444413f39362d201c2e3135353535353535352a2820150700000000000000071c31465c71869bb1c6cdb8a28d78634d382313130d0b05000000001e33485e73889da5a5a5a59f8a755f4a352000041526333d404a4a4a4a4a4a4a4a4642382b1b090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b463948596379899ea9bac9d9cebeaf9e937e685e4c3e2e1e0e00000000000000000a1f334758657b8c9fb4bccdd7e5e3d4cac7c3b7b2b0afb0b2b7c3c8cbd4e2e3d6c9bcab9e8a79635645321e0b000000000a1f3347586f859aafc3d4e6d9c8b7a69d9185817d7f8289979fb1becfe6e3cfbcab937e69533e29140000182d42586d8297adc2d7e2cdb8a38d78634e38283846576176859ba4b5c3d3e1d4c3b6a49c867661574639281a0a000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f4b4b4b4c4e5052556066737d8a9da5b6c2d3e4d4c4b5a3937e685746331e0d0000000000000000000000000b0b0b0b0b0b0b0b0604000000070b0d1113120e0b0801000000000000000000000000000000000a203448596d8298adc0d1e1cdbaa9947f6a5645311d0900000000000000000000000000000000000000000009151d2d3639464b5256585a5956544e4a3e353043464a4a4a4a4a4a4a4a403c33251504000000000000071c31465c71869bb1c6cdb8a38d78634e382928282220190d0000001e33485e73889090909090908a755f4a35200000071521282b3535353535353535312e261b0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b3746576277879da7b8c7d7d0bfb1a095806b604e402f2010000000000000000004182a3a4c6176889eaabbcee1e7dacfc3b6b2a8a59d9b999b9da5a9b2b7c4cddae7d9c9b9a89d8775604b392916030000000c21374c61768a9fb4cadcdccebbaa9d887c706b686a6d778297a0b2c8d9ebdac9af9a846f5a3626140100182d42586d8297adc2d7e2cdb8a38d78634e383745566175849aa3b5c2d2e1d4c4b6a59c867761584739291b0a00000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a363637383a37444b55606879879ca4b6c6d7e2d2c1b39e8876614b3b2b1805000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005182b3b4f647a8ea2b4c8ddd7c7b39d8874604b36201100000000000000000000000000000000000000000a1927313d4a4e5761676b6d6f6e6c69645c534a43565c606060606060606055504333200d000000000000071c31465c71869bb1c6cfbaa58f7a65503b3e3e3e38342b1d0d000010253b50657b7b7b7b7b7b7b7b65503b2610000000040d131620202020202020201c19130900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b44556175859ba5b7c5d6d2c1b3a197826d6250423122120200000000000000000a1f3447596b8095a6b8c8d8e7dac9bcb5a59d938d87858486888d939da6b0bccad8e7d7c6b6a5947e695746321e0a00000011273c51667c91aabbc7c7c7c7b49f8c7b665e56535459616d8298aabbcee2ddc8b29d88735443301c0800182d42586d8297adc2d7e2cdb8a38d78634e3744556074849aa2b4c1d2e0d5c4b7a69d87776259473a2a1b0b0000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2521212325273137444b5b6377869ca8b9cde1e0cbb8a695806b594834200b0000000000000000000000000000000610161920202020202020201916100600000000000000000000000000000000000000000d22364a5c70859ab0c5dadfcbb7a6927d67523f2e1c080000000000000000000000000000000000000a1a2737444b5b636e767c80828483817f7971686054677175757575757575756a61503c2813000000000000061b30455b70859ab0c5d3bea8937e6959545353534d483c2b1905000e23374b5d65666666666666655e4c38230e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b546073849aa3b5c3d4d4c3b5a3998373604b44332414040000000000000000001325364c61778a9eb4c5d5e6dac9bcab9f95877e7772706f7072787e87969eadbacadbe4d4c3b39e8875614b36210e00000014293e53697e93a8b2b2b2b2b2ac96816c5d4c403e3b474c62778b9fb4cadfdfcab49f8a74604b35200b00182d42586d8297adc2d7e2cdb8a38d78634e445560738399a2b4c0d1dfd5c5b8a69d88786259483b2a1c0c000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100c0e10151d26313d4a5963798a9eb4c1d1e4d5c5b49f8a77624c37220d00000000000000000000000000000a18232b2e35353535353535352e2b23180a000000000000000000000000000000000000000b20354a6074879cb1c6dce7d4c4b19b86715d4b37230e0000000000000000000000000000000000021527384555606b79838a919597999996948e867e726271858a8a8a8a8a8a8a8a7f6a55402a1500000000000004192e44596e8399aec3d8c7b29d87776c6a686868625a4834200b00081c2e3f4b50505050505050504c402f1c0900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0c1115181a1b1c1b191815110d0b050000000000000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b60728298a2b3c2d2d5c5b7a59b857561554431261506000000000000000000071c3043546b8096a8b9cde3e3cfbcab9f8d7f7468625a5b5a5b5a62697480939cadbdcee3e0cbb8a6947f6a543c2b19050000162b40556b80959d9d9d9d9d9d9d917c67513f2f282a34485970859bb0c5dbe2cebbaa8c77614c37220c00182d42586d8297adc2d7e2cdb8a38d78634e5460738298a1b3c0d0ded6c6b8a79e8879635a493b2b1d0c00000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000209141d2d3b495b677d92a3b4c8dde1cdbaa9937e69543a2a1704000000000000000000000000061828363f434a4a4a4a4a4a4a4a433f362818060000000000000000000000000000000000071a2d3d50667b90a4b6cadef2dec9b5a38f7b65503c2c1906000000000000000000000000000000000c1d3145566073808b999fa9abadafaeaba9a49c93847871869b9f9f9f9f9f9f957f6a55402a1500000000000000152a40556a7f95aac2d2cbb7a59d8a827f7e7d7e78624d38220d000011212e373b3b3b3b3b3b3b3b382f21110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b0d161e21262a2d2f3031302e2d2b262220180f0b070000000000000000000000000000000000162b40556b8095aac0d5dbc6b09b8671606b8095a0b2c0d0d7c7b8a79d877762574637271507000000000000000000000b20354a6074889db3c6d7e7d4c4b59f8d7d6a60554d483c443c484d56606b7e939fb1c5d6e7d5c5b19c86715a4835200b0000162b40566b8087878787878787878778634d382313182a3b586e8398adc3d8ead8c8a38d78634e38230e00182d42586d8297adc2d7e2cdb8a38d78634e60728197a0b2bfd0ded7c6b9a89e8979635b493c2b1d0d0000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000010f1d2c3d4d5f70859bb0c2d3e5d7c7af9a856f5847331f0a000000000000000000000000102336465358606060606060606058534636231000000000000000000000000000000000000c21364a5b6f849aafc2d3e5f8e5d2c1ae99836e5b4935210c0000000000000000000000000000000c1c30414b607483969faab4bac7c2c4c3c1c2b5b1a29a8877869bb1b5b5b5b5aa957f6a55402a150000000000000010253a4f657a8fa4b5c9d4c3b7a89e97949393907b66503b2611000003111c232526262626262626231c1103000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d181f222932363c3f42444546454442403c37342b25201c1308020000000000000000000000000000162b40556b8095aac0d5dbc6b09b8671697e939eb0becfd9c9baa99e89796359483929190900000000000000000000000f24394e64798ea6b7cbe4dfcbb7a695806b5f4b4437342b2f2b3538454b606c8196a7b8cce0decab6a48d78624d38220d000014283d50626b727272727272727272635a4935200c182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7e2cdb8a38d7863626c8196a0b1becfddd7c7baa89e8a7a645b4a3d2c1e0e000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000f1f304150667b90a4b6cadedfcab49f8b77614c37210c000000000000000000000001162b3f53646e75757575757575756e64533f2b160000000000000000000000000000000005182a3b4e63798ea2b3c7e0f0fff0dfcab59f8c78634d3a291704000000000000000000000000000417293a4d5f6e8298a1b4bbc8ced8d7d9d8d6d2c9c0b4a69c86879cb2c7cacabfaa957f6a55402a15000000000000000e22374b5d71869cb1bcced4c6b9b4aca9a8a5907b66503b261100000000080e10111111111111100e09000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a212a343739464b5154585a5b5b5a595855514d483b3a3530251e160a01000000000000000000000000162b40556b8095aac0d5dbc6b09b86717c8d9fb4bccde3cfbcab9f8b7b645b493b2a1b0b000000000000000000000000152a3f546a7f94a9c4d5e7ddc8b29d8874604b41312720191a19202832424b6176899eb3c8dee5d3c2a8937d68533e281300000e21334450565d5d5d5d5d5d5d5d5d4d493c2c1906182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7e2cdb8a38d78636b80969fb1becedcd8c8baa99f8a7b655c4a3d2d1f0f00000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000011323384c5e72879cb1c7dce2cebbaa927d68523d2813000000000000000000000003192e43586e828a8a8a8a8a8a8a8a826e58432e19000000000000000000000000000000000b1f3448596d8297adc0d0e3fefff8e3cfbcab96816c5847331f09000000000000000000000000000a1f334758677d92a0b2bfced8e2e0d6cdc9c6c5c7cbc4b5a49c9ca5b6cadfd4bfaa957f6a55402a1500000000000000081b2e3f51667c909eb4bbc8ccccc9c1bfbba5907b66503b26110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e19202d363b484c535761666a6d6f7071706e6d6a666259564f4a433632281d14090000000000000000000000162b40556b8095aac0d5dbc6b09b857a8b9fabbccfdacdbcb49f8d7c665d4b3d2c1d0d000000000000000000000000051a30455a6f849aafc4dae7d5c4a9947f695645321d15090500060a151e3346576b8095aac6d6e9d8c3ae98836e59432e190000041626333d4048484848484848484838352c1e0e00182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7e2cdb8a38d786a7f959eb0bdcedcd9c8bbaa9f8b7b655d4b3e2d1f0f0100000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000091c2f40566b8196abc0d6ebd9c8ad98836d58432e18000000000000000000000003192e43586e83989f9f9f9f9f9f98836e58432e19000000000000000000000000000000031628384c62778b9fb4c9dfeeedebedecdac9b49f8a76614c372715020000000000000000000000000c21374c6176899eb3bfcfe2e3d5ccc6b9b4b1b0b2b7c3c2b5b1b2b6c3d3e6d4bfaa957f6a55402a1500000000000000001024384c5e6b80949faab3b9c5bdbdbdbba5907b66503b26110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141d2b353e4a4e5962686f767b7f82848586858382807b77736c6460544b45383126190f01000000000000000000162b40556b8095aac0d5ddc8b29d88889ea9bac9d9cfbeb09e937e695e4c3f2e1f0f00000000000000000000000000031628395d72879db2c7dce0cbb8a68d78634e382815020000000000031729394f647a8fa8b9cde1dbc6b19b86715c362513000000081621282b3232323232323232322320190e0003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7e2cdb8a38d797f949dafbccddbdac9bbaa9f8c7c665d4c3f2e2010010000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000011263b50657b90a5c7d8eadbc6b09b86715b372715020000000000000000000003192e43586e8398adb5b5b5b5ad98836e58432e19000000000000000000000000000000091e3245566b8095a9bacee2e0d8d6d8e0e1cdbaa8947f6a5544311d080000000000000000000000061a2c3d54697e93a7b8ccdde4d5c5b8b3a89e9b9b9da5adb1bec6c7cad3e1ead4bfaa957f6a55402a150000000000000000091d2f4051626b7f8c989ea7a6a8a8a8a8a5907b66503b26110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1926313c484d5c646f777d848a919497999a9b9a999795918c88817a736960564b44372c1f14060000000000000000162b40556b8095aac0d5dfcbb7a69d9ea7b8c7d7d2c1b2a095806b604e403020100100000000000000000000000000091e32455774899eb4c9deddc8b39d88735b49351a0a000000000000000b20354b6075899eb4c9deddc8b39d88735443301c07000000040e14161d1d1d1d1d1d1d1d1d0e0c06000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7ebd6c0ab9681949daebbccdae3cfbcab9f8c7d675e4c3f2f211002000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000c21374c61768ca9bacee2dec9b49e89745544311d080000000000000000000003192e43586e8398adc3cacac3ad98836e58432e190000000000000000000000000000001325364b6075889eb3c7d8dbcdc4c1c4cddbd7c6b29d8874604b36201100000000000000000000000c2136495b71869cb1c5d5e8d6c6b8a79e92898686888d97a0b4bcc9d9e6f1ead4bfaa957f6a55402a15000000000000000000122234445161697982898e919293939393907b66503b261100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2937444b5a626d79848c93999fa9a9adafb0b0afaeadaaa6a69d968f877e75696055493d3124160100000000000000162b40556b8095aac0d5e7d4c4b7b2b3b8c5d5dec9b5a3988272604a423122120200000000000000000000000000000b21364b60768ba8b9cde1dbc5b09b86705b3d2c1a0000000000000000081d31445572879cb1c7dcdfcab49f8a75604a35200b00000000000001080808080808080808000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7ecd8c4b09e969eaebbcbdae6cbbbb59f8d7e685f4d402f21110300000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000a1f334758748a9fb4c9dfe1cdb9a88b75604b36200b0000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e190000000000000000000000000000071c304354687e93a7b8cce0cdbdb0abb0bdcddfcbb7a6927d67523f2e1c08000000000000000000000e23394e63798ea4b6c9e3e1ccb9a89e897d757170727982929fabbccfe3f2ead4bfaa957f6a55402a1500000000000000000004162634434f5b636d74797b7d7d7d7d7d7e78624d38220d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002101e2c3a4655606b78828d999fabafb4bac7c2c4c5c6c5c3c2bfc4b7b2aba59d93887e73635b4e42331c1408000000000000162b40556b8095aac0d5eae2d4cbc8c8ccd5e3dbc6b19b8675605443302414040000000000000000000000000000000d23384d62788da2c6d7e9d9c4af99846f5a442f1a0000000000000000011426375b70859ab0c5dae2cebbaa8c76614c37210c00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7ece0cdbcb0abb0bccbd9ebd9c8ae9d937e685f4e41302212030000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000417293a5d73889db2c8dde9d6c6a18c76614c37210c0000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e1900000000000000000000000000000b20354a6073869cb1c5d5d2c2b09e969eb0c4d4d4c4b09b85715d4b37230e0000000000000000000013283d52687d92a7c2d3e5d9c8b39e89796860565b5b636d7d8d9fb4c4d5e7ead4bfaa957f6a55402a1500000000000000000000081625323d494e55606466686868686868625a4834200b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010202e3c49586173808b989fabb5bcc9c9cdd7d7d9dadbdad8d7d5d4cbc8c3b7b2a69d93857968605144302618080000000000162b40556b8095aac0d5e7d5c5b8b3b4bac7d7dfcab49f8c7c665c4a3c2b1c0c0000000000000000000000000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000001a2f455a6f849aafc4d9ead8c8a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7ecebdbcdc4c0c4cddbe9e2cebbaa947f69604e4131231204000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000031628395d72879db2c7dcead8c8a18c77614c37220c0000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e1900000000000000000000000000071a2d3d51667b90a4b6cadec9b5a4968196a6b7cbddc9b5a38f7a654f3c2c1906000000000000000000172d42576c8197acc1d7e2cebbaa95806b5b4b453d494e5f6b8095a6b8cbe0ead4bfaa957f6a55402a15000000000000000000000007151f2c3537444b4f515353535353534d483c2b190500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1d2e3e4b5b637683959fa9b5bcc9cfdadfe2e3dfdddbd9dadcdfe2e6dfddd4cac4b7b2a39b8a7e6b624b433626140100000000162b40556b8095aac0d5e0ccb8a79e9fa9bac9d9cebbaa9e8a7a645a493a2a1a0a00000000000000000000000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7ececdac9bcb5bcc9d9e7dfcab49f8b7b655b493a2a1a0a00000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000091e32465774899eb4c9dee2cebbaa8b76604b36210b0000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e19000000000000000000000000000d21364a5c6f849aafc2d3d6c6b19c8675889db3c8d9d2c1ae99836e5a4935200b0000000000000000001a30455a6f859aafc4dadfcab49f8b78624d3d322c35414b6075889db3c8ddead4bfaa957f6a55402a15000000000000000000000000000e1a21263135393c3d3e3e3e3e3e38342b1d0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1b2b3c4b5c64798699a1b4bac7cfdae3e0ded9cfcac8c6c4c5c6c9cdd7dcdee5dfd4cbc1b4a99f93806d605443301c1402000000162b40556b8095aac0d5ddc8b39e898a9fabbccfd9c8b9a89d887862584738281808000000000000000000000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7ece3cfbcab9fabbcc9d9e2cebbaa9e897963594738281808000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000c21364b61768ba8b9cde1dfc9b49f8a745645321e090000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e1900000000000000000000000005182b3b4e64798ea2b4c7e1ccb9a8937e6a8095aabbcedfcab49f8c78634d3a29170400000000000000001c31465c71869bb1c6dbdac5af9a85705a48351e1a213245566b8196abc0d6ead4bfaa957f6a55402a1500000000000000000000000000000609141d2024262828282828282220190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008182839485a647a899ca4b3bfced8e3e1d6ccc8c9bcb4b3b0afb0b1b4bac7c7cad3dee5dfd1c7bab49e958272604b42312010000000162b40556b8095aac0d5dbc6b09b857c8d9fb4bccdd7c6b8a69c8676615645362614010000000000000000000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7ecdfcab59f8a9fabbccfe3d9c8b9a79d8777615645362513000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000f24394f64798ea4c6d7e9dcc7b19c87725c382816030000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e190000000000000000000000000b203448596d8297adc0d0dec9b39e897662788b9fb4cadfcfbcab96816c5846331f0900000000000000001d32485d72879db2c7dcd7c2ad97826d583c2b190616283850657a90a5c5d5e8d4bfaa957f6a55402a150000000000000000000000000000000001080b0f111313131313130d0b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013253645576278889da7b6c2d0e2e5d7cdc5b8b3adab9f9d9b999a9c9fa9aab1b6c2c9d2e2e5d7cdbcb0a096806b604e3e2d19090000162b40556b8095aac0d5dbc6b09b86717e939eb0becfd5c4b6a49a8474605443301c140400000000000000000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7e9d4bfa9947f8d9fb4bdceded6c5b6a59b8574605443301c130300000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000061a2c3d556a7f94aabfd4e9d9c3ae99836e59442f19000000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e190000000000000000000000031628394c62778b9fb4c9dfd1c0ac96816c596e8399aec3d3d9c9b49e8976614c37271501000000000000001e33495e73889eb3c8ddd5c0aa95806b55402b16000c21364c61768ba7b8cce0d4bfaa957f6a55402a150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071c3043546075859ba6b8c5d3e0ded1c7bab4a79e97918b88868485878a8e949ca4b1b5c2ced9e6e1cdbeb09e937e685c4a3726140100162b40556b8095aac0d5dbc6b09b86716b8096a0b2c0d1d3c2b4a2988272604b4232231203000000000000000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7e2cdb8a38d797f949fb1c0d0e0d3c3b4a3988272604a4131211101000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000b2135495b70859ab0c5dae5d2c2a9947f69543f2a14000000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e190000000000000000000000091e3245576b8095a9bacedcc8b4a28e796350667b90a5b6cadfcdb9a8947f695544311d08000000000000001e33495e73889eb3c8ddd3bea8937e69533e2914000a1f33465873899eb3c8ded4bfaa957f6a55402a15000000000000000000000000000812181a1d1d1d1d1d1d15130d030000000000000000000000000000000000000000000000000000000000000000090f111515151515151513110b01000000000000031628394a60728298a3b5c4d5e3dccfc0b4a99f9589827b7573716f707175797f86919ca4b4bbc8d7e5dccdbcb49f8c7a645544311d0800162b40556b8095aac0d5dbc6b09b867160728298a2b4c2d3d1c0b2a096806c614f41302110010000000000000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7e2cdb8a38d786c8197a2b3c2d3e1d1c1b2a095806b5f4e3f2e1f0f000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000b1b2d3d4e63798c9fb4cadfdec9b5a48d78634d38230e000000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e1900000000000000000000001325364b6075889eb3c7d8d5c4af9a85705b4a6073879db2c7d7d6c6b29d8774604b352010000000000000001e33495e73889eb3c8ddd2bda8927d68533d2813000417293a5d72879db2c7dcd4bfaa957f6a55402a150000000000000000000000000c1a252d303232323232322a28201507000000000000000000000000000000000000000000000000000000000004121d24272a2a2a2a2a2a2a28251e13050000000000091e324657687e93a0b2c1d2e2dbcebeb2a29a8b80766d6660565b5a5b5560646a727c86959faabac7d7e6e0cebbaa9b8573604b35200b00162b40556b8095aac0d5dbc6b09b8671546074849aa4b6c4d5cfbfb09e937f695f4d3f2e1f0f0000000000000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7e2cdb8a38d786373849aa4b6c4d5dfcfbeaf9e927d685d4b3d2c1c0c0000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000b1829394a5c6d8298abbccfe3dcc6b19c86715b4935210c000000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e1900000000000000000000071c304354687e93a7b8cce0cbb7a6917c67514354697f94a9bacddfcbb7a5917c67523e2e1b080000000000001e33495e73889eb3c8ddd2bda8927d68533d281300001c31475c71869cb1c6dbd4bfaa957f6a55402a150000000000000000000000041a2a374145484848484848403c3325150300000000000000000000000000000000000000000000000000000000122230393c3f3f3f3f3f3f3f3d3a3123130100000004182a3a4b6175889db3becfdfdfcebdb1a09884786b6157514b45384437444b4f555e6673808c9fa9bac8d5cbc2b6b1a2947e69543f291400162b40556b8095aac0d5dbc6b09b86715b566176869ca6b7c6d6cdbdb59f8d7d675d4b3d2c1d0d00000000000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7e2cdb8a38d78636176869ca6b8c7d7dcccbcb49f8c7b655b493a2a1a0a00000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000040e1b2836465764798c9fb4c9d9e6cfbeaa95806b553c2c1906000000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e19000000000000000000000b20354a6073869cb1c5d5d9c8b39d8874604b364c61778a9fb4c9dfd4c3b09b85705c4b37220e0000000000001e33495e73889eb3c8ddd2bda8927d68533d281300071c31465c71869bb1c6dbd4bfaa957f6a55402a15000000000000000000000012223748555a5d5d5d5d5d5d55504333200d0000000000000000000000000000000000000000000000000000000b1b30404c5155555555555555534e42311e0b0000000a1f3447596a7f95a6b7cbdce3d1c1b19f978274625a4b46393632282f27313639404c55606a7c8b9faabbc4b8b3a49c90847a644e39240f00162b40556b8095aac0d5dbc6b09b86715b47586278889da8b9c8d8cfbcab9f8b7b655b493b2a1b0b000000000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7e2cdb8a38d7863586278889ea9bac9dae2cebbaa9e897963584738281808000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000070b0d181f2c3946546176869cabbccfe7d8c8b2a08e79644e39240f00000000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e19000000000000000000071a2d3e51667b90a4b6cae2cebbaa95806a55443347586d8298adc2d2ddc9b5a38f7a644f3c2b190600000000001e33495e73889eb3c8ddd2bda8927d68533d281300071c31465c71869bb1c6dbd4bfaa957f6a55402a1500000000000000000000091d2f4055666f7272727272726a61503c28130000000000000000000000000000000000000000000000000000031729394c5e666a6a6a6a6a6a6a68604e3a25110000000c22374c6177899eb4c4d5e7d6c5b4a397816d6056483c3329211e161a151d20242f37444b5e667b8c9fb4b4a69e93867c6f645c4a36220d00162b40556b8095aac0d5dbc6b09b86715b3a485a647a8a9eaabbcedac9baa99e8979635947392819090000000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7e2cdb8a38d78634e5a647a8b9fabbccfe3d8c8b8a79d8776615645362513000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251b131c20222a343c495761728399a4b6c9d9e2cebbaa98836e5c4a36210d00000000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e190000000000000000000d21364a5c6f849aafc2d3dfcab49f8b78624d372a3a4f657a8fa4b5c9ded1c1ae98836e5a4835200b00000000001e33495e73889eb3c8ddd2bda8927d68533d281300071c31465c71869bb1c6dbd4bfaa957f6a55402a15000000000000000000000f24384c5e6f848787878787877f6a55402a1500000000000000000000000000000000000000000000000000000a1e334657667c7f7f7f7f7f7f7f7e68533d28130000071a2d3d566b8095a8b9cce2e0ccb8a79b8574604b45382b1e170b09020002080b12192731404c5d6a7f94a29f95887e73665e4e4a3e2d1b0700162b40556b8095aac0d5dbc6b09b86715b463c4a5c667c8c9fb4bcccd7c7b8a79d87776257463727150100000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7e2cdb8a38d78634e4b5c677d8d9fb5beceded6c5b6a59b8474605443301c130300000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a3030253035373a474c5b63758399a1b2c3d3e6d5c5b49f8b78634d3d2d1a0700000000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e19000000000000000005182b3b4e64798ea2b4c8e0d3c3ae99836e59483422374b5d71869cb1c6d6dfcab49f8b78624d39291703000000001e33495e73889eb3c8ddd2bda8927d68533d281300071c31465c71869bb1c6dbd4bfaa957f6a55402a15000000000000000000081c2e3f51667c909d9d9d9d9d8b78634e38230e00000000000000000000000000000000000000000000000000021628384c617689949494949494937e69543e291400000c21364a5b72879db2c6d6e7d5c4b39e897762564532281a0e03000000000000000009151d2f3f4b607284978a80766860554c40362d20100000162b40556b8095aac0d5dbc6b09b86715b462d3e4c5e687e929eafbeb5b5c5b7a59b8575615544311d0800000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7e2cdb8a38d78634e3e4d5f6a7f94a0b1c0d1e0d3c3b4a2988272604a4131211101000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f45454536434a4d5359616c798599a1b2bfcfe1d8c8b8a796816c5a49351f0f0000000000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e1900000000000000000b203448596d8298adc0d1decab6a4907b65503b2b1b2e3f53687e93a8b9cce1cebbaa96816b5746331e09000000001e33495e73889eb3c8ddd2bda8927d68533d281300071c31465c71869bb1c6dbd4bfaa957f6a55402a150000000000000000000e23374b5d70859bb0b2b2ae99836e5b4935210c00000000000000000000000000000000000000000000000000091e3245566a7f94a7aaaaaaaa9e8875614b36210c00000e24394e63798ea5b6cae4e0cbb7a6947f6a59483827150a000000000000000000000001121c304354627781786b61574b44372f221b10020000162b40556b8095aac0d5dbc6b09b86715b46312f404e606a8095a09f9f9f9f9f9fa3998373604b35200b00000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7e2cdb8a38d78634e384150616d8297a2b4c2d3e1d1c0b2a095806b5f4e3f2e1f0f000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a655b5b5b5b5b546062686e77818b9ba3b3bfcfdde2cebbaa9e8976614c3c2c19010000000000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e1900000000000000031628394d62778b9fb4c9dfd7c7b29c8773604a35201021364b6176899eb4c9ded9c8b39e8976614c372614010000001e33495e73889eb3c8ddd2bda8927d68533d281300071c31465c71869bb1c6dbd4bfaa957f6a55402a150000000000000000071b2e3e50657b90a3b4c7b5a38f7a654f3d2c1a06000000000000000000000000000000000000000000000000011426374b6075889db3c5bfb9a8957f6a5746321e090003162839556a7f94aac3d3e6ddc8b39d8875604b3b2b1a0a00000000000000000000000000011426364859626c62594b4639312619120700000000162b40556b8095aac0d5dbc6b09b86715b463122314250626d828a8a8a8a8a8a8a8a8a8a826c57422d1702000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7e2cdb8a38d78634e3833434b6073849aa4b6c5d5dfcfbeaf9e927d685d4b3d2c1c0c0000000000000000000000182d42586d8297adc2d7e4cfbaa48f7b7070707070707275777d838a969faab5c1d0dde1cdbcb49f8c7b655847331e0e000000000000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e1900000000000000091e3245576b8095aabbcee1cdbaa9937e695443301c0a1e3346576c8197acc0d1e1ccb9a8937e695544311d080000001e33495e73889eb3c8ddd2bda8927d68533d281300071c31465c71869bb1c6dbd4bfaa957f6a55402a1500000000000000000d22374b5c6f849aafc1c3b09b85705d4b371f0e00000000000000000000000000000000000000000000000000081d314455687e93a6b7cbc8b49e8a77614c3928160300091e32465771869bb0c6dbe7d4c4aa95806a5745321d0d00000000000000000000000000000008182b3b484c574d483b33291d1409000000000000162b40556b8095aac0d5dbc6b09b86715b46311c24334452646d757575757575757575756c63523e2a1500000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7e2cdb8a38d78634e38233144556176869ca7b8c7d8dcccbcb49f8c7b655b493a2a1a0a00000000000000000000182d42586d8297adc2d7ecdbc6b19c86858585858586888a8c92999fa9b4bbc8d2dfd7cdbdb09e927d685d4b3a2a1700000000000000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e19000000000000001325364b6075899eb3c8d8dec9b49f8a76614c362513031729394e63798ea2b4c8ddd6c6b29d8774604b3520100000001e33495e73889eb3c8ddd2bda8927d68533d281300071c31465c71869bb1c6dbd4bfaa957f6a55402a1500000000000000071a2d3d4f647a8fa2b4c7b7a5917c67523f2e1c00000000000000000000000000000000000000000000000000000b20354b6074879db2c4cebbaa96816b5847331b0b00000c21364b61768b9fb5cadfdfcbb7a68e79644f39281600000000000000000000000000000000000d1d2b34374237342b1e170b0100000000000000162b40556b8095aac0d5dbc6b09b86715b46311c1525354552586060606060606060606057524535220f00000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7e2cdb8a38d78634e3823273747586378899ea9bacee2e2cebbaa9e897963584738281808000000000000000000182d42586d8297adc2d7ecdec9b5a49c9a9a9a9a9a9b9d9fa9a8aeb4bac7ced8e2d4c7bab49f96806b604e3f2e1c0c00000000000000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e19000000000000071c304354687e93a7b8cce6d1c1ac97826d5847331808000b21364a5b70859bb0c5d5dfcab7a5917c67513e2e1b0700001e33495e73889eb3c8ddd2bda8927d68533d281300071c31465c71869bb1c6dbd4bfaa957f6a55402a15000000000000000c21364a5b6e8399aec0c7b29d8774604b35201100000000000000000000000000000000000000000000000000091c2f4052677d92a5b6cac9b49f8b78624d3a2a170000000f24394f64798eabbccfe3ddc8b29d88735c4a361b0a0000000000000000000000000000000000000d1820222c2220190d03000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c071727353f424a4a4a4a4a4a4a4a4a4a423e3527170500000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7e2cdb8a38d78634e382319293a495a657b8b9fb4bcccdcd8c8b8a79c8776615645362513000000000000000000182d42586d8297adc2d7ece5d2c2b5b1b0b0b0b0b0b0b2b4bac7c3c9cdd7e2d8cec4b7a99f928172604b413121110000000000000000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e190000000000000b20354a6073879cb1c5d5ddc9b5a38e7a644f3a29170000071a2d3d52677d92a7b8cce0d4c3b09a85705c4a36220d00001e33495e73889eb3c8ddd2bda8927d68533d281300071c31465c71869bb1c6dbd4bfaa957f6a55402a15000000000000031628384e63798c9fb5cabaa9937e695544311d08000000000000000000000000000000000000000000000000000f24384c5e71869cb1c3cfbcab97826d5948341c0c00000012273c52677c91a7c9daecd9c3ae99846e593e2d1b0000000000000000000000000000000000000000050b0d170d0b050000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c060917232b2d353535353535353535352d2a2217090000000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7e2cdb8a38d78634e38230e1c2c3c4b5d677d929eafbecfded6c5b6a59a8474605443301c130300000000000000182d42586d8297adc2d7ecf0e0d2c9c6c5c5c5c5c5c5c7c9ced8d9deded9cec7bab4a69d8b7d6c605443302313030000000000000000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e190000000000071b2d3e51667c91a4b6cacad5c5b09b85705c4a361c0c0000000f20364b6075889eb3c9dacac8b4a28f7a644f3c2b1905001e33495e73889eb3c8ddd2bda8927d68533d281300071c31465c71869bb1c6dbd4bfaa957f6a55402a15000000000000091e3245566d8297abbcc9b49f8a76614b37261401000000000000000000000000000000000000000000000000081b2e3f51667b90a4b5c9cab49f8c79634e3b2b190000000013283e53687d93a8bdd2e8d6c1ac97816c57422c170000000000000000000000000000000000000000000000020000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c0600061016182020202020202020202017150f05000000000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d7e2cdb8a38d78634e38230e0e1e2e3f4d5f6a8095a0b2c0d1e1d3c3b4a2988272604a4131211100000000000000182d42586d8297adc2d7e5e5e5e5dedbdadadadadadbdddfdedcd9d3cac8bbb4a99f96877a685f4b4336261405000000000000000000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e1900000000000d22364a5c70849aafc2b5b5b5b8a7927d68523e2d1b00000000091d3245566b8096abbcb5b5b5c0ad98836e5a4834200b001e33495e73889eb3c8ddd2bda8927d68533d281300071c31465c71869bb1c6dbd4bfaa957f6a55402a150000000000000b21364b6075899eb3c9c8ae99836e5746321909000000000000000000000000000000000000000000000000000e22374b5d70859ab0c2d0c0ae98836e5b49351d0d00000000142a3f54697f94a9bed4e9d4bfaa957f6a55402a150000000000000000000000000000000000000000000000000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c0600000001030b0b0b0b0b0b0b0b0b0b02000000000000000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adc2d0d0cdb8a38d78634e38230e001121304150626d8298a2b4c3d3d0d1c0b2a095806a5f4d3f2e1f0e000000000000182d42586d8297adc2d0d0d0d0d0d0d0d0d0d0d0d0cfd7cdc9c7c4c2b6b1aa9f978b8176645c4e413026180800000000000000000000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e1900000000000f24394e647a8ea29f9f9f9f9f9f9e8975604b36211000000000021528384d63788c9f9f9f9f9f9f9f9f8b78624d38220d001e33495e73889eb3c8cacabda8927d68533d281300071c31465c71869bb1c6cacabfaa957f6a55402a15000000000004182a3a52677d92a8b9ccbbaa927d675239291600000000000000000000000000000000000000000000000000071a2d3d4f657a8fa2b4c8c7b3a28e7a644f3d2c1a0000000000152a3f546a7f94a9bfd4e9d4bfa9947f6a543f2a150000000000000000000000000000000000000000000000000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000000000000000000000000000000000000000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297adbbbbbbbbb8a38d78634e38230e0003132333434b6074849aa5b6c5bbbbbbbeaf9e927d675d4b3d2c1a060000000000182d42586d8297adbbbbbbbbbbbbbbbbbbbbbbbbbbbac7bab4b2afa9a49c968b82786c61584a3e311c14080000000000000000000000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e190000000000182d43586d828a8a8a8a8a8a8a8a8a806b5645321e0900000000000a2035495a6f838a8a8a8a8a8a8a8a8a806b56412b16001e33495e73889eb3b5b5b5b5a8927d68533d281300071c31465c71869bb1b5b5b5b5aa957f6a55402a1500000000000a1f3447596f849aafc6cab49f8b76614c37210c000000000000000000000000000000000000000000000000000c21364a5b6f8499aec0d1c1af9a846f5c4a361f0f000000000014293e53697e93a8bed3e8d6c1ab96816c56412c170000000000000000000000000000000000000000000000000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000000000000000000000000000000000000000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d7e2cdb8a38d78634e38230e00182d42586d8297a5a5a5a5a5a5a38d78634e38230e000005151d3245566176879ca7a5a5a5a5a5a5a59f8b7b655b4935210c0000000000182d42586d8297a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a3a99f9d9a938d8781796d625a4c473a2d201301000000000000000000000000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e190000000000162b3f53646d7575757575757575756b625138281602000000000006192c3c54656f7575757575757575756b62513d2914001e33495e73889e9f9f9f9f9f9f927d68533d281300071c31465c71869b9f9f9f9f9f9f957f6a55402a1500000000000c22374c61778b9fb4cac9af9a846f5847331f0a00000000000000000000000000000000000000000000000006192b3c4e63798c9fb5cac9b5a3907b65503e2d1b01000000000012283d52677d92a7bcd2e7d8c3ad98836e583c2b19050000000000000000000000000000000000000002080b110b07000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000000000000000000000000000000000000000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adc2d0d0cdb8a38d78634e38230e00182d42586d8290909090909090908d78634e38230e000000021528384758637989909090909090909090908978634e38230e0000000000182d42586d82909090909090909090909090909090908e8b8987847e78726b635b4d483c332a1c100200000000000000000000000000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e190000000000102335465358606060606060606060565144341a0a000000000000000e1e3747545a60606060606060606056514434210e001e33495e73898a8a8a8a8a8a8a8a7e68533d281300071c31465c71858a8a8a8a8a8a8a8a7f6a55402a15000000000215273852687d92abbccfbcab937e69533a2a17040000000000000000000000000000000000000000000000000b2035495a6d8298abbccfc2b09b85715d4b38201000000000000010253a4f657a8fa4c3d4e6dbc6b19c86715a4835200b00000000000000000000000000000000000009151d2026201c130800000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000000000000000000000000000000000000000000000e23394e63788ea3b8cde3d8c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d9e2ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297adbbbbbbbbb8a38d78634e38230e000e24394e63797b7b7b7b7b7b7b7b7b75614b36210c000000000a1a2a3a495b63797b7b7b7b7b7b7b7b7b7b7b79634e39240e00000000000e24394e63797b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a787674726f69635b564e493d352b1f180c000000000000000000000000000000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e190000000000061828353f434a4a4a4a4a4a4a4a4a413d34261600000000000000000019293741444a4a4a4a4a4a4a4a4a413d34261604001c3145596b73757575757575757568604e3a261100051a2e4356677175757575757575756a61503c281300000000091d3145566e8398aec9cab59f8b77624d37220d00000000000000000000000000000000000000000000000005182a3b4d62788b9fb4c9cab6a4917c66513f2f1c020000000000000c22374c61778ca5b7cadfdec9b5a48d78624d382212000000000000000000000000000000000009192731363c3530251811060000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000000000000000000000000000000000000000000000e23394e63788ea3b8cdd0d0c3ae99836e59442e190400000000000000051a2f455a6f849aafc4d0d0ccb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8297a5a5a5a5a5a5a38d78634e38230e000c21364a5b63666666666666666666615746321e0900000000000c1c2c3d495b636666666666666666666666635b4a36210c00000000000c21364a5b63666666666666666666666666666666656361585d5a544d493c38352c20190e0400000000000000000000000000000000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e190000000000000a18232b2d3535353535353535352b292116080000000000000000000b19252c2f3535353535353535352b29211608000016293c4c595e6060606060606060534e42311e0b000013263949565c606060606060606055504333200d000000000b20364b6075899eb4c9c5b09b8670594834200b0000000000000000000000000000000000000000000000000b1f3447596c8197aabbcec4b19c8673604b352011000000000000000a1f34475972879db2c7dde5d2c2a8937e68534030190900000000000000000000000000000002152737444b514a43362e211a0e04000000000000162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000000000000000000000000000000000000000000000e23394e63788ea3b8bbbbbbbbae99836e59442e190400000000000000051a2f455a6f849aafbbbbbbbbb7a28d77624d38220d00000000000000000000000000000000000000000003182d42586d8290909090909090908d78634e38230e00071a2d3d4a4e5050505050505050504b46392816030000000000000f1f2c3d494e50505050505050505050504e4a3d2d1a070000000000071a2d3d4a4e505050505050505050505050505050504e4c463a453e38352c23211a0f05000000000000000000000000000000000000000000000000000003192e43586e8398adc3d8d8c3ad98836e58432e19000000000000000610161820202020202020202016140e0400000000000000000000000811181a20202020202020202016140e040000000d1e2e3c45494a4a4a4a4a4a4a4a3d3a3124130200000a1b2b3943464a4a4a4a4a4a4a4a403c332515040000000010253a50657a8fa8b9ccc9aa957f6a553b2b19050000000000000000000000000000000000000000000000031729394c62778a9fb4c8cbb7a6927d685443301c080000000000000004182a3a566c8196abc5d6e8dbc6b09b85715e4d3727150200000000000000000000000000000d1d314455606660544b3f352c1f180c0200000000162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000000000000000000000000000000000000000000000e23394e63788ea3a5a5a5a5a5a599836e59442e190400000000000000051a2f455a6f849aa5a5a5a5a5a5a28d77624d38220d000000000000000000000000000000000000000000000e24394e63797b7b7b7b7b7b7b7b7b75614b36210c00000f1f2d36393b3b3b3b3b3b3b3b3b3632281b0b00000000000000010f1f2c35383b3b3b3b3b3b3b3b3b3b3b39362d1f0f000000000000000f1f2d36393b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b393633292f292321190e0c060000000000000000000000000000000000000000000000000009090909192e43586e8398adc3d8d8c3ad98836e58432e190000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101e293133353535353535353528261e1306000000000d1b262e3135353535353535352a282015070000000001142636556a7f94aac6cfbcab907b65503b25100000000000000000000000000000000000000000000000000a1e3346576b8095a9bacdc5b29d8774604b36261401000000000000000010253b50657b90a7b8cce0ddc9b5a3917c665544311d13000000000000000000000000000e1d2f404b60737b72655d4e493d332a1d150a000000162b40556b8095aac0cacac6b09b86715b46311c0600000000000000000000000000000000000000000000000000000e23394e63798e9090909090909090836e59442e190400000000000000051a2f455a6f8490909090909090908d78624d38220d000000000000000000000000000000000000000000000c21364a5b63666666666666666666615746321e090000010f1a2124262626262626262626211e160b000000000000000000010f1a2123262626262626262626262624211a0f0100000000000000010f1a21242626262626262626262626262626262523211f171a140e0c06000000000000000000000000000000000000000000000000030d13151e1e1e1e1e2e43586e8398adc3d8d8c3ad98836e58432e19000000000000000000000000000000000000060c0e20202020202020201c1a130a0000000000000000000000000000000000000000000000000d161c1e202020202020202013110b020000000000000a131a1c202020202020202015130d040000000000081c3043546f8499afc4cab49f8b76614c36210c0000000000000000000000000000000000000000000000021628384c6176899eb3c7ccb8a7937e6955443118080000000000000000000b20354b6074899eb3c9dae4d2c1b19c8674604b41311c130800000000000000000004111e2b3b4c5e6b8091857a6e635b4c473a32281a0a0000162b40556b8095aab5b5b5b5b09b86715b46311c0600000000000000000000000000000000000000000000000000000c21364b61757b7b7b7b7b7b7b7b7b7a644e39240f0000000000000000000f24394f647a7b7b7b7b7b7b7b7b7b74604b36210b00000000000000000000000000000000000000000000071a2d3d4a4e5050505050505050504b463928160300000000070c0e1111111111111111110c0903000000000000000000000000060c0e11111111111111111111110e0c070000000000000000000000070c0e111111111111111111111111111111100e0c0a0400000000000000000000000000000000000000000000000000000000071520272a33333333333343586e8398adc3d8d8c3ad98836e58432e1900000000000000000000000000000000000e1920233535353535353535312e271b0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354b6074899eb3c9c6b19c86715746331e0a0000000000000000000000000000000000000000000000091e3245566a7f94a7b9ccc6b39e8875614b37271500000000000000000000081d3144556d8298abbccfe3decab6a496816c5f4e41302518110a0300000000070c181f2e3c4859667c8d9f9b8f83796c61584b453828150200162b40556b80959f9f9f9f9f9f9b86715b46311c0600000000000000000000000000000000000000000000000000000a1e32465761666666666666666666645c4a36220d0000000000000000000d22364a5c64666666666666666666605645321e0900000000000000000000000000000000000000000000000f1f2d36393b3b3b3b3b3b3b3b3b3632281b0b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000031525323c3f48484848484848586e8398adc3d8d8c3ad98836e58432e19000000000000000000000000000000000e1e2c35384a4a4a4a4a4a4a4a4643392b1b030000000000000000000000000000000000000610161820202020202020202020202020202020202020201f1d1b16100b09020000000000000000000000000000000e23394e63788ea8b9ccc2ad97826d583929170300000000000000000000000000000000000000000000011426374b6075889db3c5cdb9a8957f6a574632190900000000000000000000011527374e64798c9fb5c7d7e5d3c2b19f927d685f4a43362e211e17161415171b222a333f4b5a6277889eabb0a1998b817769605645321d0900162b40556b808a8a8a8a8a8a8a8a85715b46311c06000000000000000000000000000000000000000000000000000003162939464b5050505050505050504e4a3e2d1b07000000000000000000071b2d3e4a4f5050505050505050504b45382816020000000000000000000000000000000000000000000000010f1a2124262626262626262626211e160b0000000000000000000000000000000000000000000006101618202020202020202020100e08000000000000000000000000000000000000020b1113202020202020202015130d0300000000000003090c1e2020202015130d0300070b1c2020202016140e050000000000000000000d2032434f545e5e5e5e5e5e5e5e6e8398adc3d8d8c3ad98836e58432e1900000000000000000000000000000006192c3c494d5f606060606060605c564939211100000000000000000000000000000000000917232a2d35353535353535353535353535353535353535353432302b25201d150a040000000000000000000000000012273c51677c91a6c6d6bea9947f69543f2a140000000000000000000000000000000000000000000000081d314455687e93a6b8cbc7b49e8a76614c3928160000000000000000000000000921364a5c6d8298a9bacde2e0cebdb49f8c7d6b60544b3f3633292b292a2c2e373a474c5d6578869ca6b8bfb3aa9f96897f74604b36200b0013283d50626b7575757575757575716756422e19040000000000000000000000000000000000000000000000000000000b1b2932363b3b3b3b3b3b3b3b3b39362d2010000000000000000000000010202d36393b3b3b3b3b3b3b3b3b3632281a0a0000000000000000000000000000000000000000000000000000070c0e1111111111111111110c0903000000000000000000000000000000000000000000000917232a2d35353535353535353525221b100200000000000000000000000000000006141f262935353535353535352a28201507000000000b161e2133353535352a282015131c2031353535352c29221608000000000000000013273c4f616a7373737373737373738298adc3d8d8c3ad98836e58432e190000000000000000000000000000000c2035495a6375757575757575757167563f2e1c08000000000000000000000000000000061727353f424a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a494745413b3631271f170c000000000000000000000000152a40556a7f95aabfd1bba6917c66513c271100000000000000000000000000000000000000000000000b20354b6074879db2c4cebaa996816b5847331b0b000000000000000000000000071a2d3d4d62788b9fb4c2d3e3e2cebbaa9f928072655d524c4639403f40413e4b4f58616c7b889ca4b6c5cfc8bbb4a79e94806b56412b16000d213344505560606060606060605b564938261300000000000000000000000000000000000000000000000000000000000b161e2126262626262626262624221b1002000000000000000000000002101b2224262626262626262626211e160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061727353f424a4a4a4a4a4a4a4a4a3a372e21100000000000000000000000000000021424313a3e4a4a4a4a4a4a4a4a3f3c3325150300000b1b283236494a4a4a4a403c3325253035464a4a4a4a413d3426160500000000000000152a3f546a7f8888888888888888888b9fb4c9ded8c3ad98836e58432e1900000000000000000000000000000417293a4d63788c8a8a8a8a8a8a8a85715d4b37230f00000000000000000000000000000010233545525860606060606060606060606060606060606060605e5c5a56504b453833291c140300000000000000000003192e43586e8398adc3d7c6a38e78634e39230e00000000000000000000000000000000000000000000091c2f4052677d92a5b6cac9b49f8b78624d3a2a1700000000000000000000000000000f2035485a6b8196a4b6c5d6e6d8c8bbb49e95857b6f67615758565455565a5c646c77818c9da6b6c2d3e3d8cebeb39e8876614c37210c00041526333d404a4a4a4a4a4a4a4a4642382b1b09000000000000000000000000000000000000000000000000000000000000030a0c1111111111111111110f0d07000000000000000000000000000000070d0f1111111111111111110b090200000000000000050b0d1e2020202020202020202016140e04000000000000000000000000000000000000060c0e1f2020202020202020202014120c020000001023354552586060606060606060604f4b3f2e1b0800000000000000000000000000102031424e53606060606060606055504333200d0003162839464b5e606060605550433336434a5c6060606056514434220e000000000000000b20364b6075859b9d9d9d9d9d9d9d9fa9bacde1d8c3ad98836e58432e1900000000000000000000000000000a1f3346586c8196ab9f9f9f9f9fa3907b65503d2c1a060000000000000000000000000000162a3f52636d75757575757575757575757575757575757575757472706b6560564c473a321e160b0000000000000000011527375c71869bb1c6cdbaa88b76604b36210b000000000000000000000000000000000000000000000f24384c5e71869cb1c3cfbcab97826d5948341c0c000000000000000000000000000005192b3c4c6176869ca7b8c8d8e6d8cebcafa39b8f847c76706d6b696a6c6f737a818a969fabb7c4d3e0e0d1c0b1a0927d675847331f0a0000071521282b3535353535353535312e261b0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d19202234353535353535353535352b28211608000000000000000000000000000000010f1a2123343535353535353535353529261f14060000162a3f52636d757575757575757575655d4b37220e0000000000000000000000000c1d2e3e4e606875757575757575756a61503c281300091e3246576173757575756a61503a43546071757575756b62513d291400000000000000091d3145566278899eb3b3b3b3b3b3b4bac7d7e9d8c3ad98836e58432e1900000000000000000000000000011426374c6176899eb4b5b5b5b5c2ae99846f5b4935210c0000000000000000000000000000182d42586d828a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a898785807b756b61584f4232281b0b00000000000000081d31445573889eb3c8c9b49f89745645321e09000000000000000000000000000000000000000000081b2e3f51667b90a4b5c9cab49f8c79634e3b2b19000000000000000000000000000000000e1e3346576378899eaabbcdd7e5e2ccc1b5b0a199928a8582807e7f8184888f969ea8b4bcc9d4e2dfd1c2b4a297826d5f4d3a2a1704000000040d131620202020202020201c191309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1d2b3437494a4a4a4a4a4a4a4a4a4a403d3326160400000000000000000000000000000f1f2c36394a4a4a4a4a4a4a4a4a4a4a3e3b3224140200182d42586d828a8a8a8a8a8a8a8a8a7a654f3a2510000000000000000000000009192a3b4b5c687e8a8a8a8a8a8a8a8a7f6a553f2a15000c21364b6176888a8a8a8a7f6a58464a6072858a8a8a8a816b56412c160000000000000002152738495a677d919fb1c2c8c8c8c9cdd7e5edd8c3ad98836e58432e1900000000000000000000000000081d314455697f94a8b9cdcacacacab59f8c79634e3a2a170400000000000000000000000000182d42586d82979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa79e9c9a969089807669604b4639281a0a0000000000000b20354b60758a9fb5cac8b39d88735e382816020000000000000000000000000000000000000000000e22374b5d70859ab0c2d0c0ae98836e5b49351d0d0000000000000000000000000000000003172939495a657b8c9fb4bac7d4e2dfd2c9bfb3aea99f9a9895949596999ea6abb4b9c6cfd9e7e1cfc0b4a49a8474604b41301c0c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005192b3b484d5e60606060606060606060565144332212000000000000000000000000000a1b2c3d494e5f60606060606060606060534f42321f0c00182d42586d82979f9f9f9f9f9f9f8f7a654f3a251000000000000000000000011527374759647a8b9f9f9f9f9f9f9f947f6a553f2a1500091e324657697f94a69f9e8976614c55677c91a39f9f8a77624c37220d00000000000000000a1a2c3c4d5f6c8197a4b5c6d7dddee1e9e5e5d8c3ad98836e58432e19000000000000000000000000000b20354b6074879db2c6d6e9dfe3cfbcab97816c5847331f0a00000000000000000000000000182d42586d8297adb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5c5b9b3b1afaba89e95897e6e6157463828180800000000000d22374d62778cabbccfc7b19c87725c47321d000000000000000000000000000000000000000000071a2d3d4f657a8fa2b4c8c7b3a28e7a644f3d2c1a0000000000000000000000000000000000000b1b2c3c4b5d687e929fa9b7c4d1dfe4ddd0c7c7bab4afadaba9aaabafb3b8c5c9cdd6e3e4d6ccbfb2a29b86766156453123130000000000000000040d131620202020202020201c1913090000000000000000000000000000000000000000000b0b0b0b0b0b0b0b0a0000000000000000000000000000000000000000000001080b0f12141614120d0b0600000000000000000000000000000b203448596273757575757575757575756b6251402f1d0d000000000000000000000003162839495b63747575757575757575757569604f3b261200182d42586d8297adb5b5b5b5b5a48f7a654f3a2510000000000000000000010f1d3144556177889da9bab5b5b5b5aa947f6a553f2a1500031628394b6075889db3a795806b586073869cb1a896806b5947341f0b0000000000000000000e1e30414b6075869ca8bacdd0d0d0d0d0d0d0c3ad98836e58432e19000000000000000000000000081b2e3e52677c91a5b7cae4f4ffecdac9b49f8a76614c38271502000000000000000000000000182d42586d8297adc2cacacacacacacacacacacacacacacad6ccc9c7c5c6b9b3a89e93827561564536251300000000000f24394f64798ea4c9dac5b09b86705b46311b0600000000000000000000000000000000000000000c21364a5b6f8499aec0d1c1af9a846f5c4a361f0f000000000000000000000000000000000000000e1e2f3f4e60687d8b9da6b4c1cad4e0e3dbd8cec9c5c2c0bebfc1c4c8cbd5dee1e2dbd0c6b9b4a19984766158473827150500000000000000071521282b3535353535353535312e261b0d00000000000000000000000000000000030d13152020202020202020200e0c0700000000000000000000000000000000000608141c2025282a2b29272320190e0a0300000000000000000000000d22374d6277898a8a8a8a8a8a8a8a8a8a806b5e4c3b2b1909000000000000000000010f1e32455763798a8a8a8a8a8a8a8a8a8a8a7e69533e291400182d42586d8297adc2cacacabaa48f7a654f3a25100000000000000000000f1f30414b6073849aa6b7c7d8cacabfaa947f6a553f2a1500000b1e324557697e93a6b49e8a7761677d92a4b49e8a77614c3b2a180500000000000000000000131e32455663798a9fb4bebbbbbbbbbbbbbbbbad98836e58432e190000000000000000000000000d22374b5c70859bb0c3d4e6fffff7e1cdbaa8947f6a5645311d09000000000000000000000000182d42586d8297adc2d7dfdfdfdfdfdfdfdfdfdfdfdfdfdfe8e0dedcdad6ccc6b9b3a0988474605443301c0b0000000010253a50657a8fa5bacfc4af9a846f5a452f1a050000000000000000000000000000000000000006192c3c4e63798ea1b3c7c9b5a3907b65503e2d1b010000000000000000000000000000000000000000112131424e5f677a889ba3b2b7c3ccd6dee1e2dfdad7d5d3d4d6d9dde0e5dedcd0c7bfb3a89e9283746158473a2a1a0a00000000000000041526333d404a4a4a4a4a4a4a4a4642382b1b090000000000000000000000000000071520282a35353535353535353524211a0f0100000000000000000000000000040f1a212630353a3d3f403e3c38352b211e160b000000000000000000000b20344859667c8d9f9f9f9f9f9f9f9f9f8d7c6659483727150100000000000000000f1f31414b6075869ca89f9f9f9f9f9fa599836e604f3b261200182d42586d8297adc2d7dfcfbaa48f7a654f3a251000000000000000000b1b2d3d4d5f6b8096a2b4c4d4e5dfd4bfaa947f6a553f2a150000031628394b6075889db2a896806b74879db2a895806b5947341d0d000000000000000000000003162838495b687d92a0a5a5a5a5a5a5a5a5a5a598836e58432e19000000000000000000000005192b3c4f647a8fa3b4c8e1f1f1eff1e9d7c6b39d8874604b362011000000000000000000000000182d42586d8297adc2d7ecf4e6dad2d0cbcbcbcbcbcbcbcbcbccd0d4dee0e1d6ccbeb2a3988272604a3a29170400000010263b50657b90a5bad0c3ae98836e59432e1904000000000000000000000000000000000000000c2035495a6d8298adbfd0c2b09b85705d4b37201000000000000000000000000000000000000000000003142431414d5c647785929da5b3b8c5c9cdd6dadddfe3e9e1dedddad6d3cac7bfb3aea1998a7d6e6056473a2a1c0c00000000000000000d213344505560606060606060605b564938261300000000000000000000000000031525333c404a4a4a4a4a4a4a4a4a39362d1f0f0000000000000000000000000c181f2c3636434b4f52545553514d483c3632291c1308000000000000000005192b3b4c5e6b8096a3b4c5b5b5b5bcab9e8978625544311d12000000000000000a1a2c3d4d5f6d8297a4b6b5b5b5b5bbaa9d8776614c42321f0c00182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000818293a4a5b677d919eb0c0d1e2f2e9d4bfaa947f6a553f2a150000000a1e324556687e93a5b49f8a777e93a5b49e8a77614c3a2a18000000000000000000000000000a1a2c3d4e606d82909090909090909090909090826e58432e1900000000000000000000000b2035485a6e8398aec1d1e4e3dcdadce3dfcbb7a6927d67523f2e1c080000000000000000000000182d42586d8297adc2d7ece6d6c8bebab6b6b6b6b6b6b6b6b6b7bbbfc9ccd6e3e1cfc1b2a0937e695846331f0a00000011263c51667b91a6bbd0c2ac97826d57422d180200000000000000000000000000000000000005182a3b4d62788b9fb4cacab6a4917c66513f2f1c0200000000000000000000000000000000000000000000061423303e4a5962737d87949ea7aeb4b9c6c4c8cacfd7cdc9c8c5c1c2b6b1aaa1998e837868604b4538291c0c00000000000000000013283d50626b7575757575757575716756422e19000000000000000000000000000d203343505560606060606060605f4e4a3d2d1808000000000000000000010f1c2a343d494e54606467696b6967625a544b46393025180a00000000000000000d1d2f404b6074859ba7b9cccadac9b8a79b8473604b402f1d0d000000000003162838495b677d929fb1c2d3cad0bfb49f8b7a6458463324140200182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000132536465863798a9eb4bccddeeeffe9d4bfaa947f6a553f2a15000000021628384b6074879db2a99781879db2a895806b5847331c0c00000000000000000000000000000f1f31414b61757b7b7b7b7b7b7b7b7b7b7b7b7a644e39240f00000000000000000000031729394d62788b9fb4cadfded1c8c5c8d1ded4c4b19b86715d4b37230e0000000000000000000000182d42586d8297adc2d7ecdac8b8aba5a0a0a0a0a0a0a0a0a0a2a5aab3b9c5d0dddfcfbeb39e8876614c36210f00000012273c51677c91a6bcd1c1ab96816c56412c17010000000000000000000000000000000000000b1f3447596c8197aabbcec3b19c8673604a3520110000000000000000000000000000000000000000000000000513202d3b48546067757f8992989ea8acafb2b4bcc6bab4b2b0aca7a49c958d837a6f625a4e4232281a0c00000000000000000000162b40556b808a8a8a8a8a8a8a8a85715b46311c0000000000000000000000000013283c50616a757575757575757575635b4a362614010000000000000003111f2d3a474c5b636d747a7d7f807e7c78716a61574a4336281b0b0000000000000000121d3144556278899eb3bdcddfd5c5b4a296806b5e4c3c2b1909000000010f1e32455663798a9eb4becee0d4c3b3a1947f695c4a3a2917060000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000e1c3043546176869ca8b9cddbebfcffe9d4bfaa947f6a553f2a15000000000a1d314556687d93a5b19f979da6b49e8976614c3a2a1800000000000000000000000000000001131e32465761666666666666666666666666645c4a36210d000000000000000000000a1e3346576b8096aabbcee2d1c0b4b0b4c0d1dec9b5a38f7b65503d2c1a0600000000000000000000182d42586d8297adc2d7ecd2beab9a908b8b8b8b8b8b8b8b8b8d90949ea7b3bfd0e1e0ccb8a795806b553d2d1a07000011273c51667c91a6bbd1c1ac97816c57422c170200000000000000000000000000000000000417293a4c62778a9fb4c8cbb7a5927d685443301c070000000000000000000000000000000000000000000000000002101d2b36434b566069767d838990969a9d9faba1a89f9d9b96928e877f786f645c4d483c311e160a0000000000000000000000162b40556b80959f9f9f9f9f9f9b86715b46311c00000000000000000000000000152a40556a7f8a8a8a8a8a8a8a8a8b79635443301c0d0000000000000011212e3d4a59616d7982888f92949593918d867f756860544539291b0b0000000000000002152737485a667c919fb0c1d2e3d1c0b59f8d7c665a483727150100000f1f30414b6075869ca8b9cddcd8c8b7a599836f614f3e2e1c0c000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000e1e2f404a60728399a4b6c6d7e9f9ffffe9d4bfaa947f6a553f2a1500000000021527384b6074879db2b1acb2b7a795806b5847331c0c0000000000000000000000000000000003162939464b5050505050505050505050504e4a3d2d1a07000000000000000000011426364b6176899eb3c8d9d1c1b4a29aa2b4c8dcd2c1ae99836e5b4935210c00000000000000000000182d42586d8297adc2d7e5d0baa5907c767676767676767676777b7f8999a1b3c3d3e6d5c5b29d87725c4a36210d000011263b51667b90a6bbd0c2ad98836d58432e180300000000000000000000000000000000000a1f3346586b8095a9bacdc5b29d8774604b362513000000000000000000000000000000000000000000000000000000000d18263038454b5861676e757b8185888a8b8c8b898885817d78726a635b4f4a3e352b1e1303000000000000000000000000162b40556b8095aab5b5b5b5b09b86715b46311c000000000000000000000000000b20364b6074869cab9f9f9f9faa9b8573604b3c2b190500000000000e1e2e3f4b5b6377828c979ea6a7a9aaa8a6a39b94887e72605746392918080000000000000009192b3c4d5e6c8196a3b5c6d6e3cfbcab9e8978625544311d12000a1a2c3d4d5f6d8197a4b5c6d7e2cebbaa9d8776614c4332201000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000a1a2b3c4c5e6a7f94a1b3c3d3e4f4ffffffe9d4bfaa947f6a553f2a1500000000000a1d314455687d92a4b6c1c5b39e8976614c3a2a170000000000000000000000000000000000000b1b2932363b3b3b3b3b3b3b3b3b3b3b3b39362d1f0f00000000000000000000081c304354697e93a7b9ccddc9b5a39a859ab0c0d1dfcab59f8c78634e3a2a1704000000000000000000182d42586d8297adc2d7e4cfbaa48f7a65616161616161616162666a778399a4b6cadedfcab7a58e7a644e39240f000010253b50657a90a5bacfc4ae99846f59442f1a0400000000000000000000000000000000021628384c6176899eb3c7ccb8a7937e695544311808000000000000000000000000000000000000000000000000000000000008141c28323a464c525660666c6f73757676757473706c68635b554e493d362d20190e0000000000000000000000000000162b40556b8095aac0cacac6b09b86715b46311c00000000000000000000000000091d314556657a8d9fb5c4b5b5b5a3937e695a483420120000000009192b3c4b5d657987979faab3b8c4bec0bec1b5b1a69d93827561574636251300000000000000000e1e30404b6074859ba8b9cce1dac9b8a79b8473604b402f1e0e162838495b677d929fb1c2d2e2d0bfb49f8c7b6558473325140200000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000003162838495a667c8d9fb4bfd0e1f1ffffffffe9d4bfaa947f6a553f2a150000000000011527374b6073879cb2c2b9a795806a5847331c0c000000000000000000000000000000000000000b161e2126262626262626262626262624211a0f01000000000000000000000b20354b6073879db2c5d6d5c5b09b85798ea2b4c8dccfbcab97816c5847331f09000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f4b4b4b4b4b4b4b4d50596175869cb2c7dce6d4c3a9947e69543f291400000f253a4f647a8fa4b9cfc5af9a85705a45301b0500000000000000000000000000000000091e3245566a7f94a7b9ccc6b39e8875604b37271500000000000000000000000000000000000000000000000000000000000000010a161e29333638454b51575a5d57606160565d5b57524e493d38352c221b1006000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c00000000000000000000000000021527384b5d6c8197a6b7cbd1c1b49e8a78624d40301c0c000001142637495a657b8a9da5b4bbc8cbd5d4d2d3d2c9c4b8b3a0988575615443301c0c0000000000000000121d3145566378899eb3bdcee0d5c5b4a296806b5e4c3c2b191e32455663798a9eb4bdcee0d4c4b3a1947f6a5d4b3a2a17060000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000002101e3245566278899eabbccfddedf4f7feffffe9d4bfaa947f6a553f2a15000000000000091d314455677d92a4b6b39e8976614c3a2917000000000000000000000000000000000000000000030a0c1111111111111111111111110f0d070000000000000000000000071b2d3e51667c91a5b6cae0ccb8a7927d70859aafc4d5dac9b49f8a76614c372715020000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a363636363636383b4757667b90a6c4d5e7d6c0ab96816b56412c1600000e23394e63788ea3c7d7c6b19b86715c46311c07000000000000000000000000000000011426374b6075889db3c5cdb9a8957f6a5745321909000000000000000000000000000000000000000000000000000000000000000000020b171f212832363b414539454b4c4b453846413d39352c23211a0f070000000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c00000000000000000000000000000a1a2e3f4c6176889db3bfcfccb9a899836e5f4d3a29170400081d3144556278899ea8b7c3cecfcac4c0bdc1c6cad3cbbeb2a3998372604a3b2a18040000000000000002152738495a677d919fb1c2d2e3d1c0b59f8d7c665a48372730414b6075869ca8b9cddbd9c9b7a6998372604a3f2e1c0c000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000102031424b6075859ba7b8c9d9eae2dfe2eaf6ffe9d4bfaa947f6a553f2a15000000000000011426374b6073869ca5a7957f6a5846331c0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d22364a5c70859ab0c3d3dac9b39e8975677c91a6b8cbe0cdbaa8947f6a5544311d080000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a252121212121222a394c61768ca6b8cbe0d8c3ad98836e58432e1900000c21364c61768ba9bacdc7b29d87725d48321d00000000000000000000000000000000081d314455687e93a6b8cbc7b49e8976614c392816000000000000000000000000000000000000000000000000000000000000000000000000040a0c151d20262c3028323637363127302c2823211a0f0c0600000000000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c000000000000000000000000000000101f334658677c91a1b3c6d6c6b3a1917c675846331f10021527374b6073859ba7b8c6d4c9bcb5afaaa8acb1b6c2cecfc1b3a1947f6a5947341f0900000000000000000a1a2c3c4d5f6c8197a4b5c6d6e3cfbcab9e8978625544313d4d5f6c8197a4b5c6d6e3cfbcab9d887761544330211000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000d1d2e3e4e606d8298a3b5c5d5e6d8cecaced8e6f6e9d4bfaa947f6a553f2a1500000000000000091c304354677d9090908976614c3a291700000000000000000000050b0d12121212120c0a04000000000000000000000000000000000000000000000000000000000005182b3b4f647a8ea2b4c8e3cfbcab96816b6074889db3c8d9d7c6b29d8874604b3620110000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100c0c0c0c0d1f33475873889db3c8ddd9c4ae99846f59442f1a00000a1f33465874899fb4c9c8b39e89735e3b2a18040000000000000000000000000000001325364b6074879db2c4cebaa996816b5847331b0a00000000000000000000000000000000000000000000000000000000000000000000000000000002090b11171a161e2121201d151b17130e0c0600000000000000000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c0000000000000000000000000000000417293a4d5f6e8399a8b9ccd0bfb39d8876614c3f2e1a0a1d314455687d92a3b5c5d4c4b7ab9f9a9593969ca4b4bbc8d0bfb49e8977614c3726140100000000000000000e1e30414b6074869ca8b9cde1dac9b8a79b8574604b40495b677d929fb1c2d2e2d0c0b49f8d7b6559473625130200000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251009192a3b4b5c687e93a0b2c1d2e3d6c8bbb4bbc8d8eae9d4bfaa947f6a553f2a1500000000000000011426364a60727b7b7b79645746331b0b0000000000000000000d1920222727272727211f170c000000000000000000000000000000000000000000000000000000000b203448596d8298adc0d1dfcab59f8c7863556b8095aabbcedfcbb7a6927d67523f2e1c0800000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251d1d1d1d192028374b61768b9fb5cadfd8c2ad98826d58432e1800000417293a5d72879db2c7cab49f8a755947341f0b0000000000000000000000000000071c304354677d92a5b6cac9b49f8b77624d3a2a170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020003090b0c0b090200020000000000000000000000000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c000000000000000000000000000000000b1b30404d62788a9eb4c1d1cbb7a697816c5d4b38271520364b6074889db2c1d2c7b7a69d8d84807d8186959faabbceccb9a896816c5544311d08000000000000000000131e32455663798a9eb4becee0d5c5b4a396806b5e4c5663798a9eb4bdcee0d5c4b4a2957f6a5d4b3a2a18080000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25101527374759647a8b9fb4becedfd6c5b8aa9faabbcee2e9d4bfaa947f6a553f2a150000000000000000081c30435460656666645c4a3929170000000000000000000d1d2b34383c3c3c3c3c3733291c0c0000000000000000000000000000000000000000000000000000031628394d62778b9fb4c9dfd4c4af9a846f5b4d62788b9fb4cadfd4c4b19b86715d4b37230e00000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a32323232322b35384555657b90abbccfe3d7c7ab95806b56402b160000001a30455a6f859aafc4cebbaa8c77614c37220c00000000000000000000000000000b20354a6073869cb1c3cfbcab97826d5948341c0c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c00000000000000000000000000000000001220344859697e93a3b4c8d4c4b59f8d7b655645311d263b50657b90a6b7cbcdbaa99d887b6f6b686c747f8c9fb4c2d3c6b39e8874604b35200b00000000000000000002162838495b677d929fb1c2d3e3d1c1b09e917c665a6074859ba8b9cddbd9c9b8a69a8472604b3f2e1c0c000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25101d3144556277889daabbcedcdac9b8a79e8a9fb4cadfe9d4bfaa947f6a553f2a15000000000000000000132536434a5050504e4a3d2d1b0b000000000000000005192b3c484d52525252524c473a29170400000000000000000000000000000000000000000000000000091e3245576b8095aabbcedfcbb7a6917c6651485a6e8399aec3d3ddc9b5a38f7a65503c2c1906000000000000182d42586d8297adc2d7e4cfbaa48f7a654f4848484848483c484d566073859bb0c9dae1cdbaa9917c66513c2711000002172c41576c8196acc1d9c8a48f7a654f3a251000000000000000000000000000081b2e3f51667b90a4b5c9cab49f8c78634e3b2b18000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0d131618191a191716120d0b0500000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c000000000000000000000000000000000005192b3b4b6073859baabbcecfbcab9c8674604b3d2c2c42576c8197acc4d4c9b49f8b79655d555355606a7f94a4b6c9ccb8a78f7a65503a2510000000000000000000000a1a2c3d4d5f6d8297a4b6c7d7dfcdbcb39e8978626c8197a3b5c6d6e3cfbcab9e887762544330211100000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251f30414b6073849aa6b7c8d8e3cfbcab9e898095aac0d5e9d4bfaa947f6a553f2a1500000000000000000008182530353b3b3b39362d1f0f0000000000000000000b2034485a626767676767615847331f11000000000000000000000000000000000000000000000000001325364b6075899eb3c8d8d8c8b29d8774604b3c50667b90a5b6cadfd2c1ae99836e5b4935210c000000000000182d42586d8297adc2d7e4cfbaa48f7a655d5d5d5d5d5d5d5d5a6267748197a3b5c9e7d8c8b49f8a76614c36210c00000014293e53697e93a8c9dabda8927d68533d2813000000000000000000000000000e22374b5d70859ab0c2d0c0ae98836e5b49351d0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c0e192023282b2d2e2f2e2c2b27221f180d0b0500000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c0000000000000000000000000000000000000d1c30435463798b9fb4c3d3c9b6a4957f6a5b493628385c71869cb1c6d7c7aa957f6a5b4c3f37444b6074869cb1c6d5c5aa947f6a553f2a1500000000000000000000000f1f30414b6075869ca9bacde1e0ccb8a79b85757d919fb1c2d2e3d1c0b49f8d7b6559483626140300000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a252d3d4d5f6c8196a2b4c4d4e1d0bfb59f8d7c7d92a7bdd2e7d4bfaa947f6a553f2a150000000000000000000008131c2026262624211a0f010000000000000000000d22384d62787d7c7c7c7c76614c3f2e19090000000000000000000000000000000000000000000000071c304354687e93a7b8cce2cebbaa957f6a5544354a6073879cb2c7d7dfcab49f8c78634d3a2917040000000000182d42586d8297adc2d7e4cfbaa48f7b72727272727272727274777c86979fb1c1d2e2cebbaa98826d5846331f0a00000010253b50657a90abbccfc0ab95806b56362513000000000000000000000000071a2d3d4f657a8fa2b4c8c7b3a28e7a644f3d2c1a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f1a21232b35383d404244454342403c37342a2220180d060000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c000000000000000000000000000000000000011426364a5b6b8095a4b6cad3c2b49f8b7963544332455673899eb3c8cdbaa98e79634e3d2f273144556b8096abc0d5c1ac97816c57422c17000000000000000000000001131e32455763798a9fb4becfe0d6c5b4a398838a9eb4bdcee0d5c5b4a295806b5d4c3b2a18080000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a293a4a5b677d919eb0c0d1e2d3c3b3a1957f6a7d92a7bdd2e7d4bfaa947f6a553f2a15000000000000000000000000070b1011110f0d0700000000000000000000000c21374c61768991919191816d5d4b37271502000000000000000000000000000000000000000000000b20354a6073879cb1c5d5dfcab49f8b77624c37304354697f94a9bacde1cfbcab96816c5847331f090000000000182d42586d8297adc2d7ecddc8b39d88878787878787878787898d919ca4b1bdcee0d0bfb49f8b78634d3a2917040000000c21374c61778b9fb5cac4af99846f5443301c0700000000000000000000000c21364a5b6f8499aec0d1c1af9a846f5c4a361f0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002101b222c35393c494d525657595a585755524c483b37342b20190e00000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c0000000000000000000000000000000000000008182d3d4b6074869cb2bececebaa99a8472604a3b4b60758ba7b8ccc9b49f8975604b352015273752677c92a7bcd1c3ae99846e59442f19000000000000000000000000031628394a5b687e92a0b2c2d3e3d1c1b2a0989ea8b9ccdbdac9b8a79a8473604b3f2f1d0d000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a36465863798a9eb4bdcdded7c6b6a5998372687d92a7bdd2e7d4bfaa947f6a553f2a15000000000000000000000000000000000000000000000000000000000000000a1f3347586b8096a9a79f8d7b655544311d0e000000000000000000000000000000000000000000071a2d3d51667b90a4b6cae3d3c2ae98836e59483425364c61778a9fb4c9ded9c9b49e8a76614c3727150200000000182d42586d8297adc2d7ece0cbb7a69d9d9d9d9d9d9d9d9d9d9ea8a6b1b6c2ced6ccbfb3a195806a5b49351b0b000000000a1f33475871879cb1c6c8b39e8974604a35200b0000000000000000000006192c3c4e63798ea1b3c7c9b5a3907b65503e2d1b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151d2e373d494e575a62686b6d6e6f6e6c6b676259564d483b352b1e13000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c00000000000000000000000000000000000000000f1e324556657b909fb1c5d5c7b4a2937e6859484b60758a9fb4cacab49f8a76614b3621192a3b53687d93a8bdd2c3ae98836e59432e19000000000000000000000000000a1b2d3d4e606d8298a4b6c7d7dfcfbeb2adb4b9c6d6e3cfbcab9e897862554431211100000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a43546176879ca8b9cddbe1cdbaa89c877661687d92a7bdd2e7d4bfaa947f6a553f2a150000000001080b101010101010100f0d0700000000000000000000000000000417293a4c62778a9fb4ab9c8674604b3c2c190600000000000000000000000000000000000000000c21364a5b6f849aafc2d3decab6a4907b65503b2b1f3347586d8298adc1d2e1cdb9a8947f6a5544311d0800000000182d42586d8297adc2d7ece7d5c4b7b3b2b2b2b2b2b2b2b2b2b3b9c6c7cad3d3c5b9b3a1998372604b3c2c19000000000004172a3a576d8297acc2ccb8a78d78634e38230e000000000000000000000c2035495a6d8298adbfd0c2b09b85705d4b37201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a28323f4b4f5b636c72787d808283848381807c77726b62594d483c301c130800000000000000162b40556b8095aac0d5dbc6b09b86715b46311c0000000000000000000000000000000000000000021628384b5d6d8297a6b8cbd1c0b39e8977624c445573889db3c8cfbcab8f7a644f41322c3748596c8297acc1d6c1ab96816c56412c1700000000000000000000000000000f1f31424b6175869ca9bacde1dccfc6c2c9ccd6e3d1c1b59f8d7c6659483726140300000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f404a60728399a5b6c6d7decdbdb49f8a796358687d92a7bdd2e7d4bfaa947f6a553f2a1500000009141d202525252525252524221b1002000000000000000000000000000c1f3447596c8196aab6a4947f6a5a493520130000000000000000000000000000000000000005182a3b4e63798ea2b4c8e0d7c6b19c86725d4b371d172a3a4f647a8fa3b5c9ded7c6b29d8874604b36201100000000182d42586d8297adc2d7ecf2e2d5cbc8c7c7c7c7c7c7c7c7c7c9ccd6dcded3c3b6a79e938374605443301e0e00000000000013283d52687d92a7c2d2c5a7927d675237271501000000000000000005182a3b4d62788b9fb4cacab6a4917c66513f2e1c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1e2b38454b5d646f7981888d929597999a989795918c8780776d625a4d4130251808000000000000162b40556b8095aac0d5dbc6b09b86715b46311c0000000000000000000000000000000000000000000a1a2f3f4c6176889eb3bfd0ccb9a798836e5e4c5b70859bb0c5d9c9ae98836e5f4b463d49556277899eb3c9d3c2a9937e69543e2914000000000000000000000000000001131e324657647a8b9fb4becfe1e1dad8dee1e8d6c5b4a396806b5e4c3b2b19090000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f4c5e6a7f95a1b3c3d3e2d1c0b09f927d675b52687d92a7bdd2e7d4bfaa947f6a553f2a15000009192631353a3a3a3a3a3a3a39362d20100000000000000000000000000005182a3b4d62788b9fb4b49f8b78634d41301b0b0000000000000000000000000000000000000b1f3447596d8297adc0d0e1cdbaa8937e69543f2e1c0c22374b5c71869bb1c5d6dfcbb7a6927d67523f2e1c08000000182d42586d8297adc2d7ecf9ece1d9d7d4d4d4d4d4d4d6d9dcdee1e8f1dfcab6a59c897e6e605645362614000000000000000d22384d62788da4b5c9c2ad97826d5544311d0800000000000000000b1f3447596c8197aabbcec3b19c8673604a352011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1d2b3c4856606b7a848c979da5a7abacaeafadacaaa7a49c958b8278675f4a43362513000000000000162b40556b8095aac0d5dbc6b09b86715b46311c00000000000000000000000000000000000306080900111f334758677d92a1b3c6d6c5b2a0917c6657556a8095aac1d1c6b2a0927d6c6157595b63738399a7b9cccab6a48d78634e38230e000000000000000000000000000000031629394a5c687e93a0b2c3d3e6efedf3f5e0ccb8a79b8574604b402f1d0d000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f5a667c8d9fb4bfd0e1d4c4b4a296816c5f4d52687d92a7bdd2e7d4bfaa947f6a553f2a150001142637444b4f4f4f4f4f4f4f4e4a3e2d1b07000000000000000000000000000d2034485a6d8297aabaa999846f5f4d3a29170400000000000000000000000000000000021628384c62778a9fb4c9dfdec9b49f8a76614c362111081b2e3e53687d93a7b9cce0d4c4b09b85715d4b37230e000000182d42586d8297adc2d7ececdbcec5c1bfbfbfbfbfbfc0c4c9ccd6e3ecdcc7b29c877768604b4538281808000000000000000b2035485a71869cb1c6c8b39e8974604b35200b000000000000000417293a4c62778a9fb4c8cbb7a5927d685443301c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1c2b3b485a6274808c999fabb2b7c3c0c2c3c4c3c1c0c2b6b1aa9f98897d6c605443301c140000000000162b40556b8095aac0d5dbc6b09b86715b46311c00000000000000000000000000040a0c12191b1e1f1d1b172a3a4d5f6f8499a8bacdcfbeb29d8775614e64798ea3b4c8cfbeb59f8d8176716f72798599a1b3c5d3c3b19c87725b4935210c000000000000000000000000000000000b1b2d3e4e606e8298a5b6cadff3fff8e5d2c2b39e897862554431221200000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a65566278899eabbccfddd8c8b7a69a8474604b4152687d92a7bdd2e7d4bfaa947f6a553f2a1500081d3144556065656565656565645c4a36220d0000000000000000000000000005192b3c4d63788b9fb4b3a1917d675846331f1000000000000000000000000000000000091e3245566a8095a9bacde2d1c1ac97826d5846331f0a001021364b6175899eb3c9deddc9b5a38f7a65503c2c19060000182d42586d8297adc2d7ece1cebdb1acaaaaaaaaaaaaabafb3b9c5cfdadfcab6a5937e685d4b37281a0a000000000000000005192b3c566b8095abc4ccb8a7907a65503b2510000000000000000a1f3346586b8095a9bacdc5b29d8774604b36251300000000000000000000000000000000000000000000000000000000000000000000000000000000000004182a3a4859627886969fabb5bcc9cbd4d5d7d8d9d8d6d5d3cac8bbb4a89e928172604a42311d0d00000000162b40556b8095aac0d5dbc6b09b86715b46311c0000000000000000000000050c171f21272e31333432302b2530414d62788a9fb4c1d2cbb7a696816c5c5c70859bb0becfcfbcab9f968b8684888d9ba3b3bfcfc9b6a5937e69543d2c1a0600000000000000000000000000000000000f2031424c6176879db2c7dcf2fff3dec9b5a4917c665a483727150400000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a656075859ba7b8c9d9e2cebbaa9d88776255443d52687d92a7bdd2e7d4bfaa947f6a553f2a15000b20354b60737a7a7a7a7a7a7a7a644e39240f00000000000000000000000000000d2135495b6e8398abbcb39d8876614c3e2e19090000000000000000000000000000000b21364b6075889eb3c7d7ddc8b4a38e79644f3a29170400091e3246576c8196acc0d1e3d2c1ae99836e5a4935200c0000182d42586d8297adc2d7ecd9c5b19f97949494949494969a9ea7b5bcc9dad3c3b49f8d7b655544311d080000000000000000000f253a4f647a8fa6b7cbc5ac96816c573e2d1b070000000000021628384c6176899eb3c7ccb8a7937e695544311808000000000000000000000000000000000000000000000000000000000000000000000000000000000000091f3447596277879ca4b4bcc9cfdadfdfdcd9d6d4d7dadee1ded8cec6b9b39f96806b604e3b2a1805000000162b40556b8095aac0d5dbc6b09b86715b46311c000000000000000000000d18202933363d434648494745413a3535485a697f94a3b5c8d4c4b49f8c7a6455657b8fa0b2c1d2c9bcb5aa9f9c999da5b0b5c1cfcfbcab9d8774604b36200f000000000000000000000000000000000000011426364859697e93a9bed3e8fef1dbc6b19c8671604f3d2d1a0a0000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a656d8298a3b5c5d6e0cfbeb49f8b7b645948373d52687d92a7bdd2e7d4bfaa947f6a553f2a15000c21364c61768b8f8f8f8f8f8f86715c47311c000000000000000000000000000006192c3c4e63798c9fb5b7a697816c5c4b3726140100000000000000000000000000091c2f4053687d92a6b8cbcad5c5b09b85705c4a361b0b0000031628394e63798ea2b4c8cacacab49f8c78634d3a29170400182d42586d8297adc2d7ecd7c1ac97817f7f7f7f7f7f818489979fabbccfe3cfbcab9c8674604b36200c0000000000000000000b20354b6074889db3c8c7b29d87725c4a36220d0000000000091e3245566a7f94a8b9bbc6b39e8875604b37271500000000000000000000000000000000000000000000000000000000000000000000000000000000000009192f404c6177869ca5b5c2cfd9e2d9cfcac6c3c0bfc2c5c9ccd6e1e2d6ccbdb09e937e695948341f0c000000162b40556b8095aac0d5dbc6b09b86715b46311c000000000000000001141d2b343a464c52585b5d5e5c5a564f4a433c4b6073859baabbcecfbcab9c8673605d6d8298a3b5c2cfcfc8bbb4b1aeb2b7c3c9d1cebdb59f8d7c665645311d090000000000000000000000000000000000000b1c3043546277899eb3c8def3fff3dec9b5a4937e695b4a3828160200000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a697e93a0b2c1d2e3d2c2b2a0937e695d4b3b2a3d52687d92a7bdd2e7d4bfaa947f6a553f2a15000c21364c61768ba1a4a4a4a49c86715c47311c0000000000000000000000000000122232434f5f6e8499aec4b49f8c7a645544311d0b000000000000000000000000000e23384c5e71869cb1c5b5b5b5b8a7927d67523e2d1b000000000b2136495b70859aafc4b5b5b5bcab96816c5847331f0a00182d42586d8297adc2d7e4cfbaa48f7a6a6a6a6a6a6a6b6f76818d9fb5c1d1d9c9b6a4937e68533a2a18040000000000000000081c3043546b8096abc1cbb7a58e79644f39241000000000000b21364b6075889ea5a5a5a5a8957f6a57453219090000000000000000000000000000000000000000000000000000000000000000000000000000000000011527374c5e6e8298a4b6c3d2e3d9cec9bcb4b1aeabaaacafb3b9c6cdd7e4e1cdbcb39e8977624c3a2917040000162b40556b8095aac0d5dbc6b09b86715b46311c0000000000000009151d313b484c5861676e70737472706b6460544a4455647a8c9fb4c3d4c9b5a4947f6a5a6075859ba4b2bfcad3cecac6c4c7cbd4cfc7bab49f947f6a5e4c3827150200000000000000000000000000000000000b1b2d3e4b6072849aa7b8cce0f5fff8e5d2c2b49f8b79635645321e1200000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a7b8b9fb4becfdfd6c5b5a398826d604f3f2e283d52687d92a7bdd2e7d4bfaa947f6a553f2a15000c21364c61768ba1b6babab19c86715c47311c00000000000000000000000000091c2f404f61697d889db3c8bcab9b8673604b3929160300000000000000000000000010263b50657b90a49f9f9f9f9f9f9e8975604b36211000000000061a2c3d52677c91a69f9f9f9f9f9f9e8a76614c37210c00182d42586d8297adc2d7e4cfbaa48f7a6555555555555657616c7f94a3b4c8ddd3c2af9a85705847331f0a0000000000000000011426364e63798ea3b5c9c3aa95806b553e2d1b070000000013293e53687e909090909090908a76614c392816000000000000000000000000000000000000000000000000000000000000000000000000000000000000081d314455667b90a0b2c2d3e1d6c8bbb4ab9f9c999694979a9ea8b4b9c6d4e2e1ccb9a897826d5847331f0a0000162b40556b8095aac0d5dbc6b09b86715b46311c00000000000009192731424e59626c767d838688898785807a736760544a5c6b8096a5b7cad2c2b49f8b78635662778699a1b1b6c2c8ccd5cfd2c9c6beb2a99f92816c6150402f1a0a0000000000000000000000000000000000031629394a5c6a7f94a2b4c5d5e8eceaf2f0e1cdbaa99c8674604b402f1d0d000000000000000000000000000000182d42586d8297adc2d7e6d1bca6917c889daabbcedcd9c9b8a79b8575604b423220283d52687d92a7bdd2e7d4bfaa947f6a553f2a15000c21364c61768ba1b6cbc6b19c86715c47311c000000000000000000000000000f23384c5e697f919da6b8cbc9b5a3947e695746321e0a0000000000000000000000001a2f445a6f838a8a8a8a8a8a8a8a8a806b5645321e0900000000000f20364b6074888a8a8a8a8a8a8a8a8a7f69543f2a1400182d42586d8297adc2d7e4cfbaa48f7a654f3f3f3f3f39464c6073859bb0c5dbdfcab49f8b77614c37220c0000000000000000000821364a5b71869bb1c5c6b19c86715c4a36220e000000000f24394f647a7b7b7b7b7b7b7b7a645847331b0a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354b6074879db2becfe0d6c5b9aa9f968b8784817f828589959ea8b7c4d4e7d6c6b49f8b76614c37210c0000162b40556b8095aac0d5dbc6b09b86715b46311c000000000001152737444b606877818b92989b9d9e9c9a968f877d72635a4b6075879db2becfcdbaa99a846f5f59627583919ca4adb3b8c5b9c2b5b1aaa0988b7e6c6251433322120000000000000000000000000000000000000e1e324657647a8b9fb4c0d1e3dfd7d5dddfe7d7c7b5a496816c5e4c3b2a18080000000000000000000000000000182d42586d8297adc2d7ecddc8b39d889da6b7c8d8e3cfbcab9e8978625645322414283d52687d92a7bdd2e7d4bfaa947f6a553f2a15000c21364c61768ba1b6cbc6b19c86715c47311c000000000000000000000000071a2d3d50667c8d9fb3b8c4d5d2c2b39e8975614b36210c000000000000000000000000182c4154656f7575757575757575756b6251382816020000000000081d314455607375757575757575757569614f3c271200182d42586d8297adc2d7e4cfbaa48f7a654f3a2a2a2a29334354697f94a9bed4e3cfbcab8f7a644f3a250f000000000000000000071a2d3d53697e93a7b9c9b6a48e79644f3c2b19050000000d22364a5c6466666666666666645c4a3a2a170000000000000000000000000000000000000000000000000000000000000000000000000000000000000316283951667b90a5b6cadcd9c8b9a79e8c8178716e6b6a6d7076808a9da6b7c9dae2cebbaa927d67523d28120000162b40556b8095aac0d5dbc6b09b86715b46311c00000000000e1d314455606c7e8a979faaadb0b2b3b1afaba59d928578655d57667b90a0b2c5d5c7b4a2927d685957616e7c8691979ea7a3a4a2a49c958e8378686051443425150400000000000000000000000000000000000e1e30414b6175879caabbcededaccc3bfc8cbd4e2d2c2b09f917c6659483625130000000000000000000000000000182d42586d8297adc2d7ece0cbb8a69da6b7c4d4e1d0bfb49f8d7c665a4938281613283d52687d92a7bdd2e7d4bfaa947f6a553f2a15000c21364c61768ba1b6cbc6b19c86715c47311c0000000000000000000000000d21364a5c71869babbccbd5e2e0ccb8a7947e69543f291400000000000000000000000011253747545a606060606060606060565144341a0a00000000000002152737444b5e606060606060606060544f4332200c00182d42586d8297adc2d7e4cfbaa48f7a654f3a25151517263650657a90a5bacfebd9c9a6917c66513c2711000000000000000000000f21364b6176899eb3c8c2ad98836d5a4835200b000000071b2d3e4a4f505050505050504f4a3e2d1c0c000000000000000000000000000000000000000000000000000000000000000000000000000000000000091e3245576d8398adc3d4e2cebbaa9e897b6c625a5956555758616b78879dabbccfe3d8c8ae99836e59442e190000162b40556b8095aac0d5dbc6b09b86715b46311c000000000e1e32424b607381939ea8b4bbc8c5c8c9c7c5c3b7b2a39b897b655c5e6d8298a7b8ccd0c0b39e8977614c4b5e66747c82888b8e8f8d8b8680796e635a4e4234261607000000000000000000000000000000000009192b3c4d5f6d8297a5b6c8d8ddccbcafaab2b7c4d4e0cdbdb39e8977625443301c1000000000000000000000000000182d42586d8297adc2d7ece7d5c4b8b3b8c4d4e2d3c3b3a1957f6a5e4c3c2c1a0a13283d52687d92a7bdd2e7d4bfaa947f6a553f2a15000c21364c61768ba1b6cbc6b19c86715c47311c0000000000000000000000000f24394e64798ea3b5c9dae7f2e8d6c5b09a85705b3828150200000000000000000000000819293741444a4a4a4a4a4a4a4a4a413d34261600000000000000000919273136484a4a4a4a4a4a4a4a4a3f3c3225150300182d42586d8297adc2d7e4cfbaa48f7a654f3a251a141c2a3a51667c91a6bbd1e6d2bda7927d68523d2813000000000000000000000a1e3246576b8096aabbcab49f8b78624d3a29170400000010202d36393b3b3b3b3b3b3b39362d2010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b21364b6076899eb4c9d7dac9b49f8c7b655d4d483c413f3a464c5a657a8d9fb5cadfdcc6b19c87715c3828160200162b40556b8095aac0d5dbc6b09b86715b46311c00000006192c3c4f616d81979fb4b9c6ced8d7cdc9cdd7d4cac1b5a79e8b7a64596177899eb3c0d0ccb8a798826d5e4c4d5560666d7376787a7875716b635b4d493c31241608000000000000000000000000000000000001142637485a677d91a0b1c3d3e2d0bfaf9e959da6b7c9dae0ccb8a79a8472604a3e2d1b0a000000000000000000000000182d42586d8297adc2d7ecf2e2d5cbc8cbd5e2d7c6b6a5998372604a402f1e0e0013283d52687d92a7bdd2e7d4bfaa947f6a553f2a15000c21364c61768ba1b6cbc6b19c86715c47311c00000000000000000000000012273d52677c92a7c1d2e7f7fff3dec9b39e89745645321d090000000000000000000000000b19252c2f3535353535353535352b2921160800000000000000000009151d20333535353535353535352a272015070000182d42586d8297adc2d7e4cfbaa48f7a654f3a2f2f26303847586b8095aac0d5e9d6c6a5907b65503b261000000000000000000000031629394d62788b9fb4c8bbaa96816b5846331f0900000002101b22242626262626262624221b1002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f243a4f647a8fa8b9c2c2c2bcab96816c5d4b3f352b2c2a29333c4b5d6f849aafc4d9dec8b39e89735645321e0900162b40556b8095aac0d5dbc6b09b86715b46311c0000000c2035495a697e939fb1bdcdd2c9c5c7bab4bac7c9cdd2c5b8a99d88786259687d92a2b4c7d5c5b2a0907b665745444b515858616364626056554e4a3d352c1e13060000000000000000000000000000000000000b1d3144556278899eb3becee1d5c4b3a19580889dabbccfe3d5c5b3a1947f695c4a392816030000000000000000000000182d42586d8297adc2d7ecfff2e7e0dde0e7e1cdbaa89c8776615443302212000013283d52687d92a7bdd2e7d4bfaa947f6a553f2a15000c21364c61768ba1b6cbc6b19c86715c47311c00000000000000000000000014293e54697e93a9c8d9ebfefff5e0ccb8a78b75604b36200b000000000000000000000000000811181a20202020202020202016140e04000000000000000000000002080b1e20202020202020202014120c03000000182d42586d8297adc2d7e4cfbaa48f7a654f44444436434b566176889db3c8dde1cdb9a88e79634e39240e00000000000000000000000b2035485a6d8298aabbc8b49e8976614c3727150100000000070d0f111111111111110f0d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012273d52677c92a7adadadadad9f8c78624d3f2e20191615171f2e3f54697f94a9bed4e0ccb8a78b75604b36210b00162b40556b8095aac0d5dbc6b09b86715b46311c000006192b3c4d62788b9fb4bdcecdc1b5b0a6a99fa9a9b4b9c6d3c7b7a699836e5d5f6f849aa9bacdcfbeb29d8775604b3e353c3a464c4e4f4d4b453839362d20190e000000000000000000000000000000000000000b1b2e3f4b6073849aa7b9ccdcdac9b8a69983737b8d9fb5c1d2e3d0bfb49f8b7a645745321e120000000000000000000000182d42586d8297adc2d7ecfffffaf4f2eedecdbdb49f8a7963584636251304000013283d52687d92a7bdd2e7d4bfaa947f6a553f2a15000c21364c61768ba1b6cbc6b19c86715c47311c00000000000000000000000012273c51677c91aabbcee2f0f5ead7c7b39e88735645321d0900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a655959595959546065748299a6b8cbe0dec9b49e8975604b36200b000000000000000000000005192b3c4e63798c9fb4c8b9a8947f695544311d080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000152a3f556a7f949898989898989886715a493520100500000412273d52677c92a7bcd1dfcab59f8a75604b35200b00162b40556b8095aac0d5dbc6b09b86715b46311c00000b2035495a6e8398a9bacecdbdb0a39b908c8a8e949ea8b6c2d3c4b3a18f7a655063788b9fb4c2d2cab6a596806b5c4a3726293336393a3836322824211a0f06000000000000000000000000000000000000000417293a4b5d6a7f95a2b4c5d6e3cfbcab9d8877616b8096a3b5c6d7e2cebaa99c8675604b40301d0d00000000000000000000182d42586d8297adc2d7ecfffffffff2e2d1c0b09e927d675b4a3a29180800000013283d52687d92a7bdd2e7d4bfaa947f6a553f2a15000c21364c61768ba1b6cbc6b19c86715c47311c0000000000000000000000000c21374c61778b9fb4c3d2dfe0decdbaa998836e5838281502000000020b111420202020202020202020202020202020202020202020202020202020202020202020202014120c020000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a6f6f6f6f6f6f70747a8699a1b2c4d5e5d3c2ae98836e5645321d090000000000000000000000000e2135495b6d8297aaa8a8a89d8774604b35200b000000000000000000000c151c1e202020202020202013110b02000000000000000000000000000000040d131620202020202020201c191309000000000013283d52687d82828282828282827f69543c2c190c0c0c0e111b2b3c54697e93a9bed3dec8b39e88735443301c0800162b40556b8095aac0d5dbc6b09b86715b46311c00000d23384d62788c9fb5c7d2c1b09f96857b7775797e8a9ca4b6c9cfbfaf99846f585a6a7f94a4b5c9d4c3b49f8c7a645544311d1f21232523201d150e0c070000000000000000000000000000000000000000000e1f334658647a8c9fb4c0d1e4d2c1b59f8d7b65596074859ba8b9cde1d8c7b6a497816c5e4d3b2b1808000000000000000000182d42586d8297adc2d7ecfffffff6e6d4c4b4a296816c5f4d3d2d1b0b0000000013283d52687d92a7bdd2e7d4bfaa947f6a553f2a15000c21364c61768ba1b6cbc6b19c86715c47311c0000000000000000000000000a1f3347586d8297a5b5c2c9ccc8bdb49f8b79634e39230e00000006141f262935353535353535353535353535353535353535353535353535353535353535353535353529271f140600000000000000000000000000182d42586d8297adc2d7ecdac5b09b8484848484848485898f9ca4b2bfcfe2decab6a4917c675238281502000000000000000000000000061a2c3d4d62788c9393939393927c67523d2712000000000000000000101e293033353535353535353528261f140600000000000000000000000000071521282b3535353535353535312e261b0d0000000010253a4e5f686d6d6d6d6d6d6d6d69614f3b202121212123262c39495a6e8398aec3d8dac9af9a846f5a3626140100162b40556b8095aac0d5dbc6b09b86715b46311c000014293f54697e94abbccfc9b5a3968173666160636978869cabbccfc9b49f8a76614c6074869cabbccfcebbaa9b8573604b3c2b190c0e0f0d0b090200000000000000000000000000000000000000000000000e1e31414c6176879daabbceded6c6b5a396806b5e4c5563798a9eb4becfe1d3c2b19f917c665948362614010000000000000000182d42586d8297adc2d7ecfffffdead8c8b7a69a8473604b41301f0f000000000013283d52687d92a7bdd2e7d4bfaa947f6a553f2a15000c21364c61768ba1b6cbc6b19c86715c47311c00000000000000000000000004172a3a4c6176879ca4b0b4b8b3ae9e947f6a5b4935210c0000021424313b3e4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a3e3b32241402000000000000000000000000182d42586d8297adc2d7ecddc8b4a29b9999999999999b9fa8b1b5c2cfdddfcfbeb19c8673604b35200b00000000000000000000000000000f2035495a667c7d7d7d7d7d7e7c65503b261000000000000000000c1e2e3b45484a4a4a4a4a4a4a4a3e3a312414020000000000000000000000041526333d404a4a4a4a4a4a4a4a4642382b1b090000000b1e31414e525858585858585858544f42313536363636393b3d495762788a9fb4c9decfbcab957f6a55402a150000162b40556b8095aac0d5dbc6b09b86715b46311c00011426375a70859aafc9d9c9b09b857360554c4b4e5a647a8c9fb4cacebbaa917c675255647a8c9fb4c4d4c8b5a3947e695a483520130000000000000000000000000000000000000000000000000000000009192c3c4d5f6d8298a5b7c8d9e1cdb9a89b8574604b40495b687d92a0b2c3d4e0cebdb39e8978625443301c100000000000000000182d42586d8297adc2d7ecfffef0e2cebbaa9d887762554431231301000000000013283d52687d92a7bdd2e7d4bfaa947f6a553f2a15000c21364c61768ba1b6cbc6b19c86715c47311c000000000000000000000000000c1f334758627886939b9fa79e988f8173604b3d2c1a0600000b1f31424e53606060606060606060606060606060606060606060606060606060606060606060606060544f42321f0c000000000000000000000000182d42586d8297adc2d7ece4d1c0b4b0aeaeaeaeaeaeb0b4bac6c9d2e0ded1c1b2a0917c665544311d08000000000000000000000000000006192b3c4c5e66686868686868655e4c38230e000000000000000115293b4c585e6060606060606060534e42311f0b00000000000000000000000d213344505560606060606060605b5649382613000000011323313a3d43434343434343433e3b37444b4c4c4c4c4e51545b6375849aa9bacdd6c6b59f8c78624d38230d0000162b40556b8095aac0d5dbc6b09b86715b46311c00081d31445573889db3c8cfbcab907b65554437353c4b5c6e8398aec3d8c8aa95806a554b5c6c8196a6b7cbd2c1b49e8a78624d41301c0c000000000000000000000000000000000000000000000000000001152737495a677d92a0b2c3d4e1cfbeb49e8a79635645313c4e606e8298a5b7c8d9e0ccb8a79a8473604b3e2e1b0b00000000000000182d42586d8297adc2d7ecfff0dfcebeb49f8b7a6459473727150500000000000013283d52687d92a7bdd2e7d4bfaa947f6a553f2a15000c21364c61768ba1b6cbc6b19c86715c47311c0000000000000000000000000004182a3a495a62747e858a8b89837a6c605544311f0f00000011263b4e606975757575757575757575757575757575757575757575757575757575757575757575757569604f3b2712000000000000000000000000182d42586d8297adc2d7ecefdfd1c8c5c4c4c4c4c4c4c5c9cdd7dee3dccdc0b4a398826d5e4c372614010000000000000000000000000000000e1e2f404c51535353535353504c402f1c0900000000000000071c3045586a73757575757575757568604e3a2611000000000000000000000013283d50626b7575757575757575716756422e190400000005131e25282d2d2d2d2d2d2d2d2931445560616161616366696f79859aa2b4c7d7c8b9a898836e5a4935200b0000162b40556b8095aac0d5dbc6b09b86715b46311c000b20354b60758a9fb4cacab49f8a76614b3727202e3e54697e94a9bed3c1ac97826c573e4b6175879db2bfcfcdb9a899846f5f4d3a2a1704000000000000000000000000000000000000000000000000000c1d31445563788a9eb4becfe1d4c3b2a0927d685b49382731424c6176879daabbcee2d5c5b4a2947f6a5c4a39291703000000000000182d42586d8297adc2d7ecf3e3d2c1b2a0937e685c4b3b2a19090000000000000013283d52687d92a7bdd2e7d4bfaa947f6a553f2a15000c21364c61768ba1b6cbc6b19c86715c47311c00000000000000000000000000000c1c2b3c49566069707476736e645d4b443726140100000014293e53697e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7e69543e2914000000000000000000000000182d42586d8297adc2d7e5e5e5e4dddad9d9d9d9d9d9dadee1dedcd1c8bdb0a29a8474604b402f1909000000000000000000000000000000000012222f383c3e3e3e3e3e3e3b382f21110000000000000000091e33485e73888a8a8a8a8a8a8a8a7e68533e28130000000000000000000000162b40556b808a8a8a8a8a8a8a8a85715b46311c0600000000010b1013181818181818181820354b607376767676787b7e848c9ba3b4c0d1c9bbaa9e8a78624d3c2b19060000162b40556b8095aac0d5dbc6b09b86715b46311c000c21374c61768caabbcec8b39d88735847331f11273c51667c91a6bbd1c3ae98836e59434657667c91a0b2c5d6c6b3a1917d675847331f110000000000000000000000000000000000000000000000000c1c2e3f4b6073859ba8b9ccdcd8c8b7a598826e5f4e3c2c1a1f334658657b8c9fb4c1d1e3d1c0b49f8c7a645746331e13000000000000182d42586d8297adc2d7e5e7d5c5b5a398826d604e3e2e1d0d000000000000000013283d52687d92a7bdd2e5d4bfaa947f6a553f2a15000c21364c61768ba1b6bbbbb19c86715c47311c0000000000000000000000000000000e1e2b38454b535b566056594f4b3f312619090000000014293e53697e939f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f937e69543e2914000000000000000000000000182d42586d8297adc2d0d0d0d0d0d0d0d0d0d0d0d0d0d0cfd2c9c6c0b4af9f96847661564532221200000000000000000000000000000000000004121d242628282828282826231c11030000000000000000091e33485e73889d9f9f9f9f9f9f937d68533e28130000000000000000000000162b40556b80959f9f9f9f9f9f9b86715b46311c0600000000000000000303030303030311263b51667c8b8b8b8b8e9093999fabb4c1d0c3b7ab9f8c7b655a49351e0e000000162b40556b8095aac0d5dbc6b09b86715b46311c000b20354a60758a9fb4cacbb8a68c76614c3929223040556a7f94aabfd4c1ac97816c5742394c5e6e8398a7b9ccd0bfb39e8876614c3f2e1a0a0000000000000000000000000000000000000000000004172a3a4b5d6b8095a3b5c6d6e2cebbaa9d8776614c41311e0e17293a4b5d6a8095a3b4c6d6e2cebbaa9c8775614b41301e0e0000000000182d42586d8297adc2d0d0d9c9b8a79b8575604b4231201000000000000000000013283d52687d92a7bdd0d0d0bfaa947f6a553f2a15000c21364c61768ba1a5a5a5a59c86715c47311c000000000000000000000000000000000e1a2731363e38454b45383a372e1d1409000000000014293e53697e93a8b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5a9937e69543e2914000000000000000000000000182d42586d8297adbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbac2b5b1aba29a8f8173615847382815040000000000000000000000000000000000000000090f11131313131313100e0900000000000000000000091e33485e73889db3b5b5b5b5a8937d68533e28130000000000000000000000162b40556b8095aab5b5b5b5b09b86715b46311c0600000000000000000000000000000011263b51667b90a1a1a1a3a6a9aeb4bcc9d0bfb3a59d8d7d675d4c3c2c1900000000162b40556b8095aac0d5dbc6b09b86715b46311c00071c30435473889db2c8d5c4a6917c6657473a383f4c5e6f849aafc4d7c6aa947f6a553f2f404c6277899eb3c0d1cbb8a697826d5d4b382816020000000000000000000000000000000000000000010f1f334758657b8d9fb4c1d1e3d1c0b49f8c7a645846332313000c1c2e3f4b6073859ba8b9cce1d8c8b6a597826d5f4d3c2b190900000000182d42586d8297adbbbbbbbbbcab9e89786256453224140200000000000000000013283d52687d92a7bbbbbbbbbbaa947f6a553f2a15000c21364c61768b90909090909086715c47311c00000000000000000000000000000000000a151d2029283236322825221b100100000000000014293e53697e93a8becacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabea9937e69543e2914000000000000000000000000182d42586d8297a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a4a2a49c958f847a6c6055473a2a1a0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000091e33485e73889db3c8cacabda8937d68533e28130000000000000000000000162b40556b8095aac0cacac6b09b86715b46311c0600000000000000000000000000000011263b51667b90a6b6b6b8bbbec4cacfd9c7b3a199877c675f4d3f2f1e0e00000000162b40556b8095aac0d5dbc6b09b86715b46311c00001325365a6f8499afc8d8c7b29c877561584f4d515d667c91a1b3c7cdbaa8917b66513c26344859687e93a2b4c7d5c4b19f907b655645321e0f00000000000000000000000000000000000000000f1f31424c6176879dabbccfdfd5c5b4a2947f6a5c4b3a2917050000111d3144556278899eb3becfe1d3c3b1a0927d675a4837261401000000182d42586d8297a5a5a5a5a5a59f8d7c665a49382816060000000000000000000013283d52687d92a5a5a5a5a5a5a5947f6a553f2a15000b20354b60737b7b7b7b7b7b7b7a654f3a25100000000000000000000000000000000000020f1a21232b2f302e28211e160a0000000000000014293e53697e93a8bed3dfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd3bea9937e69543e2914000000000000000000000000182d42586d8290909090909090909090909090909090908f8d8b86807a6f645c4b44372a1c0c00000000000000000000000000080e101d1d1d1d1d1d1d0d0b05000000000000000000000000000000000000091e33485e73889db3c8ddd2bda8937d68533e28130000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000000000000000000000011263b51667b90a6bbcbcdd0d3d9dfe3d9c3ae998475665e4d413021110000000000162b40556b8095aac0d5dbc6b09b86715b46311c000013283e53687e93aabbcecab6a5998376696462666c7b889eb3bfd0c9b49f8a75604b36212b3b4a6072859aa9bacecebdb29c8674604b3d2d18080000000000000000000000000000000000000a1a2c3d4e606e8399a6b7c9d9d0ccb8a79a8472604b3e2e1b0b00000001152737495a677d92a0b2c3d3d0cebeb39e8978625544311d10000000182d42586d8190909090909090907f6a5e4c3c2b1a0a000000000000000000000013283d52687d9090909090909090907f6a553f2a1500081d3144556066666666666666655d4b37220e000000000000000000000000000000000a161e2d3639404445433d3632281b1204000000000014293e53697e93a8c2d3e5f5fff4fff6eae2dfd3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2bea9937e69543e29140000000000000000000000000e24394e63797b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a7876716b645c4f4a3e3127190c00000000000000000000000003111c2326323232323232322220190d0000000000000000000000000000000000091e33485e73889db3c8ddd2bda8937d68533e28130000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000000000000000000000011263b51667b90a6bbc1c4c7caced9e3dec9b49e8a7c675f4d3c2c19090000000000162b40556b8095aac0d5dbc6b09b86715b46311c00000d22374c62778b9fb4c6d3c3b3a199887e7a777c818d9ea6b8cbcfbcab98836e5645321e1c30435463798b9fb4c2d3cab6a495806b5b4a362614010000000000000000000000000000000002152738495b687e93a1b2c4bbbbbbbdb39e8978625443302010000000000009192b3c4d5f6d8298a5b6c8bbbbbbb9a79b8573604b3f2e1b0800000e24394e63797b7b7b7b7b7b7b7b72604a402f1e0e0000000000000000000000000d22374d62777b7b7b7b7b7b7b7b7b78624d38230d0001152737444b505050505050504f4b3f2e1b080000000000000000000000000000000a1a28323d4a4e55595a58524b45392f2212040000000013283e53687d93a4b6c7d7eafdfff6e6d8cecabebdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbda9937e69543e29140000000000000000000000000c21364a5b63666666666666666666666666666666666665626056564f4b3e362e1d15090000000000000000000000000011212f383b4848484848484837342b1d0d00000000000000000000000000000000091e33485e73889db3c8ddd2bda8937d68533e28130000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000000000000000000000011263b51667b90a6abacafb2b4bbc8cfd9cdb9a89e8c7d675a493727150100000000162b40556b8095aac0d5dbc6b09b86715b46311c00000b203448596c8197a8b9cdcfbfb3a69d938f8d91979fabb8c4d3c2b49f8c79634e382816132536495b6a8095a4b6c9d3c3b49f8b79635443301c0d00000000000000000000000000000000091d31455663798a9fa5a5a5a5a5a5a59f917c665948362614020000000000000e1e30414b6175879daaa5a5a5a5a5a5a2957f6a5d4b37220e00000c21364a5b636666666666666665605443302211000000000000000000000000000b2034485962666666666666666666625a4935200c000009192731353b3b3b3b3b3b3b3a372e211000000000000000000000000000000009192838454b5b636b6f706d6860574c402f2211000000000b21364b6075869ca9bacde2eefeead8c8bbb4a9a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8937e69543e2914000000000000000000000000071a2d3d4a4e50505050505050505050505050505050504f4d4b45383a372e221b100100000000000000000000000000081c2f3f4c505d5d5d5d5d5d5d4d483b2b1905000000000000000000000000000000091e33485e73889db3c8ddd2bda8937d68533e28130000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000000010208080808080811263b51667b90969697999c9faab4bcc9d7c6b9aa9e8a78635544311d0800000000162b40556b8095aac0d5dbc6b09b86715b46311c000005182b3b4c61778a9eb4bccfcfc4b7b2a9a4a2a6acb5bcc9d3c5b6a497826d5b4a361a0a08182c3d4b6074869cabbccfcebbaa9b8573604b3b2b19050000000000000000000000000000000b20364b60758690909090909090909090816c5e4d3b2b18080000000000000000131e334657647a8c9090909090909090908b7a654f3a25100000071a2d3d4a4e50505050505050504a43362513040000000000000000000000000005182b3b484d5050505050505050504d493c2c190600000009151d202626262626262625221b10020000000000000000000000000000021527374556606d79808485837d75665e4c402f1b0b000000091e324556647a8b9fb4bfd0e2f3e2cebbaa9f94929292929292929292929292929292929292929292927e69543e2914000000000000000000000000000f1f2d36393b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3a3836322824221b10070000000000000000000000000000000e23384c5d657272727272727262594834200c000000000000000000000000000000091e33485e73889db3c8ddd2bda8937d68533e28130000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c060000000000060f16181e1e1e1e1e1e1e23394e63798181818184878b979fabbac7d7c8b9a89b8573604b35200e00000000162b40556b8095aac0d5dbc6b09b86715b46311c0000000d1f344759677d919eb4bcc9d4cbc8beb9b7bbc1cacfcfc3b6a79c8676614c3d2d1a00000f1d314556657b8d9fb5c4d5c8b4a3937e6959483420120000000000000000000000000000000c22374c61767b7b7b7b7b7b7b7b7b7b7b75604b40301d0d000000000000000000031729394b5c647a7b7b7b7b7b7b7b7b7b7b7a644e39240f0000000f1f2d36393b3b3b3b3b3b3b3b35302518080000000000000000000000000000000d1d2b34373b3b3b3b3b3b3b3b3b38352c1e0e000000000001080b11111111111111100e0800000000000000000000000000000000081d3144556074818c95999a9892887c665e4c3a2917040000031628384a5c697e93a1b3c4d5e7dfcab49f8b7f7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d79634e39230e00000000000000000000000000010f1a212426262626262626262626262626262626262523211e160f0d07000000000000000000000000000000000010263b50657b8787878787878778624d3a2a18040000000000000000000000000000091e33485e73889db3c8ddd2bda8937d68533e28130000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c06000000000917232a2d333333333333333336495b636c6c6c6c6f7277828c9fa9bacdd6c6b5a3917c67513c2c1906000000162b40556b8095aac0d5dbc6b09b86715b46311c00000004182a3b4d5f6a80949fabb7c3cbd4d3cfccd1d9cfcabfb2a59c8979635846331f0f0000021527384b5d6c8197a6b7cbd1c1b49e8a78624d40301b0b00000000000000000000000000000a1f33475861666666666666666666666660564532221200000000000000000000000b1b2e3e4b5c6466666666666666666666645c4a36210d000000010f1a21242626262626262626201c130800000000000000000000000000000000000d1820222626262626262626262320190e000000000000000000000000000000000000000000000000000000000000000000000417293a4b607384979fabaeafada69d8d7c665846331f0a0000000a1a2d3d4a60728399a6b8cbe0e2cebbaa98826d686868686868686868686868686868686868686868635b4a36210c000000000000000000000000000000070c0e1111111111111111111111111111111111100d0b090300000000000000000000000000000000000000000b20354b6074879d9d9d9d9d96816c5847331f0b0000000000000000000000000000091e33485e73889db3c8ddd2bda8937d68533e28130000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c06000000061727353f424848484848484848423d494e565656575a59626d7b8b9fb4c9ded2c1af9a846f5a4935200c000000162b40556b8095aac0d5dbc6b09b86715b46311c000000000c1d304150626a7f8d9da5b2b7c4c2c4c6c4c9bcb4afa0988779635b493a2917010000000a1a2e3f4c6176889db3bfbbbbb9a899836e5e4d3a2917040000000000000000000000000004182a3a474c50505050505050505050504b453828160400000000000000000000000010202e3e4a4f505050505050505050504e4a3e2d1a070000000000070c0e11111111111111100b070000000000000000000000000000000000000000050b0d1111111111111111110d0c0600000000000000000000000000000000000000000000000000000000000000000000000a1f3346586b8095a2b5bcc9c5c4b7ab9d8876614c36210c000000000f1c3043546277889eb3bdcde0d8c8b2a0927d675a535353535353535353535353535353535353534e4a3d2d1a07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081d314455697e93a7b2b2b29f8a77614c3929170300000000000000000000000000091e33485e73889db3c8ddd2bda8937d68533e28130000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c060000000f23354552575d5d5d5d5d5d5d5d57524539414141423b484d5d697f94a9c3d3dfcab59f8b78634d38230e000000162b40556b8095aac0cacac6b09b86715b46311c0000000000122333445061697c87949da6aaadafb0aeacab9f9a8f8376635b493d2c1c0c0000000000111f334658677c91a1a5a5a5a5a5a1917c665846331f0a00000000000000000000000000000c1c2a33373b3b3b3b3b3b3b3b3b3b3b3632281a0a000000000000000000000000000210202d363a3b3b3b3b3b3b3b3b3b3b39362d200f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c21364c61768a9fb4c0cfdadad4c9b7a696806b5637271501000000001325364759667c909fb0c2d2e5cfbeb49e8a786255443d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39362d1f0f000000000000000000000000000000000000040a0c121517191a191714100b090300000000000000000000000000000000000000000000000000000000011426374b6176899eb3c8baa895806b5746331e0a00000000000000000000000000091e33485e73889db3c8ddd2bda8937d68533e28130000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c06000001162a3f52636d73737373737373736c63523e2c2c2c2c2b343f4c61768ca5b6cadfcfbcab927c67523d2712000000162b40556b8095aab5b5b5b5b09b86715b46311c000000000005152533434f5e66757f888f95989a9b9997928b847a6e6158493d2c1f0e0000000000000417293a4d5f6e8390909090909090908876614c36210c0000000000000000000000000000000c181f222626262626262626262626211e160a00000000000000000000000000000002101b22242626262626262626262624211a0f01000000000000000000000000000000000000000000000000000000000000000000000000000000020b1113202020202020202020201b0b0902000000000000000000070d0f1f2020202020202020201d0c0a0400000000000012273c52677c91a9bacde3ecefe7d4c4b29d87725544311d080000000008182a3b4c5e6c8196a4b5c7d7e1ccb9a89b8573604b3f2e28282828282828282828282828282823211a0f01000000000000000000000000000000040a0c181f22272a2c2e2f2e2d2925211e160b07000000000000000000000000000000000000000000000000000000091e3246576b8095aabbc6b39e8976614c39281603000000000000000000000000091e33485e73889db3c8ddd2bda8937d68533e28130000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c06000002182d42576d818888888888888888816c573a2a171717182033475872879cb2c7dcdac9aa947f6a553f2a15000000162b40556b80959f9f9f9f9f9f9b86715b46311c00000000000007152532404c566069737a8083858684827d776f645c4c473a2c1f0f00000000000000000c1c30414c61777b7b7b7b7b7b7b7b7b77624d37220d00000000000000000000000000000000040a0c11111111111111111111110b0903000000000000000000000000000000000000070d0f111111111111111111110f0d070000000000000000000000000000000000000000000000000000000000000000000000000000000006141f26283535353535353535353531201d150a00000000000002101b22243535353535353535353533221f180c0000000000152a3f556a7f94aac7d7e9fffff2dfcab49f8a75604b35200b00000000000d1d2f404b6074869ca9bacde1d6c6b4a395806b5d4b3a2917131313131313131313131313130e0c07000000000000000000000000000000040c181f222a34373d4042434543423f3a363228201c130800000000000000000000000000000000000000000000000000031629394d62778b9fb4c9b9a7947f6a5745321e08000000000000000000000000091e33485e73889db3c8ddd2bda8937d68533e28130000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c06000002172c42576c81979d9d9d9d9d9d9b85705847331f140d0e192c3c5a6f8499afc4d9d7c2ad97826d58422d18030000162b40556b808a8a8a8a8a8a8a8a86715b46311c000000000000000715222f38454b5460646a6d6f716f6c6861594f4b3e332a1c0f01000000000000000000121f3447596166666666666666666662594834200b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021424313a3e4a4a4a4a4a4a4a4a4a4a463631271a0a000000000010202e373a4a4a4a4a4a4a4a4a4a4a4837332a1c0c00000000152a3f556a7f94aac6d7e9fcfff4dfcab59f8a75604b36200b000000000000121e32455663798b9fb4bfd0e2d1c1b49f8d7b655847331f1301000000000000000000000000000000000000000000000000000000000c171f2a33373a474c525557595a5957544f4b45393530251811040000000000000000000000000000000000000000000000000b203448596d8298adc0c5b39e8875604b362513000000000000000000000000091e33485e73889db3c8ddd2bda8937d68533e28130000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c06000000152a3f556a7f94aab2b2b2b2b29f8b77614c3f302623232a37495a71869bb1c6dbd8c3ad98836e58432e1903000013283d50626b7575757575757575716756422e19000000000000000004121a283236434a4f55585a5b5957534c473b372e1f170c000000000000000000000004182a3a474c5050505050505050504d483b2b1805000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d131520202020202020202012100a0100000000000000000000000000000000000000000000000000000000000000000000000b1f31424e53606060606060606060605b4b45382715020000000c1d2e3e4b4f5f6060606060606060605d4c473a2a180400000012273c52677c91a8bacde1ecf0e7d4c4b29d87725544311d08000000000000021628384a5b697e93a1b3c4d4e3cfbcab9d8776614c42311f0f000000000000000000000000000000000000000000000000000000121c29333a474c555961676a6c6e6f6e6c69656057504a43362f1f170b000000000000000000000000000000000000000000000005182b3b4e63798ea2b4c8b8a6937e695443301c070000000000000000000000091e33485e73889db3c8ddd2bda8937d68533e28130000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c0600000013283d52687d92abbcc8c8c8bbaa95806b5d4b433638383b475563788c9fb5cadfd6c1ab96816c56412c170100000d213344505560606060606060605b5649382613000000000000000000000a161e2530353a4043454644423d37342a221b1004000000000000000000000000000c1c2a34373b3b3b3b3b3b3b3b3b37342b1d0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071520282a35353535353535353527251e13050000000000000000000000000000000000000000000000000000000000000000000011263a4e60687575757575757575757570605645311d13020009192a3b4b5c647475757575757575757572615847331f0a0000000c21364c61768a9fb4c0cfdadad5c9b7a696816b5637271502000000000000000a1a2d3d4e606e8399a6b7c9dad9c9b7a598836e604e3d2c1a0a00000000000000000000000000000000000000000000000008131c2f3a464c58616a70777d7f81838483827e7a766e6660544c4033291b0f01000000000000000000000000000000000000000000000d21364a5b70859aafc7c5b29d8773604a35200b0000000000000000000000091e33485e73889db3c8ddd2bda8937d68533e28130000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c060000000d22374d62778b9fb4caddd8c8b49f8b7c6860544f4d4e51596173859babbccfe3d6c5a9947f6a543f2a15000000041526333d404a4a4a4a4a4a4a4a4642382b1b0900000000000000000000000208131c20242b2e30312f2d28221f180c08000000000000000000000000000000000c181f222626262626262626262220180d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041525333c404a4a4a4a4a4a4a4a4a3d393023130100000000000000000000000000000000000000000000000000000000000000000013283e53687d8a8a8a8a8a8a8a8a8a8a8574604b41312010011426374759647a8b8a8a8a8a8a8a8a8a8a8777614c37220c0000000a1f334658697e93a2b5bcc9c5c4b8ab9d8876614c37210c0000000000000000000f1f31424c6176889dabbccfe3d4c3b2a0927e685b49382715020000000000000000000000000000000000000000000008182530404c58616b777f858b929597989a9897948f8a837b73665e4c463a2c1f1002000000000000000000000000000000000000000000071a2d3d53687d92a9bacab6a58f7a654f3828160300000000000000000000091e33485e73889db3c8ddd2bda8937d68533e28130000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c060000000b2034485970859ab0c3d4e2cebbaa9f8b7e736a656263666b778298a3b4c9dae0ccb9a78f7a65503a251000000000071521282b3535353535353535312e261b0d000000000000000000000000000000070b0f15181a1c1a17130c0b0400000000000000000000000000000000000000040a0c1111111111111111110d0b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d2033435055606060606060606060524d41301e0a00000000000000000000000000000000000000000000000000000000000000000011263a4e606d8197a39f9f9f9f9f9fa397816c604e3e2d1c0f1d3144556177879da99f9f9f9f9f9f9f8b7a645847331f0a0000000417293a4a607284979fabafb0aea69e8d7c665847331f0a00000000000000000001141f334758657b8d9fb5c1d2e2cfbfb49f8a79635645311d1100000000000000000000000000000000000000000000132536434a5e6676808a949b9fabaaacaeafaeaca9a99f9890857b6d6158493d2d2010000000000000000000000000000000000000000000000f21374c61768a9fb4c9c3ac97826d5645321e0900000000000000000000091e33485e73889db3c8ddd2bda8937d68533e28130000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c0600000005182b3b53697e93a5b7cadfd8c8baa99f93867f7a78787c808998a0b2c1d1e7d8c8b39e8974604b35200b0000000000040d131620202020202020201c1913090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013283c50616a757575757575757575675f4d3925100000000000000000000000000000000000000000000000000000000000000000000b1f31424b6074859ba6b8b5b5b5c1b19f927d685c4a3a2a1f30414b6073849aa6b7b5b5b5c0b19f927d685c4a3a2a1804000000000c1c3043546075828c969a9b9893887c665e4c3a2917040000000000000000000004182a3a4c5d6b8096a3b5c6d7e1cdbaa89b8574604b402f1c0c0000000000000000000000000000000000000005121c304354606a7c89959ea8b0b5bcc9c1c3c4c3c1c7bab4ada39b908276635b4a3e2d1e0e0000000000000000000000000000000000000000000a1f3347586e8399aec9c9b39e8975604b36210b00000000000000050b0d0e1e33485e73889db3c8ddd2bda8937d68533e28130e0e0e0e0c060000000000162b40556b8095aac0d5dbc6b09b86715b46311c06000000000d21364b6075879db2bfcfdfd7c7bab4a49c948f8d8d91959ea8b2becfdfe2cebbaa97826d5544311d080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0c0f11131311100e0b08010000000000000000000000000000000000000000070d0f1416191a1715120c0a03000207090b0b0b0b0b0b0b0b00000000000000000000000000000000000000000000000000152a40556a7f8a8a8a8a8a8a8a8a8a7d67523d271200000000000000000000000000000000000000000000000000000000000000000002141d3245566278889eaabbcecacebdb49f8b7a645847362c3d4d5f6b8096a2b4c4d4d4c4b4a297816c5f4e3e2d1c0c0000000000001325364557606d79808485837e76665e4c402f1c0c0000000000000000000000000c1c2f3f4b6074859ba8bacde1d7c6b5a396806b5e4c3a2a1804000000000000000000000000000000000000122333434a60727f8d9ea7b4b9c6cacfdad6d8d9d8d7d7cdc9c1b5b0a0988779645c4a3c2b1b0a00000000000000000000000000000000000000000417293a52677c92abbcccb9a8917c67513626140100000000000e192022232333485e73889db3c8ddd2bda8937d68533e282323232323211a0f01000000162b40556b8095aac0d5dbc6b09b86715b46311c0600000000091e324557667c91a1b3c0d1dfd7cdc2b6b1a9a4a2a3a6aab3b9c6cfdce2d2c1b49f8b78634d372715010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b0d161e2125262828272523201c140800000000000000000000000000000000050b101b2224292c2e2f2d2a27211e160b161c1e202020202020202013110b02000000000000000000000000000000000000000000152a40556a7f959f9f9f9f9f9f9f927c67523d271200000000000000000000000000000000000000000000000000000000000000000000021528384859657b8c9fb4becfe1cdbaa99d877661544339495b677d919eb0c0d1d8c8b7a69a8474604b413120100000000000000008182839454b5c646b6f706e6861574c402f22120000000000000000000000000000111d31455663798a9fb4bfcfe2d2c1b59f8d7b655947341f1401000000000000000000000000000000000c1c304150616d82959fabb8c5cdd6dfdcd3d8cecaced8d7dfded2c9beb2a59d897a645a483928160300000000000000000000000000000000000000000c21374c61778b9fb4cac6ad98826d5443301c08000000000e1e2b3538383838485e73889db3c8ddd2bda8937d68533e383838383838352c1f0f000000162b40556b8095aac0d5dbc6b09b86715b46311c0600000000031628394d5e6e8399a2b4c1cedfe1d3cac7bfbab7b8bbc0c9ccd6e4e2d1c4b5a396816c5a4935190900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d181f222932363a3c3d3d3c3b3935302618180a000000000000000000000000010d1820222e363a3f414344423f3c36322922293133353535353535353528261f14060000000000000000000000000000000000000000152a40556a7f95aab5b5b5b5b5a7927c67523d271200000000000000000000000000000000000000000000000000000000000000000000000a1a2b3b4b5d697f94a0b2c2d2d7c7b7a59a8372604b465763798a9eb4bccde2cebbaa9d88776255443123130200000000000000000a1b28323e4a4e565a5b59534b46392f221204000000000000000000000000000002152738495b687e93a1b2c4d4e3cfbcab9d8877614c42321f0f0000000000000000000000000000000417293a4d5f6a7f95a0b5bcc9d6e1d3cac7bec8bbb4bbc8c2caced9ddcfc3b7a79e8978625745321e0e00000000000000000000000000000000000000000a1f33475870859bb0c5c8b39e8874604b35200b00000005192b3c484d4e4e4e4e5e73889db3c8ddd2bda8937d68534e4e4e4e4e4e4e493d2c1a060000162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000a1b30404b6075849ba3b1bdcbd4dededcd4cfcdcdd1d5dee1e2d8cec1b5a69b8575614b3c2c19000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a161e2a343739464b4f51525251504e4b4336352818060000000000000000000009141d2b34373e4a4f5456585a5755524b4639363c45494a4a4a4a4a4a4a4a3e3a3124140200000000000000000000000000000000000000152a40556a7f95aabfcacacabca7927c67523d27120000000000000000000000000000000000000000000000000000000000000000000000000d1d2e3f4f616d8298a4b5c5d6d4c3b3a195806b5e4b6175869ca8b9cddacebeb49f8b7b64594837271505000000000000000000000a161e2d3639414546433e3633291b1204000000000000000000000000000000000a1a2c3d4e606e8399a6b7c9d9dac9b7a699836f604f3d2d1a0a00000000000000000000000000000a1f334658677d8d9fb5becfdad8cec2b6b1a9a3aa9faaa6adb4bbc8d0ded4c5b8a79b8575604b3d2c1a060000000000000000000000000000000000000004172a3a556a7f95aac7ccb8a78f7a654f3a25100000000b2035485a62636363636373889db3c8ddd2bda8937d6863636363636363635b4935210c0000162b40556b8095aac0d5dbc6b09b86715b46311c06000000000000121e324557617685979fb2b7c4cad3d9dcdee1e2dfdddbd7cdc8bbb4a39b8877625746321e0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010f1b28323b474c55576164666868666563605453463523100000000000000000000d1926313b484c555c64696b6e6f6c6a6761574f4a4c595e6060606060606060534e42311f0b00000000000000000000000000000000000000152a40556a7f95aabfd4dfd1bca7927c67523d271200000000000000000000000000000000000000000000000000000000000000000000000000112132434b6075869ca7b8c9d9d0bfb59f8d7c66616e8399a4b6c6d6d2c1b19f937e685d4b3b2b190900000000000000000000000003101b22242b2f302e28211e170b000000000000000000000000000000000000000f1f31424c6176879dabbccfe3d5c4b3a1937e695b4a3828160300000000000000000000000005192b3b4c6176899eabbccfe3d8c8bbb4a49c948e8b8a8d90979faab4c0cfddd5c5b5a395806b5b4935210c00000000000000000000000000000000000000000f253a4f647a8fa9bacec5aa95806b553727150100000d22384d6278787878787879889eb3c8ddd4bfaa957f787878787878787879705e38230e0000162b40556b8095aac0d5dbc6b09b86715b46311c06000000000000031628394658617581919da6b1b6c2c4c7c9cdcdc9c8c5c7bab4aa9f9685786259483928160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1f2d39454b59626a71767a7b7d7d7c7a78746d64533f2b1600000000000000000e1d2b37444b59626b727a7e818384827f7c766d645c4b6b73757575757575757568604e3a261100000000000000000000000000000000000000152a40556a7f95aabfd4e7d1bca7927c67523d27120000000000000000000000000000000000000000000000000000000000000000000000000003141e3245576278899eabbccfe3cfbcab9e8979697f94a1b2c2d3d5c5b5a397826d604e3f2e1d0d000000000000000000000000000000070d0f161a1b19130c0a03000000000000000000000000000000000000000001131f334758657b8c9fb4c1d2e2d0bfb49f8b79635645321e120000000000000000000000000b203448596b8095a7b8c9dad8c7baaa9f93867e787675787b828c9aa2b2bfcfc9bcb4a99f8a78634e38230e00000000000000000000000000000000000000000b20364b60758a9fb4c9c4af9a856f5544311d0800001b30465b70858d8d8d8d8d8d9ea7b8cce0d7c3af9e958d8d8d8d8d8d8d8d8a75604a35200000162b40556b8095aac0d5dbc6b09b86715b46311c06000000000000000a1b293a4657616d7c88929ca4a9aeb2b4b9bab4b2b0aba99f978b8174625a483b2b1b0b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1e2d3d4a57606c777f868a8f91929291908e89826d58432e18000000000000000e1e2c3b485560697780878f9496989997949189827a6b6073898a8a8a8a8a8a8a8a7e68533e281300000000000000000000000000000000000000152a40556a7f95aabfd4e7d1bca7927c67523d2712000000000000000000000000000000000000000000000000000000000000000000000000000003162839495a667c8d9fb4bfcfdac9b9a79c867b8c9fb4bfcfd9c8b8a69b8574604b4231201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004172a3a4b5d6b8095a3b5c6d6e1cdbaa99c8675604b402f1d0d00000000000000000000000d22374d62788a9fb4c5d5e2cebaa99f8c7e736963606062666d788499a1b2bfb3ab9f988b8076614c37210c0000000000000000000000000000000000000000091d32455670869bb0c5c9b49f8975604b35200b00001b30465b70859ba3a3a3a3a3b3b8c5d5e7deccbcafaaa3a3a3a3a3a3a39f8a75604a35200000162b40556b8095aac0d5dbc6b09b86715b46311c0600000000000000000c1c2939464b5f67747d868e94999d9ea8a99f9d9b96908a81786b6056483c2b1d0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1a2c3c4a5b6375818b959b9faaa6a7a7a6a5a89c87725d47321d0000000000000e1e2c3c495962737e89959ca5a9abadafacaaa89e978c807473889e9f9f9f9f9f9f937d68533e281300000000000000000000000000000000000000152a40556a7f95aabfd4e7d1bca7927c67523d27120000000000000000000000000000000000000000000000000000000000000000000000000000000a1b2c3c4c5e6a7f94a1b3c2d3d6c5b5a49c919faabbcee2cebbaa9e8878625645322414020000000000000000000002090b12121212120e0c06000000000000000000000000000000000000000000000000000000000c1c2e3f4b6074859ba8b9cde1d7c7b5a497816c5e4c3b2b180800000000000000000005182b3b556a7f94a9bacde3d2c1b49f8b7b6960554e4b4b4d515a63748399a3b0a1998c82786b615847331f0a000000000000000000000000000000000000000002152838576c8196acc1cdbaa88e79644f39240f00001b30465b70859bb0b8b8b8b8c8ccd5e3f3eadaccc3bfb8b8b8b8b8b8b59f8a75604a35200000162b40556b8095aac0d5dbc6b09b86715b46311c060000000000000000000c1b2832414d56606873797e8487898b8b8a8886817b766c625a4b45382b1e0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003162838495a637986969fa9b0b4bbc8bdbdbbc6b29c87725d47321d00000000000a1a2c3c495a637785939ea8b2b6c3c0c3c4c1c6b9b4ab9f968576889eb3b5b5b5b5a8937d68533e281300000000000000000000000000000000000000152a40556a7f95aabfd4e7d1bca7927c67523d2712000000000000000000000000000000000000000000000000000000000000000000000000000000000e1e2f404a60728399a4b6c6d6d2c2b5b1a6b4bbc8d9cfbeb49f8c7b655a4838281606000000000000000000000a151d20272727272723211a0f01000000000000000000000000000000000000000000000000000000111d31445563788a9eb4becfe1d2c2b19f917c6659483625130000000000000000000b2034485970859bb0c7d7ddc9b5a3937e685d4b44373635383c49566073859b9b8f83796d625a4c473a2a170400000000000000000000000000000000000000000012283d52677d92a7bcd7c6a8937e69533e291400001b30465b70859bb0c5cdcdcddde0e7f3fff8eaded7d4cdcdcdcdcdcab59f8a75604a35200000162b40556b8095aac0d5dbc6b09b86715b46311c06000000000000000000000b161e3038454b546063696f727476767473706b6661574d483c31271a0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091e3245566378889ca4b4bac7caced9d2d2d1c7b29c87725d47321d0000000002152738495a6378879ba3b3b9c6cad3d6d8d9d7d7cdc9bcb4a39a85899eb3c9cacabda8937d68533e281300000000000000000000000000000000000000152a40556a7f95aabfd4e7d1bca7927c67523d27120000000000000000000000000000000000000000000000000000000000000000000000000000000000111c3043546175869ca8b9c9dad2c9c6bbcaced9d2c2b2a0947f695d4b3c2b1a0a000000000000000000000a1a2731363c3c3c3c3c38352c1f0f00000000000000000000000000000000000000000000000000000002152737495a687d92a0b2c3d4e0cebdb39e8977625443301c1000000000000000000d22374c62778b9fb5cadfd8c8b09b8571604e3f31262120232c384555647a8b857a6f635b4d483c332a1c0c000000000000000000000000000000000000000000000f243a4f64798fa4c4d5c1ac97816c57422c1700001b30465b70859bb0c5cacacacae0e7f2fff6e8ddd5d2cacacacacacab59f8a75604a35200000162b40556b8095aac0cacac6b09b86715b46311c06000000000000000000000003121a273136434a4e54595d576061575d5b56514b4639352b1d150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000417293a4b6075879ca6b6c3ced8dfdddbdacfcac7b29c87725d47321d00000000091d3145566378889da5b5c1ccd6dfdfd6ccc8c6c5c7cacec1b4a29a9ea7b9cce0d2bda8937d68533e281300000000000000000000000000000000000000152a40556a7f95aabfd4e7d1bca7927c67523d2712000000000000000000000000000000000000000000000000000000000000000000000000000000000000132536465763798a9eabbccfe3dedbd0dfe2d6c5b5a498826e614f3f2e1d0d0000000000000000000002152738454b52525252524e493d2c1a0a00000000000000000000000000000000000000000000000000000009192c3c4e5f6e8298a5b7c8d9e0ccb8a79a8472604a3e2d1b0b0000000000000012273c52677c91abbccfe2cebbaa917c675242311d140b0b0e1a27374a5c647970655d4e4a3d352b1f170c00000000000000000000000000000000000000000000000c21364c61768ba6b8cbc5af9a85705a3a2a1704001b30465b70859bb0b5b5b5b5b5cbd5e2f2e8d8cac1bdb5b5b5b5b5b5b59f8a75604a35200000162b40556b8095aab5b5b5b5b09b86715b46311c06000000000000000000000000000a151d253035393f4439454b4c463946413b36322920190e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f3346586a7f94a5b6c4d3e2dfd2c9c6c9bcb5b4b29c87725d47321d000000071b2d3e4b6074859ba6b7c3d2e1d9cecac5b8b3b1b0b2b4bbc8c0b4afb3b9c5d6e8d2bda8937d68533e281300000000000000000000000000000000000000152a40556a7f95aabfd4e7d1bca7927c67523d271200000000000000000000000000000000000000000000000000000000000000000000000000000000000008182939495b667c8d9fb5c2d2e5f1e6f4e0ccb8a79c8675604b433221110000000000000000000000091d314556606767676767635b49382715020000000000000000000000000000000000000000000000000000000e1e31414c6176879daabbcee2d5c5b4a2947f695c4a3928160300000000000014293f54697e94a9c9dadfcab49f8a76614c362114010000000a192d3e4a5c645c4f4b3f362d20190e040000000000000000000000000000000000000000000000000a1f33465873889eb3c8c8b39e88735847331f0a001b30465b70859b9f9f9f9f9fa1b7c4d5e7ddcabaada89f9f9f9f9f9f9f9f8a75604a35200000162b40556b80959f9f9f9f9f9f9b86715b46311c0600000000000000000000000000000208131c2024292f283236363329312c26211e160b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c21364c6176899eb4c3d3e2dacdc1b5b0a6ab9f9faa9c87725d47321d0000000d22364a5c6b8096a3b5c4d4e1d4c8bbb4aca79e9c9b9d9faab2b6c3c5c9ccd6e4e8d2bda8937d68533e281300000000000000000000000000000000000000152a40556a7f95aabfd4e7d1bca7927c67523d2712000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1b2c3d4d5e6b8095a3b5c9def2fbf3dec8b39e89786357453225140300000000000000000000000b20364b60747d7c7c7c7c79635645311d0e0000000000000000000000000000050b0d0d0d0d0d0d0d0d0d0d0d0d131f334658657b8c9fb4c1d1e3d0c0b49f8b7a645746321e12000000000000162b41566b8096abc0d5dcc6b19c87715746331e0a00000000000f202d3d4a4e4a3d372e211a0f0500000000000000000000000000000000000000000000000000000417293a5b70859bb0c5ccb8a78c76614c37210c001b30465b70858a8a8a8a8a8a8fa6b7cbe0d5c1ad9c938a8a8a8a8a8a8a8a8a75604a35200000162b40556b808a8a8a8a8a8a8a8a85715b46311c060000000000000000000000000000000000070b0e141a161e21211e171b16110c0a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012273c52677c91a8b9cde1e0cdbcb0a39b918d8a8a8b8f87725d47321d0000061a2c3d4f647a8d9fb5c1d2e2d4c3b7aa9f978f898685878a929ca4b0bccce0e8f4e8d2bda8937d68533e281300000000000000000000000000000000000000152a40556a7f95aabfd4e7d1bca7927c67523d271200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1f30404b6075869bb1c6dbf0fce7d2bca7927d675a4939281606000000000000000000000000091d3145567085919191918674604b3c2c19060000000000000000000000000d18202222222222222222222222222222293a4b5d6a8095a3b4c6d6e2cebbaa9c8675614b41301e0e0000000000182e43586d8398adc2d8dac4af9a856f5a392917030000000000010f1f2d3639362d231c110700000000000000000000000000000000000000000000000000000000001a2f44596f8499aec4d5c5a38e79634e39240e00192e42556770757575757575889db3c8ddd2bda8937e757575757575757575705e4a3520000013283d50626b7575757575757575716756422e19040000000000000000000000000000000000000000000003090b0c0a030001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003182e43586d8298adc6d6e5d3c2b09e95857c78757576797d68533d281300000c2135495b6e8398abbccfdfd4c4b7a59d8c827a74717072767d87969eafbbccddeee8d2bda8937d68533e281300000000000000000000000000000000000000152a40556a7f95aabfd4e7d1bca7927c67523d271200000000000000000000000000000000000000000000000000000000000000000000000000000000000000001325364758657b8c9fb4cadff4ffefdac5b09a8574604b3f2f1d0d0000000000000000000000000215273850657b90a3a7a4947f6a5a4935201300000000000000000000000d1d2b34373737373737373737373737373737373f4b6073859ba8b9cce1d8c8b6a497826d5f4d3c2b190900000000182d43586d8298adc2d7dac4af9a856f5a3a291704000000000002101f2d3639362d231c11070000000000000000000000000000000000000000000000000000000003182e43586d8398adc2d0baa5907b65503b26100013263848555b606060606073889db3c8ddd2bda8937d6860606060606060605e52422f1b00000d213344505560606060606060605b5649382613000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011527375c71879cb1c6dcdecab6a495807266636058616468604e3a251100000e23394e63798c9fb5c9dadac9b7a69d877a6d6460545b5861687480959dafbfd0e3e8d2bda8937d68533e281300000000000000000000000000000000000000152a40556a7f95aabfd4e7d1bca7927c67523d2712000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1c3043546176889daabbcee2f4f2f1ddc8b4a295806b5d4c3b2a18080000000000000000000000000a23384c5e71859bb0b49f8b78634d41301c0c00000000000000000009192b3b484d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d556278899eb3bfd0e6d3c3b19f917d675a4837261401000000162b41566b8096abc0d5dcc6b19c87715846331f0a000000000010202d3d4a4e4a3d372e211a0f05000000000000000000000000000000000000000000000000000002172c42576c8197acc1d2bca7927d67523d281200091a2a3842464a4a4a4a5e73889db3c8ddd2bda8937d68534a4a4a4a4a4a4a4a423424120000041526333d404a4a4a4a4a4a4a4a4642382b1b09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c0e0b0801000000000000060c0e0b0801000000000000000000000000000000000000081d31445573899eb3c8dedcc7b19c867360544d4b464c4f534e42311e0b0005192b3b566c8196abbccfe3cfbcab9d8878645c4f4a433a474c55606b7f95a1b3c7dce8d2bda8937d68533e281300000000000000000000000000000000000000152a40556a7f95aabfd4e7d1bca7927c67523d27120000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1c2e3e4a60728399a6b7c8d9e6dfdddfe4d1c0b59f8d7b655948362614010000000000000000000000091c2f4051667c91a4b5a99a846f5f4d3a291704000000000000000114263748596262626262626262626262626262626262626262677d92a1b3c7dce1cebdb39e8978625544311d1000000014293f54697e94a9c9dadfcab49f8a76614c362114010000000a192d3e4a5c645c504b3f362d20190e0400000000000000000000000000000000000000000000000001162b40566b8095abc0d4bea9947f69543f2a1400000c1a262e30353535485e73889db3c8ddd3bea9937e69543e353535353535352f24160600000007151d2b343b474c51524d4a43362f211b0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e192123201d1509000000000e1a2123201d140900000000000000000000000000000000000b20354b60758a9fb5cadfd6c0ab96816b5443363633363a3d3a31231301000b2034485971879cb1c9dadfcab59f8d7b65594a3e35302a3337444b60728499afc0d1e3d2bda8937d68533e281300000000000000000000000000000000000000152a40556a7f95aabfd4e7d1bca7927c67523d271200000000000000000000000000000000000000000000000000000000000000000000000000000000000417293a4b5c697f94a1b3c4d4e1d4cac7cad4e3cfbcab9e8877625443301c110000000000000000000000001120354a6073869cb1b3a2927d675846331f1000000000000000081d31445570777777777777777777777777777777777777777777778499afc4d9ece0ccb9a79a8473604b3f2e1b08000012273c52677c91abbccfe2cebbaa917c675242311d150b0b0e1a27374a5c647970655d4e4a3d352b1f170c000000000000000000000000000000000000000000000000152a3f546a7f94a9bfd4bfaa957f6a55402a150000000913191b202033485d73889db2c8ddd6c1ab96816c563929211e212429271f1406000000000f202d3b484d596266676360544b3f3224140100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004141e2c3538353127190900000e1f2c3538353126190d000000000000000000000000000000000c21364b61768babbccfe3d3bea8937e69533625201f212428251e130500000d22374d62788ca4b6cae7d7c7ae99836f5d4b3b2d201c171f2731435464798ea2b4c8dcd2bda8937d68533e281300000000000000000000000000000000000000152a40556a7f95aabfd4e7d1bca7927c67523d271200000000000000000000000000000000000000000000000000000000000000000000000000000000010f1f334658647a8b9fb4bfd0dbcec3b7b2b7c3d4dac9b8a69a8472604b3f2e1c0c0000000000000000000000071c304354677d92a5b6b39d8876614c3e2e19090000000000000b20354b60748a8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c99a1b3c7dcf0e8d6c5b4a2957f6a5d4b37220d00000d22374c62778b9fb5cadfd8c8b09b8571604e3f31272120232c384555647a8b857b6f635b4d483c332a1c0c000000000000000000000000000000000000000000000013293e53687e93a8bdd3c0ab95806b56402b16000000000004060b1c31465c71869bb1c6dbd9c3ae99836e574638363336393e3b3224140200000a1a2d3e4a59626f777b7c7873655d4f42321f0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c181f313c494d4b44372715010d1d2c3d494e4b44372b1d120300000000000000000000000000000c21364b61768ba0b6daecd0bba6907b66513b26110a0c0f13110b0100000012283d52677d92a7c2d3e2cdbaa9907b66503f2e1d100704091525364a5c70859ab0c5dad2bda8937d68533e28130000000000000000000000000000000000000a1a2e3f556a7f95aabfd4e7d1bca7927c67523d2d18080000000000000000000000000000000000000000000000000000000000000000000000000000000f2031424c6176879daabbceddcebdb1a59da5b7c6d6d5c4b4a2947f6a5d4b3a2a180800000000000000000000001325364b6074879db2b8a697816c5c4b3727150100000000000b20354b60758aa0a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2afb3bfd0e3f6f3e3d1c0b49f8c7a644f3a250f00000b1f34485970859bb0c7d7ddc9b5a3937e685d4b44373635383c49566073859b9b8f83796d625a4c473a2a17040000000000000000000000000000000000000000000012273d52677c92a7bcd1c1ab96816c56412c1700000000000000051a2f455a6f849aafc4d9dec9b39e897661564e4b464b4e544f42321f0c00021528384a5c6478848c90918d877b69614f3d2d1a07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003111c2a33424e5b63605544311d12192b3b495b636055483c301e160a000000000000000000000000000c21364b61768ba0b6cbe0cfbaa5907a65503b251000000000000000000000152a3f546a7f94a9bfd4dfc9b49f8a76604b3621110000000008182d3d556a7f94aabfd4d2bda8937d68533e28130000000000000000000000000000000000021628384b5d6d8298adc2d8ead5c0ab95806b5b4a36261401000000000000000000000000000000000000000000000000000000000000000000000000000b1b2d3e4e606e8399a5b7c8d8d2c1b19f96879da8b9cce1d0c0b49f8c7b6558473625130000000000000000000000081d314455687e93a6b7b59f8d7a645544311d0e00000000000b20354b60758aa0b5b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c4c7d0ddedffffefe2cebbaa9c87725d47321d080005182a3b546a7f94a9bacde1d2c1b49f8b7b6960554e4b4b4d515b63748399a3b0a1998c82786c615847331f0a0000000000000000000000000000000000000000000011263c51667b91a6bbd0c1ac97826c57422d170000000000000002172d42576c8297acc7d8e1ccb9a898827467636057616369604f3b271200091d324556647a8999a1a6a7a59d8d7f695b4a36210c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011212f3a474c60687873604b402f1e26374859637873625a4d4032281b0a0000000000000000000000000c21364b61768ba0b6cbe0cfbaa5907a65503b251000000000000000000000162c41566b8196abc0d6dbc6b19c86715645321e09000000000011263b51667b90a6bbd0d2bda8937d68533e28130000000000000000000000000000000000081e324556657b8fa0b2c6daf4dfc9b49f8b79635443301c0d000000000000000000000000000000000000000000000000000000000000000000000000031629394a5c697e93a1b2c3d4d6c6b5a39681788a9eb3bdcee2cebbaa9d8876615443301c1000000000000000000000011426374b6074889db2bcab9c8673604b3c2b1905000000000b20354b60758aa0b5caccccccccccccccccccccccccccccccccccccd9dce3edfbfafafeebd9c8b49f89745f4a341f0a00000d22374d62778a9fb4c5d5e2cebaa99f8c7e746963606062666d788499a1b2bfb3ab9f988b8076614c37210c0000000000000000000000000000000000000000000012273c51677c91a6bcd1c1ac97816c57422c17000000000000000011273c51667c91a9bacee2d6c6b2a098877d78767476797e69543e2914000b20364b6074869ca7b3bfc3b6ab9f8b79634e39240e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1e2f404c58616e7e89806b5e4c3c2b3144556277888578675f4b453928160300000000000000000000000c21364b61768ba0b6cbe0cfbaa5907a65503b251000000000000000000000182e43586d8398adc2d8dac4af9a856f5a3828160300000000000f243a4f64798fa4b9ced2bda8937d68533e28130000000000000000000000000000000008182d3d4b6074869cb2becfe1f6e2cebaa99b8573604b3b2b190500000000000000000000000000000000000000000000000000000000000000000000010f1e324657647a8b9fb4bfcfe1cdb9a89b8574677d919fb1c2d2d9c8b7a6998372604a3e2e1c0c0000000000000000000d1d2e3f4b5c697e94a9c9b5a4947f695a48352010000000000b20354b60758aa0b5cadfe1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e5e5e5e5e5e5e5e5e5dec9b49f89745f4a341f0a00000b203448596b8095a7b8c9dad8c7baaa9f93867f797675787b828c9aa2b2bfcfc9bcb4a99f8a78634e38230e0000000000000000000000000000000000000000000013283d52687d92a7bdd2c0ab96816b56412c1600000000000000000c21364b61768a9fb4c7d7e4cfbeb2a59d928e8b8a8b8e8a75604a35200013283d52687d92a4b5c5d0d4c9baa999836e5939281603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006192c3c4c5e657683939f8d7c665a48373f4b6073849a9a897c6d605745321e0900000000000000000000000c21364b61768ba0b6cbe0cfbaa5907a65503b251000000000000000000000182e43586d8398adc2d8dac4af9a856f5a3828160300000000000f243a4f64798fa4b9ced2bda8937d68533e2813000000000000000000000000000000011426364a5b6b8095a4b6cadcecfdead8c7b4a3937e695948342012000000000000000000000000000000000000000000000000000000000000000000000f1f31414b6175869ca9bacdddcebeb49e8a79635f6d8197a4b5c7d7d4c4b3a1947f695c4b3a2917040000000000000005182a3b4b5d657a859bb0c6c2b49e8a78624d3f2e1b080000000b20354b60758aa0b5cad0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0c9b49f89745f4a341f0a000005182b3b4c6176899eabbccfe3d8c8bbb4a49c948e8b8a8d90989faab4c0cfddd5c5b5a395806b5b4935210c0000000000000000000000000000000000000000000014293e54697e93a9bed3c0aa95806b55402b1600000000000000000a1e3246576c8197a9bacde1dccfc3b6b2a7a3aa9faa9f8a75604a352000172d42576c8297acc2d2e4e7d8c7b29d88735746321e0900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c2035495a657c8899a1ab9e89786255444b5d6a8095a2a79e918175604b36210b00000000000000000000000c21364b61768ba0b6cbe0cfbaa5907a65503b251000000000000000000000162c41566b8196abc0d6dbc6b19c86715645321e09000000000011263b51667b90a6bbd0d2bda8937d68533e2813000000000000000000000000000000081c30435463798b9fb4c3d3e6fafff5e5d1c1b49e8a78624d41301c0c00000000000000000000000000000000000000000000000000000000000000000a1a2c3d4e606d8298a4b6c7d7d3c2b1a0927d675b4b6075869ca9bacde1d0bfb49f8b7a645846331f14010000000000000b1f344859657b8b9ba3b5c9cdb9a899836e5d4b37220a0000000b20354b60758aa0b5bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb49f89745f4a341f0a0000000d1f334658677c8d9fb5becfd9d8cec2b6b1a9a3aa9faaa6adb4bbc8d0ded4c5b8a79b8575604b3d2c1a0600000000000000000000000000000000000000000000152a40556a7f95aabfd4bfaa947f6a553f2a150000000000000000031629394d62778a9fb4bdcfd9e1d3cac7bcc8bbb4bb9f8a75604a3520001a30455a6f859aafc4daeff5dfcbb7a58b76614b36210c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d23384d62788a9da6b3b8a79b8574604b59657b8d9fb4b8b39f96816c57412c1702000000000000000000000c21364b61768ba0b6cbe0cfbaa5907a65503b251000000000000000000000152a3f546a7f94a9bfd4dfc9b49f8a76604b3621110000000008182d3e556a7f94aabfd4d2bda8937d68533e2813000000000000000000000000000005192b3c4b6073859baabbcee1f1f3e8eaefe1ccb9a899836e5f4d3a29170400000000000000000000000000000000000000000000000000000000000003162838495b687d92a0b2c3d3d7c7b6a497826d5f4d455663798a9fb4becfe2cebbaa9d8776614c4231200f0000000000000d22374c6277899ea9b5c1d2d7c6b3a18f7a644f3828160200000b20354b60758aa0a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a59f89745f4a341f0a0000000417293a4d5f6a7f94a0b4bcc9d5e1d3cac7bec8bbb4bbc8c2caced9ddcfc3b6a69e8978625645321f0e0000000000000000000000000000000000000000000001162c41566b8196abc0d3bda8937e68533e29130000000000000000000b20344859687e939fb4bcc9d2dedfdcd2d8cec9b59f8a75604a352000172c42576c8197acc2d2e3e7d7c7b29d88725746321e0900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c2035495a6a8095a2b4c5b4a396806b5e6177889dabbcbbaa9d8776614c37210c0000000000000000060c0e0e21364b61768ba0b6cbe0cfbaa5907a65503b25100e0e0e0d0c060000000012273d52677d92a7c2d3e2cdbaa9907b66503f2e1d1007040a1525364a5c70859ab0c5dad2bda8937d68533e281300000000000000000000000000000c2035485a697e93a3b5c8d8e9e1ded3d5dde8d6c6b3a1917c675847331f110000000000000000000000000000000000000000000000000000000000000e1e32455663798a9fb4becfe1cdbaa99c8675614b41384a5b687e93a0b2c3d3d8c8b7a599836e604e3e2d1b0b0000000005182b3b566c8196a7b9c7d2dfe4d0bfae99836e5645321e0900000b20354b60748a909090909090909090909090909090909090909090909090909090909090909090908b745f4a341f0a000000000b1b304050616d81949fabb8c5ccd6dfdcd4d8cecaced8d7dfded2c9beb2a59d887a645a48382816000000000000000000000000000000000000000000000002182d42576d8297acc2d1bba6917c66513c271100000000000000000005182b3b4e606c81959fabb5c2c8ccd5d1d2d1d7b59f8a75604a35200013283d52687d92a3b5c5d0d3c9baa998836e5939281603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006192c3c4b6073849aa7b8c1b09e917c6672849aa6b7c0b49f8c7b655847331f0a000000000000000e1920232323364b61768ba0b6cbe0cfbaa5907a65503b25232323232320190e0000000d22374d62788ca4b6c9ded7c7ae99846f5d4b3c2d201c171f2731435464798ea2b4c8ddd2bda8937d68533e2813000000000000000000000000000c1c30414d62788a9eb4c1d1e4d7cdc9bdc1cad8e4d0bfb39d8876614c3f2e1a0a000000000000000000000000000000000000000000000000000000000e1e30414b6075869ca8bacdcacfbeb49f8b79635746322d3d4e606e8298a5b6c8d8d4c3b2a1937e685c4a392916030000000b2034485973899eb3c5d6e5efeddfcab49f8b75604b36210b00000b20354a60727b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b65503b2610000000000000122233434a60727f8d9ea7b4b9c6cacfd9d6d8d9d8d7d7cdc9c1b5b0a0988779645c4a3c2b1a0a000000000000000000000000000000000000000000000004192e43596e8398aec3d8c8a48f7a644f3a250f000000000000000000000d1d31424b60727f8c9ba3aeb3b8c5bcbdbbc7ba9f8a75604a3520000b20364b6074869ba7b3bfc3b6ab9f8b79634e39230e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1d3144556278899eb3bdbcb39e89787f94a1b3c4b4a2957f6a5d4b3a2a17040000000000000e1e2c35383838384b61768ba0b6cbe0cfbaa5907a65503b383838383838352c1e0e00000b2034485971869cb1c9d9dbc7b3a1907b655a4a3e35302a3338454b6072849aafc0d1e4d2bda8937d68533e281300000000000000000000000004172a3a4d5f6f8399a8b9cddfd7c6b9b4a8adbacadce0cbb8a697826d5d4b38281602000000000000000000000000000000000000000000000000000006192c3c4d5f6c8197a4b5b5b5b5c3b2a0937e685b4a39281f31424c6176879daabbb5b5b5bfb49f8b7a645746321e0a0000000d22374c62778ca7b8cce4f4fff7e2cebbaa8e79644e39240f0000071c304354606666666666666666666666666666666666666666666666666666666666666666666666655d4c38230e00000000000004151c304354606a7c89959ea8b0b4bcc9c1c3c4c3c1c6bab4ada39b908276635b4a3e2d1e0e000000000000000000000000000000000000000000000000011426365a6f849aafc4cebbaa8d78624d38230d0000000000000000000000141c304354606a7b8690989ea7a5a7a7a6a5a99f8a75604a352000081d31445563798999a1a5a6a49c8d7e695b4936210c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001142637485a667c919fb0c1b8a79c878c9fb4bfb8a79a8472604b3f2e1c0c00000000000006192c3c494d4e4e4e4e61768ba0b6cbe0cfbaa5907a65504e4e4e4e4e4e4d493c2c19060005192b3b566b8196abbccfe3d0bfb39d8878645c4f4a433a474c56606b7f95a2b3c7dee8d2bda8937d68533e28130000000000000000000000000a1f334758677d91a1b3c6d6e1cdb9a89e939cadbecfe4d5c4b19f8f7b655645321e0f00000000000000000000000000000000000000000000000000000c2035495a677d919f9f9f9f9f9f9fa598836e604e3d2d1b131e334657647a8b9f9f9f9f9f9f9fa99c8675614b36210c0000000f24394e64798ea3c2d2e5f8fffae7d4c4a5907b66503b2611000000132536434a5050505050505050505050505050505050505050505050505050505050505050505050504c3f2f1c090000000000000000132536434a5e66768089949b9fabaaacaeafadaca9a89f9890857b6d6157493d2d200f00000000000000000000000000000000000000000000000000081c30435471879cb1c6cab49f8a75604b36200b000000000000000000000001142636434b5d65717b83898e90929291908e8984705b45301b00021527374a5b6377838c90918d877b69604f3d2c1a06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000509192b3c4c5e6c8196a3b5c5b6a49c9faabbbcab9e8977625443302111070000000000000c2035495a636363636363768ba0b6cbe0cfbaa5907a6563636363636363625a4935200c00000e23384e63798c9fb4c9dadfcbb7a69d877a6d6460545b5861687480959dafc0d0e3e8d2bda8937d68533e281300000000000000000000000a1a2f3f4c6176889eb3bfd0e4d2c2b49e8a7e93a0b2c6d6e2cebdb29c8674604b3d2d1909000000000000000000000000000000000000000000000000000e23384d6378898a8a8a8a8a8a8a8a8a8776614c42311f0f031729394a5c697f8a8a8a8a8a8a8a8a8a8a826d58432e180300000c22374c61778ca3b5c9deedf5eedfcbb7a68e79634e39230e00000008182530353b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b382f211100000000000000000008182530404c58616a767f858b919496989a9897938f89827b71665e4c46392c1f0f01000000000000000000000000000000000000000000000000000b20354b60758a9fb4c9c6b19c87715544311d08000000000000000000000000081826303f4b505e666e74797b7c7d7c7a7975706655422d19000009192d3d4a59626f777b7c7872655d4f42321f0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1820222a34404b6074859ba8b9c2b6b1b4bbc8b59f8d7c665948362d24221b1006000000000e23384d637878787878787a8ea4b9cee3d2bda7927e787878787878787878624d38230d00000c2135495b6e8398abbccfe3d4c4b7a69d8c827a74717072777d87969eafbcccdeeee8d2bda8937d68533e281300000000000000000000031628384b5d6d8297a6b8cbdddac9b5a4947f6e8398a8b9cce1decab6a495806b5b4a372614010000000000000000000000000000000000000000000000000c2035495a63747575757575757575757261584633241401000b1b2d3e4f6169757575757575757575756d64533f2b160100000a1f34475971869bb1bfcfdee1ded0bfb29d8873604a35200b0000000008131c20262626262626262626262626262626262626262626262626262626262626262626262626231c11030000000000000000000008131c2f3a464c58616a70777c7f81838483827e7a756d665e504c4033291b0f0100000000000000000000000000000000000000000000000000000d23384d62788da9bacdc3ae98836e59372715020000000000000000000000000008141c2e37404c51546063656768666563605555483825120000000f1f2d3b484c58616667625a4f4b3f32241401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009181d2b34373b474c53586378899eb4c9cac7cacec0ab96816b5e564e4a3e39362d211a0f0100001e33485e73888d8d8d8d8d8e98a9bdd1e6d5c0ad9c928d8d8d8d8d8d8d8d87725d47321d0000061a2c3d4e647a8d9fb5c1d2e2d4c4b7ab9f978f898685878b929ca5b0bccce0e8f4e8d2bda8937d68533e281300000000000000000000091e324556657b909fb1c4d5e3cfbcab9c86736277899eb3c1d2e6d3c3b49f8c79635544311d0e00000000000000000000000000000000000000000000000006192c3c494d5e6060606060606060605d4c463a291706000000102032434f546060606060606060606058534635231000000004182a3a52677d92a1b2bec9ccc9c0b3a1927d685443301c07000000000000070b1111111111111111111111111111111111111111111111111111111111111111111111100e090000000000000000000000000000111b29333a474c555861676a6c6e6f6e6c69646056504c40382f1e170b0000000000000000000000000000000000000000000000000000000011263b50667b90a5c7d7bfaa95806a55402b1500000000000000000000000000000001111c232f3836434b4e50525251504e4b4437382a1a08000000010f1d2b343a474c50514d483c372e2114060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061828353b484d535961686f767e869cb1c7dcdcdfd6c0ab96807a726b645c564e4a3e362c1f0f00001e33485e73889da3a3a3a3a4a9b6c6d9ecdccabaada7a3a3a3a3a3a3a39c87725d47321d0000000f22364a5c6b8096a3b5c4d4e1d4c9bcb4aca79e9c9b9d9faab2b6c3c5c9ccd6e4e8d2bda8937d68533e281300000000000000000009192d3d4b6075879cb2becee2d5c5b59f8d7a6459697e93a3b5c8d9e2cebbaa9b8573604b3c2b19050000000000000000000000000000000000000000000000000e1e2c3538494a4a4a4a4a4a4a4a4a483633291b0b00000000021425323b3f4a4a4a4a4a4a4a4a4a4a433f35281806000000000c20354a60728398a0aeb3b9b4afa299836f604e36251300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b171f2a33373a474c525557595a5857544f4b4538382f231c11030000000000000000000000000000000000000000000000000000000000152a3f546a7f94a9bfd3c3a6917c67513c2712000000000000000000000000000000000008121d24263035393b3d3d3c3b39353127191a0c0000000000000d18202a33373b3c38352b231c1103000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000102335465359626970777e848b929ca4b6cadef1f4d8c4b09e968e878079726b645c4e493d2c1a06001e33485e73889db3b8b8b8b9bdc6d4e4f6e8d8cac0bdb8b8b8b8b8b8b29c87725d47321d000000071b2d3e4b6074859ba6b6c3d2e1d9cfcac5b9b3b1b0b2b4bbc8c0b4afb3b9c5d6e8d2bda8937d68533e28130000000000000000011426374a5c6b8095a5b6cadce0cbb8a697816c5d4b6073859baabbcee2d8c8b5a3937e695a48352013000000000000000000000000000000000000000000000000000e1920233435353535353535353532211f170b00000000000006141f2729353535353535353535352e2b23180a0000000000071c30435460758290999ea89f9a928476614c41311808000000000000000000000000000000000000050b0d131517191a191816120e0c06000000000000000000000000000000000000000000000000000000000000040c171f212a33373c3f41434543423e3a363228231c110900000000000000000000000000000000000000000000000000000000000005182b3b596e8399aec3cab6a58c77624c37220d000000000000000000000000000000000000000908141c2024262728272524201d1509000000000000000000050c171f2126272220190e080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000162b3f53646d777e858b939a9faab1b6c2d3e4efebe3cdbcb0aba59c958e87807972635b4936210c001e33485e73889db3c8cdcdced1d9e4f2fff6e8dcd5d2cdcdcdcdcdc7b29c87725d47321d00000000101d3144556378889da5b5c1ccd6dfdfd6ccc9c6c5c7cacec1b4a29a9ea7b9cce0d2bda8937d68533e28130000000000000000081d31445564798c9fb4c3d3e5d1c0b39e8876614c4354647a8c9fb4c4d4e6d2c1b49e8a78624d41301c0c00000000000000000000000000000000000000000000000000060c0e1f2020202020202020201d0c0a040000000000000000030c12142020202020202020202018161006000000000000001325364557606e7b84898b89857d7261584733231300000000000000000000000000000000060c0e192022282b2c2e2f2f2d2b2723211a0f0c070000000000000000000000000000000000000000000000000000000000040a0c171f21272a2c2e2f2e2d2925211e160a0900000000000000000000000000000000000000000000000000000000000000000b2034485973889db2c8c7b29d8772594834200b00000000000000000000000000000000000000000001080b0e10121311100e0b0801000000000000000000000000040a0c11120d0b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000182d43586d828d939a9fabafb4bbc8c6c5c8d1dfd9cfcac2c9c3b6b2aba59c958e8779634e39230e001e33485e73889db3c8cacacbcdd4dfedfdf4e6dad2cfcacacacacac7b29c87725d47321d0000000002152737495a6378879ba3b3b9c6cad3d5d8d9d7d6cdc9bcb4a39a85899eb3c9cacabda8937d68533e28130000000000000005192b3c4b6073859baabbcee1d8c7b4a2927d675847364a5c6c8196a6b7cbdfe1cdb9a899846f5f4d3a2a1704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008182839454b5e666f7476746f676054473a2a17050000000000000000000000000000060e1920232b34383d404244454443403d38352c24211a0f07000000000000000000000000000000000000000000000000000000000000040a0c121517191a1917140f0b0903000000000000000000000000000000000000000000000000000000000000000000000d22374d62778ca6b7cbc9ad98826d583b2b180500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000162b40566b8095abafb4bcc9c5c2b5b1b0b4c0d1c9bcb4adb4b9c6c7c3b6b2ab9f8976604b36210b001e33485e73889db3b5b5b5b6b9c2cfdff1e6d6c8bebab5b5b5b5b5b5b29c87725d47321d000000000009192c3c495a637785939ea8b2b6c3c0c3c4c1c6b9b4ab9f968576889eb3b5b5b5b5a8937d68533e2813000000000000000c2035485a697e94a3b5c8d8e2cebaa99a84705f4d3a2d3e4b6175889db2bfd0e4d7c6b3a1927d675847331f110000000000000000000000000000000000000000000000000000000000000000000000000811181a2020202020202020200f0d0700000000000000000000000000000000000000000000000a1b2832404c51595660565a524a43362a1c0c00000000000000000000000000000e19212c35383c484d525557595a595855524e493d39362d221b1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013253652677c92a7c4cfbcab927d68533d2813000000000000030a0c141414141414141414141414141414141414140e0c06000000000000000a101212121212100a0a0c1212120c09030000000000000000000002090b0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0b0902000000000f243a4f64798fa6b7c5c1b5b0a9a39b9ba2b4c8bcab9f989ea8adb3b9c5c7ae98836e5645321e09001e33485e73889d9f9f9f9fa0a5b1c2d4e8dac8b7aba59f9f9f9f9f9f9f9c87725d47321d0000000000000e1e2c3c495962737e89959ca5a9abadafaca9a89e978c807473889e9f9f9f9f9f9f937d68533e28130000000000000c1c30414d62788a9eb4c1d2e6d4c3b49f8b79634e41311e334657677c91a1b3c6d7e4d0bfb39e8876614c3f2f1b0a000000000000000000000000000000000000000000000000000000000000000000000b19252c2f35353535353535353524221b1002000000000000000000000000000000000000000000000a161e2f383b38454b45383d353025180c0000000000000000000000000003141e2c353c494d565a62686a6c6e6f6e6d6b67635b574e4a3d362d1e160a00000000000000000000061016192020202020202020201d0b0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071c3043546d8298adc2cab59f8b77624c37220d00000000000b171e212929292929292929292929292929292929292923211a0e0000000004121d242727272727241d1f22272727211e160b00000000000000000a151d202323232323232323232323232323232323232323232323232323232323211e160a0000000b20354a6074889db2b0a9a39b948d86849bb0c5b49f8c828991979ea7acb3a9927c675238281603001e33485e73888a8a8a8a8a8b93a5b9cde2d2beab99908a8a8a8a8a8a8a8a87725d47321d000000000000000e1e2c3b485560697780878e9396989997949189827a6b6073898a8a8a8a8a8a8a8a7e68533e2813000000000004172a3a4d5f6f8499a8b9cddfdfcab6a595806b5b4935231729394d5f6f8399a8bacde1e0cbb8a698826d5d4c3928160300000000000000000000000000000000000000000000000000000000000000000819293741444a4a4a4a4a4a4a4a4a39362d2010000000000000000000000000000000000000000000000003121d2426283236322828201c1308000000000000000000000000000b161e323c494d5a636b71777d808183848482807c78726c635b4f4a3e32281b0e00000000000000000a18232b2e35353535353535353532201d150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354a6074889eb3c8c5b09b85705948341f0b000000000b1b2933363f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f38352c1f0e000000122230393c3d3d3d3c393034373d3d3d3632281b0b0000000000000a1a28323638383838383838383838383838383838383838383838383838383838383632281a0a0000071c3043546c81969f9a938d857f78717f94a9bfb49f8b75757b828990979e9f8a76614c36210c00001c3045586a737575757575758ba0b6cbe0cfbaa5907b7575757575757575726857442f1b00000000000000000e1d2b37444b59626a72797e808384827f7c766d645c4b6b73757575757575757568604e3a261100000000000a1f334758677d92a1b3c6d7e4cfbeb29d8775604b3d2c1a0b1b30404d62788a9fb4c2d2e7d5c5b2a0907b655745321e10000000000000000000000000000000000000000000000000000000000000000011253747545a6060606060606060604f4a3e2d1b07000000000000000000000000000000000000000000000000090f11161e211e16120b0700000000000000000000000000000b1b2932434f5b636d7881878d929597999a999895928d8781796f645c4b45392c1e0f0100000000000618283640434a4a4a4a4a4a4a4a4a473631271909000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f24394f64798ea6b8cbc1aa947f6a553b2a180500000003172939464c545454545454545454545454545454545454544e493d2c1a06000a1d30404d51525252514d41474c5252524b46392816030000000002152838454b4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4b4538281602000013253650657b908b857e787069636a7f94a9bfb49f8a7560666d757b828890836f5746331e0a000015293b4c585e6060606061768ba0b6cbe0cfbaa5907a65606060606060605d574a3a28140000000000000000000d1926313b484c555c64696b6e6f6c6a6761574f4a4c595e6060606060606060534e42311f0b000000000a1b2f3f4c6176889eb3bfd0e4d6c6b2a0907c665645321f0f00122035485a697f94a4b5c9dae3cebeb29d8775604b3e2d190900000000000000000000000000000000000000000000000000000000000003182c4154656f757575757575757575705c4a36220d00000000000000000000000000000000000000000000000000000002090b0902000000000000000000000000000000000a1a2939464b616978828b969ca4a7aaacaeafaeadaaa7a59d968e847a6c6057493c2d1f0f00000000001023364653586060606060606060605d4b44372715020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071b2d3e556b8095aac4c9b5a38e79634e39240e000000000a1e3346576169696969696969696969696969696969696969635b4935210c001024394d5f67676767675f4d5961676767615746321e0900000000091d324556606363636363636363636363636363636363636363636363636363636363605645321e0900000b20354b60737d777069625a54546a7f94a9bfb49f8a755f515560666d747a7b644f3929170300000c1e2e3b45484a4a4a4b61768ba0b6cbe0cfbaa5907a65504a4a4a4a4a4a47443a2c1c0b0000000000000000000009141d2a34373e4a4f5456585a5754514b4639363c45494a4a4a4a4a4a4a4a3e3a31241402000000031628394c5d6d8298a6b8cbdde1ccb9a898836e5e4c382816010005192b3c4b6073869cabbccfe3dfcab6a596806b5c4a372715010000000000000000000000000000000000000000000000000000000000051a2f445a6f838a8a8a8a8a8a8a8a8a7a644f39240f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081828384657616e7f8b989faab1b6c2bfc1c3c4c3c2c0c3b7b2aca29a8d8175635b4a3d2d1d0d00000002162b4053646e75757575757575757572605544311d0b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d22364a5c72879cb2c7c8b09b86715b4a36210c000000000c21364c61767f7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7f79634e38230e0012273c51677d7c7c7c7c675d61777d7c7d75614b372715020000000b20364b6075787878787878787878787878787878787878787878787878787878787874604b36210b0000081d31445560686259544d483c546a7f94a9bfb49f8a755f4a444b50556065645d4b371b0b00000000101e2930333535364b61768ba0b6cbe0cfbaa5907a65503b3535353535322f281c0e000000000000000000000000010d181f222d36393e414344423f3c36322822293133353535353535353528261f140600000000091e324557657b90a0b2c5d5e7d2c1b49e8a77624d402f1a0a0000000e1d314455647a8d9fb5c4d5e6d3c3b49f8c7a645544311d0e0000000000000000000000000000000000000000000000000000000000051a2f445a6f84999f9f9f9f9f9f9f8e79644f39240f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001325364556617582949faab4bbc8cad3d5d6d8d9d9d7d5d4cac7c0b4ab9f978679635b4a3c2b1909000003192e43586e838a8a8a8a8a8a8a8a8a8674604b3a291704000000000000000000000000000000000000000000000000000000000000000000000000000000000000021628384f647a8fa5b6cabbaa937e69543d2d1a07000000000d22384d62788d9494949494949494949494949494949494917c67513c271200172c42576c819292928f7b6574859292927e695544311d080000000f243a4f647a8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d7b654f3a2510000001142637444b534c483b38343f546a7f94a9bfb49f8a755f4a313637444b504f4b3f2e1b0000000000000c151c1e2021364b61768ba0b6cbe0cfbaa5907a65503b25202020201d1b140b000000000000000000000000000000050b101b2224292b2e2f2d2a27211e160b161c1e202020202020202013110b020000000009192d3e4b6075879db2beced0d9c9b5a3937e69594834221200000000011527374b5c6c8197a6b8cbd0d0cebbaa9b8573604b3c2c190600000000000000000000000000000000000000000000000000000000051a2f445a6f8499afb5b5b5b5b5a48e79644f39240f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071c30435460748598a0b4bbc8ced9ddd9cfcac7c5c7caced8dddcd0c9bcb5a49c8879635a483726140100000d23384d62788b9f9f9f9f9f9f9fa4937e695846331f0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000091e3245566c8196abc3c9b49f8b77614c37220f00000000000d22384d62778da2a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a6917c67513c2712000e23384d63788c9fa79983758298a3a79d8774604b3620120000000f243a4f64798fa2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a28f7a654f3a251000000009192631353e37342a222a3f546a7f94a9bfb49f8a755f4a35202631353b3a372e2010000000000000000107090c21364b61768ba0b6cbd3cfbaa5907a65503b25100b0b0b08060000000000000000000000000000000000000000070d0f1416191a1715120c0903000207090b0b0b0b0b0b0b0b00000000000000011426374a5c6b8096a5b6bbbbbbbbbcab9b8573604b3b2b1804000000000009192e3e4c6176889eb3c0bbbbbbc8b5a3947f695a4935200a00000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4cacacab9a48e79644f39240f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006192c3c4a60728298a3b2beced8d4cac7c9bcb4b2b0b2b4bbc8c8cbd4dacfc2b5a69d8878625544311d0800000b2035495a6b8096a7b8b5b5b5c3b39e8876614c3c2b190500000000000000000000000000000000000000000000000000000000000000000000000000000000001325364b6075889eb3c8c1ae99836e5947341f0a00000000000d22384d62778da2b7bebebebebebebebebebebebebebca6917c67513c2712000c2035495a6e8398ae9f8d8297a0b3b7a5927d6752402f1c0900000f243a4f64798fa4b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8a48f7a654f3a25100000000009141d2028221f18152a3f546a7f94a9bbb49f8a755f4a3520141d202525221b1002000000000000000000000c21364b61768ba0b6bebebebaa5907a65503b2510000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081d314455647a8c9fa5a5a5a5a5a5a59f8c7a645544311d0d00000000000000101f334758677d92a2a5a5a5a5a5a5a59f8a78624d39281603000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9dfceb9a48e79644f39240f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c2035495a6a8095a0b2c1cfe2cdc3b7b2a9ab9f9d9b9d9faaabb2b7c4ced9cdc1b5a69b8675604b35200b000006192b3c4c6176899eb3c3d3caccb8a796806b5a4835201000000000000000000000000000000000000000000000000000000000000000000000000000000000071c304354687d93a6b8c9b5a38f7a65503a2a180400000000000d22384d62778da2b7ccd3d3d3d3d3d3d3d3d3d3d3d1bca6917c67513c27120006192c3c4f647a8ea2ab9f97a0a69da6b19c86715e4c38231000000f243a4f64798fa4b9cacacacacacacacacacacacacacacacacacacacacacacabaa48f7a654f3a2510000000000001080b130d0b05152a3f546a7f94a5a5a59f8a755f4a352001080b100f0d080000000000000000000000000c21364b61768ba0a9a9a9a9a9a5907a65503b25100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354b60758690909090909090909090816c5c4b37261400000000000000000417293a4d5f6f8490909090909090909090846f5745321e09000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071a2d3e4d63788b9fb4becfd8cabcb0a59d948e8a8885878a8e959da6b4bbc8bcb0a39b897d675544311d080000000e1f334658697e93a5b6cadfd5c5b49f8b78624d3e2e1b070000000000000000000000000000000000000000000000000000000000000000000000000000000b20354a6073869cb1c4c3b09b85715d4b371c0c0000000000000d22384d62778da2b7ccd5d5d5d5d5d5d5d5d5d5d5d1bca6917c67513c271200000e22364a5c6f849aafb5ada199889daba4907b66503e2e1b07000f243a4f64798fa4b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5a48f7a654f3a2510000000000000000000000000152a3f546a7f90909090908c755f4a35200a0000000000000000000000000000000000000c21364b61768b94949494949494907b65503b25100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c21364c61767b7b7b7b7b7b7b7b7b7b7b75614c3e2e19090000000000000000000c1c30414c62777b7b7b7b7b7b7b7b7b7b7c75604b36210b000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d21364a5c6e8398aabbcedbcabaad9e96877f787572707275798088959faab8b39e968578675f4d372614010000000417293a4b6074879cb2c0d1e2cdbaa998826d5c4a3622120000000000000000000000000000000000000000000000000000000000000000000000000000071b2d3e51667b90a4b6cab7a5927d67523f2e1c000000000000000d22384d62778da2b7c0c0c0c0c0c0c0c0c0c0c0c0c0bca6917c67513c27120000071b2d3e50667b90a4afa49983788c9faf9a84705c4a36220d000f243a4f64798f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f8f7a654f3a25100000000000000000000000000d23384d62787b7b7b7b7b7b65503b2610000000000000000000000000000000000000000b20364b60747f7e7e7e7e7e7e7e7f78624d38220d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f3346586166666666666666666666666157463320100000000000000000000000131f344859626666666666666666666666605745321e09000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f24394e64798c9fb5c8d8cebdad9c9280756a6360565b5460636b74808c9ea79e918074625a4d4030190900000000000c1d314455667c91a2b4c9dad7c7b59f8d7a644f40301909000000000000000000000000000000000000000000000000000000000000000000000000000d22364a5c6f849aafc2c3b29d8774604b362011000000000000000d22384d62778da2abababababababababababababababa6917c67513c27120000001023384c5e71869a9a9a86766e83989a9a8f7a644f3a240f000f243a4f647a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7b654f3a25100000000000000000000000000b2035495a626666666666655e4c38230e00000000000000000000000000000000000000081d31445560696969696969696969625a4835200b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000417293a464c50505050505050505050504c4639291702000000000000000000000005182a3b484c50505050505050505050504b4539281603000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000006192c3c566b8096abbccfd7c6b19f927e6b60564e4b4538434b4e55606a7b8a9a897c6b6055493c302212000000000000021527374d5e70859aabbccfe3cfbcab9a85705e4c37271502000000000000000000000000000000000000000000000000000000000000000000000005192b3b4f64798ea2b4bdb6a5937d685544311d08000000000000000d22384d62788d9595959595959595959595959595959595917c67513c2712000000091c2f4051667c8484847863647a848484847f69543f2914000d22374b5c647575757575757575757575757575757575757575757575757575757575655d4b37220e00000000000000000000000006192b3c494d5050505050504c402f1c090000000000000000000000000000000000000002152737444b5454545454545454544d483c2b1905000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1c2933363b3b3b3b3b3b3b3b3b3b3b3633291b0b000000000000000000000000000d1d2a34373b3b3b3b3b3b3b3b3b3b3b3632281b0a00000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c2035495a72879cb1c9dacdbaa897816c604b4538393939393937444b5d667c8578665e4b443738352c1e0e000000000000091930404f647a8d9fb5c7d7dac9b4a2917c665544311d0b00000000000000000000000000000000000000000000000000000000000000000000000b203448596d8298a8a8a8a89d8774604b37271502000000000000000c21364c61768080808080808080808080808080808080808079634e39240e000000001124384c5e666f6f6f635a5c646f6f6f6f69614f3b271200071b2e3e4b4f60606060606060606060606060606060606060606060606060606060604f4b3f2e1b08000000000000000000000000000e1e2b35383b3b3b3b3b3b382f211100000000000000000000000000000000000000000009192731363f3f3f3f3f3f3f3f3f38352b1e0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c171f212626262626262626262626211e170b0000000000000000000000000000000d181f222626262626262626262626211e160a0000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e23384d63788da4b6cadec9b49f8a77614e4e4e4e4e4e4e4e4e4e4e4e4e5e6670625a4e4e4e4e4d493c2c19060000000000001222364a5c6e8298a9bacde2d1c0b29c8774604b3a291704000000000000000000000000000000000000000000000000000000000000000000000d22374d62778b9393939393927d67554431190900000000000000000a1f334658616b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b635b4a36210c00000000091d2f404c515a5a5a4d494a4f5a5a5a5a544f43321f0c000010202e373a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a3a372e21100000000000000000000000000000000e192023262626262626231c11030000000000000000000000000000000000000000000009151d202929292929292929292220190e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c11111111111111111111110c0a030000000000000000000000000000000000050b0d11111111111111111111110b0903000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000012283d52677d92a7c2d3d8c3ad98836e6363636363636363636363636363636363636363636363625a4935200c000000000000071b2e3e4d62788b9fb4c5d5decab6a4937e695846331f0e000000000000000000000000000000000000000000000000000000000000000000000e23394e63797e7d7d7d7d7d7d73604b3727150000000000000000000417293a464c565656565656565656565656565656565656564e4a3d2d1a07000000000012222f383c45454538353639454545453f3b32251403000002101b2224353535353535353535353535353535353535353535353535353535353525221b100200000000000000000000000000000000060b0d1111111111100e090000000000000000000000000000000000000000000000000002080b1414141414141414140d0b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000142a3f54697f94a9bed4d5c0ab968079787878787878787878787878787878787878787878787878624d38230d00000000000000102035485a6b8096a7b8cce0d3c3b39e8976614c3c2b19060000000000000000000000000000000000000000000000000000000000000000000c2136495b6368686868686868605544311909000000000000000000000c1c2933364040404040404040404040404040404040404039362d1f0f00000000000004121d24262f2f2f232022242f2f2f2f29271f14060000000000070d0f2020202020202020202020202020202020202020202020202020202020100e080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d13152020202020202015120c030000000b151b1d202020202020200c0b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000162c41566b8096abc0d6d8c4b09e968e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e85715c46311c0000000000000006192b3c4c6176899eb3c2d3e0ccb8a796806b5a48352010000000000000000000000000000000000000000000000000000000000000000000061a2c3d494e535353535353534b443726140000000000000000000000000c171f212b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b24211a0f010000000000000000090f111a1a1a0e0c0d0f1a1a1a1a14120c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080b0f1416181a1a1816140f0b0801000000000000000000000000000000000000000000000000000000000000080e10202020202020202020110f0900000000000000000000000000000001080b1d202020202020202019171107000000000000000000000000000000000000071520282a353535353535352a27201507000f1d28303235353535353535221f180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000182e43586d8298adc2d8dfcdbcb0aba3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39c87725d47321d00000000000000000e1f334658697e93a4b6caded5c5b49f8b78624d3e2e1b070000000000000000000000000000000000000000000000000000000000000000000f1f2c36393e3e3e3e3e3e3e353126190900000000000000000000000000040a0c161616161616161616161616161616161616160e0c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000908141c2024292c2d2f2f2d2b2924201c140808000000000000000000000000000000000000000000000000000003111c232535353535353535353526241d120400000000000000000000000009141d203335353535353535352e2c24180a00000000000000000000000000000000031525333c3f4a4a4a4a4a4a4a3f3c3225150b1d2d3a44484a4a4a4a4a4a4a37342a1d0c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000182e43586d8298adc2d8ebdacdc4c0b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b29d88735d48331e00000000000000000417293a4b6074869cb1c0d1e2cdbaa998826d5c4a362212000000000000000000000000000000000000000000000000000000000000000000010f1a212328282828282828201d1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c11131517191a1917151412100c0a040000000000000000000000000000000000000000000000000000000000000000000009111c232630353a3f4143444442413e39353026231c110900000000000000000000000000000000000000000000000011212f373b4a4a4a4a4a4a4a4a4a3b382f221200000000000000000000000919263135484a4a4a4a4a4a4a4a4440362818000000000000000000000000000000000d203343505560606060606060544f43322015283a4b585d6060606060605f5d473b2a18040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000162c41566b8096abc0d6ebe1d3cac7b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8c1c4cecdcdcdc7b29d87725d48331d0000000000000000000b1d314455667c91a2b4c9dad7c7b59f8d7a644f4030190900000000000000000000000000000000000000000000000000000000000000000000060c0e131313131313130b080100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d0f171f2126282a2c2e2f2e2c2b292725211f17130d0b050000000000000000000000000000000000000000000000000000000003121d242f3836434b4f5456585a595856544f4b4336372e241d1203000000000000000000000000000000000000000000081c2f3f4b50606060606060606060514c402f1d0900000000000000000001142637444b5d606060606060606059534636180800000000000000000000000000000013283c50616a757575757575756a614f3c270d3044586972757575757575756f5947341f0b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000142a3f54697f94a9c9dae6d3c3b6b2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2acb1bdcee0dbc5b09b85705b46311b000000000000000000021527374c5e70849aabbccfe3cfbcab9a85705e4d37271502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f1a21242a33373b3d3f4143454342403e3d3a36332928221f180d00000000000000000000000000000000000000000000000000000b171e30393f4c50546064696b6d6f6f6d6b69646054504b3f382f1e160b00000000000000000000000000000000000000000e23374b5d65757575757575757575665e4c38240e000000000000000000081d314455607275757575757575756e6453362513000000000000000000000000000000152a3f556a7f8a8a8a8a8a8a8a7f6a543b2b1832485d72878a8a8a8a8a8a8c77614c37220c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000012273d52677d92abbccfdfcab6a59c8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d979fb1c4d9d9c3ae99836e59442f1900000000000000000000091930404f647a8d9fb5c7d7dac9b4a2917c665544311d0c00000000000000000000000000000000000000000000000000000000000000000812181a1d1d1d1d1d1d1d1d1d1d1d1d1d1d0e0c070000000000000000000000000000000000000000040e14162020200d0b05000000000000000000000000000000000000000000000000000000000000000008131c202d36393a474c51535557595a5957555352504c463a3d37342a1d150700000000000000000000000000000000000000000000010f1b2933404c515d656e74797e8182848482807e79746e655d514c4032281b0f0100000000000000000000000000000000000010253b50657b8a8a8a8a8a8a8a8a8a7c66513c2c190600000000000000000b20354b6073878a8a8a8a8a8a8a8a836e5443301c0700000000000000000000000000000e23394e63798ea59f9f9f9f9b8570594834202c41566b81969f9f9f9fab927d68533929160300000000000000000000000000000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d22374c62778b9fb5cadcc7b29c877878787878787878787878787878788197acc1d6dac9ac97826c57422d1700000000000000000000001222364a5c6d8298a9bacde1d1c0b29c8774604b3a2917040000000000000000000000000000000000000000000000000000000000000b19252d2f323232323232323232323232323224211a0f010000000000000000000000000000000000081621292b3535352220190e00000000000000000000000000000000000000000000000000000000000411182530353d4a4e55586166686a6c6e6f6e6c6a696765615858524c483b332515030000000000000000000000000000000000000000000f1f2d39464b5e66717b83898f94969899999796938e89837b70665e4b46392c1f0f000000000000000000000000000000000002152737556a80959f9f9f9f9f9f9f99846f5a4935200a0000000000000006192c3c51667c91a59f9f9f9f9f9f9e8874604a35200b00000000000000000000000000000c21364a5b72879cb2b5b5b59f8b77624c3722253a4f657a8fa6b8b5b5ae99846f5746321e0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2034485971869bb0c7d8cab6a58d786363636363636363636363636371869cb1c6dbcfbcab927d68523d28130000000000000000000000071b2d3e4d62788a9fb4c5d5decab6a4937e695846331f0e0000000000000000000000000000000000000000000000000000000000081929374145484848484848484848484848484839362d1f0f00000000000000000000000000000000041626343d414a4a4a38352b1e0e0000000000000000000000000000000000000000000000000000000b171f2f36434a525c646a70777b7d7f8183848381807e7c7a76726e686259504333200d00000000000000000000000000000000000000000e1e2d3d4a57616d7c8590989ea7a9abadafaeadaba9a79e9890857c6d6157493d2c1d0d00000000000000000000000000000000081d3144556f859aafb5b5b5b5b5b59f8c78624d382816020000000000000c2035495a6f8499afc3b5b5b5b5b8a78e78634e39230e0000000000000000000000000000071a2d3d566b8096abc4cfbcab937e6853392920354b6074889db3c8c9b49f8a76614b36210c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000005182b3b556a8095a9baced3c3ae99836e614d4d4d4d4d4d4d4d4d5a667c91a4b5c9dfcab59f8b77624c37220d000000000000000000000000102035485a6b8095a6b8cbe0d3c3b39e8976614c3c2b19060000000000000000000000000000000000000000000000000000000012253747545a5d5d5d5d5d5d5d5d5d5d5d5d5d5d4e4a3d2d1a070000000000000000000000000000000e21344451565f5f5f4d483c2b1905000000000000000000000000000000000000000000000000000e1b29333f4c54606772797f858b90929496989a98979593928f8b87837d776a61503c2813000000000000000000000000000000000000000c1c2b3c4a5b637582919ba3aeb3b8c5c0c2c4c4c2c0c5b8b3aea39b908275635b493c2b1c0c0000000000000000000000000000000b20364b6075899fb4c9cacacacfbcab96806b5645321e090000000000031628384d63788c9fb5cacacacad5c5a8937d68533e281300000000000000000000000000000010253a4f657a8fa6b8cbc9af99846f5746331e3043546c8297acc5cdbaa9917c675137271502000000000000000000000000000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d22384d62788b9fb4c6d6c7b3a1947f6d6159504d4b4b4e525e6678899eb3c2d2d3c3b09b85705947341f0b00000000000000000000000005192b3c4c6176889eb3c2d3e0ccb8a796806b5a4935201000000000000000000000000000000000000000000000000000000000182d4154656f7272727272727272727272727272635b4a36210c00000000000000000000000000000014293d51626b757575625a4835200b000000000000000000000000000000000000000000000002101e2b3a464c5d65727c878e949b9faba8aaacaeafaeacaaa8a7a5a59d98928d7f6a553f2a1500000000000000000000000000000000000004182a3a485a63798798a0b0b5c1c8ccd6d6d7d9d9d7d5d5ccc8c1b4b0a0978679635a483a2a170400000000000000000000000000000f253a4f647a8fa9bacde1dfecdac9b39e8875604b3621100000000000091e3245566b8096abbccfe3dfdfd8c2ad98826d583c2b190500000000000000000000000000000b20354b6074889eb3c8c9b49f8a76614c3621263650667b90a7b9ccc7ad98826d5544311d08000000000000000000000000000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2035485a6c8196a8b9cdcfbfaf9d9481776d656260606367707b889da7b8ccdfcab6a5937e69533b2a1805000000000000000000000000000e1e334657697e93a4b6caded5c5b49f8b78624d3e2e1b070000000000000000000000000000000000000000000000000000001a2f455a6f83878787878787878787878787878779634e39240e000000000000000000000000000000162b41566b808b8a8c78624d38220d000000000000000000000000000000000000000000000210202e3c4958616e7b85919ca4aab0b4b8b3b1afadacacadaeb1b3b9b6b2adab96816c56412c170100000000000000000000000000000000000a1f3347586278889ca5b2bec9d2dedfd7d6ccc8c8ccd6d8dfded1c8beb1a49c8778625847331f100000000000000000000000000001142636546a7f94a9c7d7e9fcf7e0ccb8a7927d67523e2d1b07000000000b21364b6075899eb3c9daecfff2ddc7b29d88725a4835200b0000000000000000000000000000081c3043546d8297acc6cebaa9917c6752382720364b6075899eb3c9c9b39e8975604b36200b000000000000000000000000000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005192b3c4c61778a9eb4bdcdccbbaf9f978a827b787575787c85909da6b8c5d5cfbeb29c8774604b36200d0000000000000000000000000000031729394b6074869cb1c0d1e2cdbaa998826e5c4b3722120000000000000000000000000000000000000000000000000000001c31475c71869c9d9d9d9d9d9d9d9d9d9d9d9d8e7a644f39240f00000000000000000000000001080b172b41566b80969f8d77624d38221c1308070000000000000000000000000000000000000010202e3f4b5a627683909ba3b1b6b4afa9a79e9b9a98969798999b9ea7a6abb0ab96816c56412c170100000000000000000000000000000000081b2e3f4c6176869ca6b6c3cfddd9cfcac2c5b8b3b3b8c5c2cacfdaddcec2b6a69c8676614c3e2d1b07000000000000000000000000081c3043546f8499aec4d9eefffbe8d5c5b09b85705c4a36220c000000071b2d3e52687d92a7b8cce7f7fff4dfcbb7a58d78624d38220d00000000000000000000000000010a14263651667b90a8b9cdc7ad98836e5645311d3145566d8398adc7ccb9a7907b6550362513141414140d0b060000000000000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1f344759687d929eb0bfcdccbdb1a99f97908d8a8a8e929ba3b3b8c4d5d1c0b2a0917c675544311d080000000000000000000000000000000b1d314455667c91a2b4c9dad7c7b2a08f7a644f4030190900000000000000000000000000000000000000000000000000001c31475c71869cb1b2b2b2b2b2b2b2b2b2b2a48e79644f39240f000000000000000000000009151d20293341566b8096a28d77624d3a353025221b1007000000000000000000000000000000000c1c2e3e4b5d64788699a1b0b5b5aa9f9a948e888684828182828486898c90969ba396816c56412c1701000000000000000000000000000000000e22374b5d6d8298a4b6c4d3e1d4c9bcb4ada5a79e9ea7a5adb5bcc9d5e0d3c4b6a497826d5c4a36220e0000000000000000000000000b20354b6074899eb3c9def3fffff3ddc8b4a38e79644f3a29170400000d22364a5c70859bb0c5d5e8fffffae6d4c3a7927d67523d281200000000000000000000000005131e2527364b6075899eb4c9c9b49e8975604b3629273851677c91a9bacdc5ac96816c54433029292929292320190e00000000000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004182a3b4e5f6c8196a1b0bdcdcec7bab4ada5aa9f9faba7b0b5c1cbd5cfc1b4a298826e5f4d37271502000000000000000000000000000000011527374c5e70849aabbccfe3cfbeb09a85705e4d37271502000000000000000000000000000000000000000000000000001c31475c71869cb1c6c7c7c7c7c7c7c7c7b9a48e79644f39240f00000000000000000003121927313539464b566b8096a28d7762534f4a4336372e211a0f010000000000000000000000000009192a3a4a5c647b889ca4b3b4ab9f988b857f7973716f6d6c6c6d6e7174777b80868e96816c56412c170300000000000000000000000000000006192c3c4f657a8fa0b2c3d3e2d4c4b7ab9f98908b89898b90989fabb7c4d5e2d3c2b59f8d7a644f3c2b190500000000000000000000000f24394e64798ea7b9cce0f5fffff7e4d1c1ac97826d5846331f08000417293a4f647a8ea3b5c9e3f3ffffffecd7c2ac97826d573b2a18050000000000000000000001132330393d3e45566e8398aec8ccb9a8907b6650363e3e3e4b61768a9fb4c9c8b29d8874604a3e3e3e3e3e3e38352b1e0e000000000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1d31414b607383969eb4b9c6cecdc9c2c8bbb4b4bcc9c5c9d2d1c9bcb5a39a8474604b41301909000000000000000000000000000000000009192f404f647a8d9fb5c7d7ddc8b4a2917c665544311d0c000000000000000000000000000000000000000000000000001c31475c71869cb1c6dbd5c5b8b3b3b3b3b3a48e79644f39240f00000000000000000a161e2f37444b515761656b8096a28d786b686460544f4b3e362d1f13050000000000000000000000011426374758647a8b9ea6b6b2a39b8d83786f69635b5c5a58575758595c5861666b7179817f6a55402a1e170b09020000000000000000000000000c2135495b70859bb0becfe1d5c5b7a69d8c827b757373767b828d9da6b7c5d6e3cfbcab9a85705a4835200b000000000000000000000014293e54697e93a9c5d6e8fbffffffefdec9b49f8a76614c362513000a1f3347586d8297adc1d2e4fffffffff1dcc7b19c87725947341f0b000000000000000000000a1e30414d52535353677c92aabbcec6ac97816c545353535353576e8399aec3cbb7a68e7964535353535353534d483c2b19060000000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000131d314455607381929ea8b4bac7c9d2d8cecacacfd9d6ccc9c1b4ab9f968576615645322312000000000000000000000000000000000000001222364a5c6d8298a9bacde1d1c0b29c8774604b3a2917040000000000000000000000000000000000000000000000001c31475c71869cb1c6dbccb8a79e9e9e9e9e9e8e79644f39240f000000000000000d1b2832404c5560666e767a7e859bae9983807d79746d645c4e4a3d3123150700000000000000000000081d3144556176879da9b8afa09885796e635b544e4a3d4543414243443a474c51565b636c6a615039363329211e160a00000000000000000000000e23384d63788da3b4c8dce0ccb8a79d887a6d6560565660666d7a889da7b9cce0dac9b4a28d78624d38220d00000000000000000000061a2c3d596e8398aec3d8edfffffffff6e1cdbaa8937e695443301c071325364c61768a9fb4c9deeffffffffff3decab6a48c77624c37220d000000000000000000001025394d5f6769696969768a9fb4c9c8b39d887269696969696969697d92a7bdd4c4aa95806b69696969696969625a4835200b0000000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011426374455606c7d8a969fa9b1b5c2bfc1c3c4c2c1c5b9b3aea39b8d80746158473828150400000000000000000000000000000000000000071b2d3e4d62788a9fb4c4d5dfcab6a5937e695846331f0e0000000000000000000000000000000000000000000000001c31475c71869cb1c6dbc8b39e8988888888888979644e39240f0000000000000d1d2a39454b5e66747c838a8f939ba3b2a19995928f88827a6f635b4e4133251505000000000000000005182b3b4b6073849aa5b7af9e958274635b4e493d444b4d4e4c4a4336373433373b3d4a4e565550504e4c46393632281a1204000000000000000000152a3f546a7f94a9c1d1e4d4c4b39e8978645c504b45454b505c6479899eb3c4d5e7d1c0a9947e69543f2914000000000000000000000c2135495b73889eb3c8ddf3fcf6f4f1f3e9d7c6b19c8773604a35200d1c304354697e94a9bacde1f6f2f0f2f8f9e5d3c2a6917c67513c27120000000000000000000012273d52677d7e7e7e7e7e879db2c7cbb7a695807e7e7e7e7e7e7e7e7f95aabfd4c7b29d877e7e7e7e7e7e7e7e78624d38230d0000000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009192637444b606877818b959ca4a7aaacaeafadaba9a79e998f857b6b6055473a291a0a000000000000000000000000000000000000000000102034485a6b8095a6b8cbe0d3c3b39e8976614c3c2b190600000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76737373737373645c4a36210d00000000000a1a2a3b4857606e7c8691999fa9a9b0b5bfb2aeaaa8a69e978f8479685f504333231200000000000000000b203448596a8095a2b3b1a0957f6d60564a484d5555606263616054544c473b333f4b505660636665636157534b45382f22150700000000000000011527375b70859bb0c5dadfcbb7a6927d685a4a3e363232363e4b5b687e93a6b8cbe0dac5af9a85705a362513000000000000000000000e23384e63788da6b8cbe0f5e9e1dedcdee5decab6a4907b65503b2b1820354a6073879cb2c7d7e9e4dddbdde4efebd6c1ab96816c563a2917040000000000000000001c31475c718693939393939da5b7cad5c4af9e959393939393939393959dafc3d7cab6a59d93939393939393907b66513b26110000000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009192631414e59626c7880868d92959799999896948f89837a70655d4b4437291c0c0000000000000000000000000000000000000000000005192b3c4c6176889eb3c2d3e0ccb8a796806b5a4935201000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76615e5e5e5e5e4e4a3d2d1a0700000000031628384859627582909ca4aeb4bac7c6c9cfc6c3c0c4b8b3ada1998b7d6a615041301d0d00000000000005182a3b4c62778a9fb4b5a397826d614b454b59626a7175777876746f6962594b464c5d656e76787b7b79766f6860564c4032251507000000000000081d31445573889db3c8ddddc8b29d8874604b3c2d211e1e212e3d4b6074889eb3c8ddddc7b29d88725443301c0700000000000000000013283e53687d93a8c4d5e7e4d7cdc9c6c9d2e0d3c2ae98836e594834202b3c50657b90a5b6cae5dfd1c9c5c9d1dfefdbc6b19b86715846331f0a0000000000000000001c31475c71869ca8a8a8a8b2b7c3d4e2ccbcafaaa8a8a8a8a8a8a8a8aaafbcccded3c3b6b2a8a8a8a8a8a8a6907b66513b26110000000000000000000000000000000000000000000000000000000000000000051a2f445a6f8499afc4d9e3ceb9a48e79644f39240f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141d313b474c5a626b71777d7f81838483817f79746e655d504b3f3127190c0000000000000000000000000000000000000000000000000d1e334657687e93a4b6caded5c5b49f8b78624d3e2e1b08000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c4949494939362d1f0f0000000000091e32455662778598a0b1b6c2c9cdd7dbdde2dbd8d5d5cbc8bfb3a99f927f6a5f4d3b2b180500000000000b1f3447596c8196a9baaa9b8575604b4555606a787f868b8c8e8c8a857e776b6057616d7b838a8e90908e8a857e75665e4f433325150300000000000b20354b60758a9fb4cadfd7c2ac97826d5544311e100909101d3144556d8298adc2d8dfc9b49f8a75604a35200b000000000000000005192b3c586d8298adc2d7e9d7c6bab4b1b5c2d2dfcab49f8b77624d372734485a6e8399aec3d3e0d1c1b5b0b5c1d1e4dfcab49f8b76614c36210c0000000000000000001c31475c71869cb1bebebec7cad4dee5daccc3c0bebebebebebebebebfc3ccdee0e1d3cac7bebebebebebba6907b66513b26110000000000000000000000000000000000000000000000040a0c0d0d0d0d0d0d0d1a2f445a6f8499afc4d9e3ceb9a48e79644f39240f0d0d0d0d0d0d0d0b0802000000000000000000000000000000000000000000000000000000000000000000000000000000000001131d2a343c494d565a62686a6c6e6f6d6c696460554f4b3f382f1d150900000000000000000000000000000000000000000000000000031729394b6074869cb1c0d1e2cebaa998836e5c4b372212000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c3633333324211a0f0100000000091c2f404b6075859ba3b2becad3dfdfdddbdeded7d4d9dfe0ddd0c7bab49d917d67594834200d00000000000d22374c62778a9fb4b49f8c796356455660737f8a959c9faba3a99f9a948a807562758290989fa9a5a5aa9f9a93877c6a61504333211100000000000d22374d62778cabbccfe3d4bfaa947f6a5537261400000001152737556a8095aabfd5e2cebbaa8c77614c37220c00000000000000000b2035485a72879db2c7dde1cdbaa89f9ca4b5c9decebbaa95806a554431374d62788b9fb4cadfd2c2b5a39ba3b5c9dde3cfbcab907b66513b26110000000000000000001c31475c71869cb1c4c4c4c4c4c6c9d3e0dfd7d4cac7c4c4c4c4c4c4c4c4c4c8ccd5e3dfdcd1c8c5c4c4bba6907b66513b2611000000000000000000000000000000000000000000000c171f2122222222222222222f445a6f8499afc4d9e3ceb9a48e79644f39242222222222222222201d15090000000000000000000000000000000000000000000000000000000000000000000000000000000000000d181f2b35383c484d525557595a5856544f4b4437372e231c11020000000000000000000000000000010606060606060606060606000b1d314455667c90a2b4c9dad8c7b2a08f7a644f40301a0a0000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36211e1e0f0d070000000000000f24384c5e6d8298a3b5c1cfdee3d4cbc8c6c9ccc3bfc3caced9e5d7cdbcb49f8a77624d3b2a180500000006192c3c566b8096a9baab98826d5b494b607483949fa8b1b5bcc7bab4afa89e9585788497a0adb4bac7c8bbb4afa59d917f6a61503f2e1a0a000000000c21374c61768ca8b9cde1d4bfaa947f6a5536261401000001142637556a7f95aabfd4e0ccb9a78b76614b36210c00000000000000000d22384d62788da5b7cadfdec9b49f8a869cb1c6d6d8c8b39d8874604b3544556b8095aabbcedec9b5a49b869bb0c5dbebd9c9ab95806b563828160300000000000000001c31475c71869cafafafafafafb1b6c2d3e5d4c3b7b2afafafafafafafafafb3b8c5d5e3d1c0b4b0afafafa6907b66513b26110000000000000000000000000000000000000000000c1c293336373737373737373737445a6f8499afc4d9e3ceb9a48e79644f393737373737373737373631271909000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1920232b34383d4042444443413f3a353126231c110800000000000000000000000000040e14161b1b1b1b1b1b1b1b1b1b1b1b1b1527374c5e6f849aabbccfe3cfbeb09b85705f4d3827150200000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c090000000000000000091c2f3f51667b90a0b2c1d2dfd9cfc4b7b2b1b5bcafaaaeb4bbc8d3e0e1cdbaa896816c5947341f0b0000000c2035495a72879db2b49f8c79634e4e606e8298a1b4bac6cac1b9b7b9c6b9b4a39b8a9aa2b1bec2b5b1aaa9adb4b6b29d947f6a5d4b382816030000000a1f33475874899eb4c9ded7c2ac97826d5443301c0f08080f1d3144556d8298adc2d7dec9b39e89745746321e0a000000000000000012283d52677d92a7c3d4e6dac4af9a847e93a8b9ccdfcbb7a6917c67513d4b6074889db3c8d9d6c6b19c867c91a6c3d4e6dac5b09b85705645321e0900000000000000001c31475c7186999999999999999ca4b6c9decab7a59d9999999999999999999ea7b8ccdcc8b4a29a99999999907b66513b261100000000000000000000000000000000000000000417293a464c4d4d4d4d4d4d4d4d4d4d5a6f8499afc4d9e3ceb9a48e79644f4d4d4d4d4d4d4d4d4d4d4b443727150200000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0d192022282a2c2e2f2e2c2a24201d1409080000000000000000000000000000081621282b3030303030303030303030303030302f404f647a8d9fb5c7d7ddc8b4a2917c675645311d0c00000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c0000000000000000000e23384c5d71859bb0becfdfd9c9bcb4a69d9ca4af9d95999faab6c2d3e4d7c6b49f8a77624c37220d0000000e23384d63788da5b6ae99846f5b4956687d92a0b2bfc9bcb4aca4a1a4a8aeb3b5aa9faab4c0c2b5a49c9594989fa9b6b59f8d7b655645321e090000000417293a5c72879cb1c7dcddc7b29d8774604b3c2d201c1c202d3c4b6074889db3c8dddbc6b19c86715c392916030000000000000004182a3b576c8297acc1d7ecdac9aa958075899eb3c9ded4c4af9a846f5b4952677c91a6b8cbe1ccb9a8937e778ca5b6cadfdfc9b49f8a76604b36210b0000000000000000172d42576c8184848484848484869cb1c4d5c7b29d87848484848484848484899eb3c8dac5b09a8484848484847a644f3a240f00000000000000000000000000000000000000000a1f3346586162626262626262626262626f8499afc4d9e3ceb9a48e79646262626262626262626262605544311d0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b0d131517191a1817140f0b0801000000000000000000000000000000041626333d4045454545454545454545454545454545454a5c6d8298a9bacde1d1c0b29c8774604b3a291704000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c00000000000000000010263b50657b90a3b5c9dce3cfbcab9f9488869caa957f848c9ca4b6c6d7e2cebaa9927d67523d281200000014293e53697e93a8c3a8937e68534b6075889eb3bec8bbab9f978f8c8f9299a1b3b8b4bbc8cab6a49c86807e828b9ca4b6ab9c8775604b362110000000001a2f44596f8499aec6d6dfcab7a5927d675a4a3d353030353d4a5a687d92a6b7cbdfd6c6ae99846e59442f1900000000000000000b1f34475972879cb1c7dce3cfbcab907b6c8196acc0d1dcc8b4a28e79634e5b70859aafc4d5dec9b49e897672879db2c7dce2cebbaa907a65503b25100000000000000000152a3e52636c6f6f6f6f6f6f6f7a8fa6b7cbc4af9a856f6f6f6f6f6f6f6f6f8096abc5d6bca7927c6f6f6f6f6f645c4a36220d00000000000000000000000000000000000000000c21364c6176777777777777777777777777849aafc5dae5d0bba6907c77777777777777777777777774604b36200b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e21334450565b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b62788a9fb4c9dedfcab6a5937e695847331f0a000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c000000000000000003172939566c8196abc1d2e3d1c0b49f8d7f748096a28d786e7a869ca8b9cde1d8c7ad98826d58432d18000000132536596e8499aeb7a58d78634d53687d93a7b8ccbbaa9f8d817a77797d84919ea6b8c8d8c7b19c86756b696d79869ca8b6a5937e69543f2e1b0800000012283d52677d92a8b9cce1d4c3b39e8878635b4f4b43434b4f5c6478899eb3c4d4e1cdb9a8927d67523d281200000000000000000c22374c61778ca4b6cadedfcab59f8b7663798ea2b4c8dcd1c0ac96816c5763798ea2b4c8e2d1c0ac96816c6d8298adc2d7ead8c8aa957f6a5537271502000000000000000f22354552575a5a5a5a5a5a6074889db3c8cab49f8b76615a5a5a5a5a5a657a8fa7b9ccc3ad98836e565a5a5a4f4a3e2e1b070000000000000000000000000000000000000000172c41576c818c8c8c8c8c8c8c8c8c8c8c8c9aa2b4c8dce7d3beab9a908c8c8c8c8c8c8c8c8c8c8c8c7a644f39240f000000040d131620202020202020201c19130900000000000000061016192020202020202020191610060000000000000000000000000000000000000000000000000000000000000000000014283d50626b7070707070707070707070707070707070707070708095aac0d5e6d3c3b39e8976614c37210c000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c00000000000000000a1e33465772879cb2c7cdcdc8b4a2927d696b8096a28d776264788a9eb4c9dedcc7b19c87725c3727150100071c30435473889db3b29d88725b49566f849aafc5c8b49f8c7c6c646264686f7d889eaabbcebfaa957f6a57545b63798a9eb4b19c86715d4b37220e0000000b21364b6075899eb3c3d4e0cbb8a69d87796c6460545460646c7a879da7b8cce2d4c4b49e8976614b36210c000000000000000012273c51677c91a6c2d3e5dcc6b19c86715b70859aafc4d4dec9b39e8975616c8197acc0d1dcc8b4a28e7963687e93a8c6d6e8dac4af9a846f5544311d0800000000000000051727353e42444444444443546c8297acc6cebbaa927d6752384444444b6075899eb3c9c9b49e8975604b44443a362e2010000000000000000000000000000000000000000000172c41576c8196a2a2a2a2a2a2a2a2a2a2a2afb4c0d1e3eedbc8b8aba6a2a2a2a2a2a2a2a2a2a2a28e79644f39240f0000071521282b3535353535353535312e261b0d00000000000a18232b2e35353535353535352e2b23180a000000000000000000000000000000000000000000000000000000000000000000162b40566b80858585858585858585858585858585858585858585859bb1c6dbf0e0ccb8a796806b56412c16000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c00000000000000000c21364b61768ba4b6b8b8b8b8af9a84705f6b8096a28d77625a6b8196abc0d6dec8b39e89735544311d08000b20354a60758a9fb4af99846f5a4b6075899fb4c9bbaa95806b5e4f4c4f535f677b8c9fb4c6bda8927d68533c495b6b8095abb6a48f7a654f3a2510000000091e3245576c8197a5b7c8d8d5c4b6a59d8b817a757272757a818c9da5b7c5d5d9c9b7a697826d5746321e09000000000000000417293a566c8196abc1d6ebd7c1ac97826c57677c91a6b7cbdfccb9a8937d6876899eb4c9ded4c4af9a85705b63798ea8b9cce1dec9b49f8975604b36200b00000000000000000917222a2d2f2f2f2f253651667b90a8bacdc8ae99836e5645322f3144556e8398adc8ccb9a8907b6650362624221b13130c0a04000000000000000000000000000000000000172c41576c8196acb7b7b7b7b7b7b7b7b7b7c5c8d1deeef8e6d6c8bebbb7b7b7b7b7b7b7b7b7b7a48e79644f39240f00041526333d404a4a4a4a4a4a4a4a4642382b1b09000000061828363f434a4a4a4a4a4a4a4a433f362818060000000000000000000000000000000000000000000000000000000000000000192e44596e83999a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9ba3b5c9ddf2e8d5c5b49e8a745f49341f000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c00000000000000000e23384d63788da2a2a2a2a2a2a2927d67566b8096a28d776252677c92a7bcd1dfcab59f8a75604b35200b000c21374c61768caabbad98826d584e63788ea9bacab49f8b77614c40373a414d5d6a7f94a8b9bea9947f69543f3c4d62778c9fb5ab95806b56362614010000031628394c6176879daabbc8d5d3c3b6aa9f978f8987888a8f979faab7c3d4d5c8bbab9d8877614c39281603000000000000000a1f33465871869bb1c6dbe7d5c4a7927d67526074889db3c8d8d6c6b19c86717e93a8b9ccdfcbb7a6917c67516074899eb3c9dee1cdbaa88f7a644f3a240f000000000000000000050f15171a1a1d2427364b6075899fb4c9c9b49f8975604b3628273752677d92aabbcec6ac97826c5443302828282828211f170c0000000000000000000000000000000000172c41576c8196acc1ccccccccccccccccccdadce3eefcfaf4e6dbd3d0ccccccccccccccccccb9a48e79644f39240f000d213344505560606060606060605b564938261300000010233646535860606060606060605853463623100000000000000000000000000000000000000000000000000000000000000000192e44596e8399aeb0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b1b5c1d2e4f8f3dec9b49f8a745f4a341f000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c00000000000000000f253a4f647a8d8d8d8d8d8d8d8d8d7963566b8096a28d776252677c91a7bcd1e1cdb9a88b75604b36200b000e23384e63788da3c8ab96816b5650657a8fa5c7c6b19b86715847332224303f4b6075899eb4c1ac97816c573734485971869cb1af9a856f5443301c080000000a1f334758657b8c9faab8c4d5d3c8bbb4aca99f9d9d9fa9acb4bbc8d4d5c4b8aa9f8d7b655947341b0b00000000000000000c21364c61768b9fb4cadfe0cbb8a68d78634d556a8095aabbcedec9b5a48f7a869cb1c6d6d8c8b39d8874604b546f849aafc4d9e9d7c6a9947f695436261401000000000000000000000000122230393c3d45566e8399aec9cdbaa8917b6651373d3d3d4c61768b9fb4cac8b39d8874604b3d3d3d3d3d3d3733291c0c00000000000000000000000000000000172c41576c8196acc1d6e1e1e1e1e1e1e1e1e5e5e5e5e5e5e5e5e5e5e5e1e1e1e1e1e1e1e1ceb9a48e79644f39240f0013283d50626b7575757575757575716756422e19040001162b3f53646e75757575757575756e64533f2b160000000000000000000000000000000000000000000000000000000000000000192e44596e8399aec3c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c6c9d2dfeffff4dec9b49f89745f4a341f000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c00000000000000000b21364b60747878787878787878787260566b8096a28d7762586b8095aac0d5dec9b49e89745645321d090010253a50657a8fa5baa9947f6a5451667b91a6bbc4ae99846f593a2a18121e3245566d8398adc2b09b85705544313b576c8197acb49e8974604b35200b00000004172a3a4b5d687e8c9ea6b8cbe0d8cec9c7bab4b2b2b4bac7caced8e0cbb8a69e8c7e695d4b3a2a1800000000000000000011263b51667b90abbccfe3ddc8b39e88735a494d62778b9fb4cadfd2c2b19c869ca4b5c9e2cebbaa95806a5544556a7f95aac8d9ebd9c3ae99846e5443301c0800000000000000000000000a1d30404d51525253687d92abbccfc6ac97826d5552525252525870859ab0c5cbb8a68f7a64525252525252524c473a291704000000000000000000000000000000172c41576c8196acc1d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0ceb9a48e79644f39240f00162b40556b808a8a8a8a8a8a8a8a85715b46311c060003192e43586e828a8a8a8a8a8a8a8a826e58432e190000000000000000000000000000000000000000000000000000000000000000192e44596e8399aec3d8dadadadadadadadadadadadadadadadadadbdde4e5e5e5e5dec9b49f89745f4a341f000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c0000000000000000091e324556606363636363636363636054566b8096a28d77626176889eb3c8ddddc7b29d88725d382815020010253b50657a90a5baaa947f6a5550657a8fa5c9c4ae99846f593b2a180516283852677c92a7bcb49f8a75604b363f556a7f94aab9a88d78634d38230e000000000c1c2e3f4e60687b889eb3c8ddeae2dfd7cdc9c7c7c9cdd7dfe2eaddc8b39e887b69604f3f2e1c0c000000000000000003162838566b8095abc9d9ebd8c3ae99836e593c48596e8398aec2d3dec9b5a49ca4b5c2d2dfcab49f8b77624d3750657b90aabbcee2dec9b39e8974604b35200b00000000000000000000000f24394d5e6668686868778a9fb4cac8b39e887368686868686868697f94a9bed5c4ab96806b68686868686868615847331f0a000000000000000000000000000000172c41576c8196acbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb9a48e79644f39240f00162b40556b80959f9f9f9f9f9f9b86715b46311c060003192e43586e83989f9f9f9f9f9f98836e58432e190000000000000000000000000000000000000000000000000000000000000000192e44596e8399aec3d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0c9b49f89745f4a341f000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c000000000000000003162838454b4d4d4d4d4d4d4d4d4d4a43566b8096a28d7762748399a7b8cce0d9c4ae99846f59442f1a00000f24394f64798ea4c9ac96816c574e63788dabbcc6b19c86715947341f090f243a4f64798fa4b9baa98e79644e393e53687d93a8c6a48f7a644f3a250f0000000000102131424e5d657a8fa4b9cfe4e3dcd4cbc8c4c4c8cbd5dce3e4ceb9a48f79655d4f42322111000000000000000000091e32455670859bb0c5daead7c7a9947f69543f3b50657b90a4b6caded2c2b5b1b5c2d2e0d3c2ae98836e5948364b61768a9fb4cadfe0ccb9a78e79634e39240e000000000000000000000011273c51667c7d7d7d7d7d889db2c8ccb8a7957f7d7d7d7d7d7d7d7d8095aabfd5c7b29d877d7d7d7d7d7d7d7d76614c37210c000000000000000000000000000000172c41576c8196a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a48e79644f39240f00162b40556b8095aab5b5b5b5b09b86715b46311c060003192e43586e8398adb5b5b5b5ad98836e58432e190000000000000000000000000000000000000000000000000000000000000000192e44596e8399aebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb49f89745f4a341f000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c0000000000000000000a1a2832363838383838383838383541566b8096a28d78788499a1b2c5d5e4d1c1a9947f6a543f2a1500000e23384e63788dabbcae99836e594b61768b9fb4cab49f8b77624c3727150f24394e64798ea3b9c7a8937d68533e3c51667c91a6bba5907b66503b26110000000000071c3043546176869cb1c7dcded0c7c4b7b3afafb3b8c4c8d1dedbc6b19c8676614c413019090000000000000000000b21364b60768a9fb4c9dfe2cdbaa98f7a644f3a374b5d72869cb1c6d7e0d2c9c6c9d2e0decab6a4907b65503b32465771869bb1c6dbe8d6c5a8937e69533e291400000000000000000000081d32475d728792929292929da6b7cbd5c5af9d959292929292929292959eafc3d7cab6a59d929292929292928e79644e39240f000000000000000000000000000000172c41576c81909090909090909090909090909090909090909090909090909090909090909090908e7a644f39240f00162b40556b8095aac0cacac6b09b86715b46311c060003192e43586e8398adc3cacac3ad98836e58432e190000000000000000000000000000000000000000000000000000000000000000192e44596e8399a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a59f89745f4a341f000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c000000000000000000000a161e21232323232323232e373b47566b8096ab97828a9aa2b2bfcfe3ddc8b4a38e79644f39240f00000b21364b60768b9fb5b09b85705b465770869bb0c5bcab937e68554431251e263750657a90a5bac2ac97826d57393a4f657a8fa4baa7927c67523d271200000000021628384a6072859ba4b6cadeccc0b4afa69d9a9a9da6afb4c0cddec9b5a49a846f5f4d37271501000000000000000010253a50657a8fa9bacee2dfc9b49f8a75604b362f3f53697e93a8b9cde1e5dedcdee5e9d7c6b19c86715d4b372939576c8196acc1d6ebd8c3ad98836e583c2c1906000000000000000000081d32475d72879ca7a7a7a7b2b7c4d4e3ccbbafaaa7a7a7a7a7a7a7a7aaafbcccdfd4c3b6b2a7a7a7a7a7a7a38e79644e39240f0000000000000000000000000000000e23394e63797b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b76614c36210c00162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e190000000000000000000000000000000000000000000000000000000000000000192e44596e8390909090909090909090909090909090909090909090909090909090909090908a745f4a341f000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c000000000000000000000003090b0e0e0e171e2e373f4b5059626b8096ab9f979fa9b4c0cfdde2cfbfb09b85705c4a36220d0000091e32455672889db2b29d88725b49556b8095aabfc9b19b8574604b4336323544556a7f94aabfc6b19c86715746394e63788ea3b8a8937d68533e281300000000091e324556687d92a2b4c2d3ccbcafa29a8d888484888e9aa2b0bccdd2c2b3a2917c675544311d080000000000000002152737556a7f95aac7d8eadac5b09a857056453221364c61768a9eb4c9deeff3f1f3f6e1cdb9a8937e69533f2e273d52677c92a7c4d4e7ddc8b39d88735a4935200c000000000000000000081d32475d72879cb2bdbdbdc8cbd4dfe6daccc3bfbdbdbdbdbdbdbdbdbfc3ccdee1e1d4cac7bdbdbdbdbdb9a38e79644e39240f0000000000000000000000000000000c2135495b636666666666666666666666666666666666666666666666666666666666666666666666615746331e0a00162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e1900000000000000000000000000000000000000000000000000000000000000000f24394e647a7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b65503b2610000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c000000000000000000000000000002101b29333f4b4f5d656e777f879db2b1acb4bac7d1dee2d4c3b2a1917c66513e2d1b070000031628385a6f8499afb7a58d78634d4e64798ea1b3c7b5a395806b60544b45484d6073879db2c7cab49f8a76614b3a4f64798fa4b9a6917c67513c2712000000000b21364b6075889db3c0d1d1c0af9e958479736f6f737984969eb0c1d1d0c0b29d8774604b35200b00000000000000081d3144556f849aafc4daebd5c0ab96806b5638281f3346586c8297acc0d1e4f7fffff3dec9b49e8a76614c362122384d62788da6b7cbdfe0cbb7a68d78634d38230e000000000000000000081d32475d72879cb2c5c5c5c5c5c7cad3e1ded7d4cbc8c5c5c5c5c5c5c5c5c5c9ccd6e4dfdcd2c9c6c5c5b9a38e79644e39240f000000000000000000000000000000061a2c3d494e50505050505050505050505050505050505050505050505050505050505050505050504c463929170300162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e1900000000000000000000000000000000000000000000000000000000000000000d22364a5c646666666666666666666666666666666666666666666666666666666666666666655d4c38230e000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c000000000000000000000000000210202d39464c5d65707a838b949da5b6c5c1c9cdd7e5e3d2c4b7a599836e5e4d39201000000000152a3f546a7f94a9c3a9947e69544a5c6f8499aebdc1b59f8d7e726560575a626d8096a5b6cacebbaa8f7a654f3c51667c91a6baa48f7a654f3a25100000000011263c51667b91a6b7cbdcc8b4a295806f635b5a5a5b63708096a3b4c8ddcab7a5907b65503b2610000000000000000b20364b6075899fb4c9dee6d3c3a6917c66513c2617293a4e64798ea2b4c8ddf3fff7e4d1c0ac97816c5746331e2035485a73889db2c8dde7d5c4a8927d68533d2813000000000000000000081d32475d72879cb0b0b0b0b0b0b2b6c3d3e6d4c4b7b2b0b0b0b0b0b0b0b0b0b4b9c6d6e4d2c1b5b1b0b0b0a38e79644e39240f000000000000000000000000000000000f1f2c35393b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3633291b0b0000162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e190000000000000000000000000000000000000000000000000000000000000000071b2d3e4a4e5050505050505050505050505050505050505050505050505050505050505050504c3f2f1c09000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c0000000000000000000000000110202e3e4a57616d7a858f999faab2b6c3d4d7dee1e7d9cfc2b5a69d8777614c40301d02000000000f24394f64798ea6b7af9a857058474f647a8f9fb0c1bcab9f93847a7672727882969eb0c3c9d3c8a9947e69543f53697e93a8c3a28d78624d38230d00000002182d42576d8297acc4d4dac5b09a8473604e493d3d4a4e6073859bb0c5dad4c3ac96816c57412c17000000000000000f243a4f647a8fa8bacde1decab6a48c77614c37220c21364a5c70859ab0c4d5e7fbf1ddc8b4a28e79634e392917192b3c596e8398aec3d8ecd7c2ad97826d583b2b18050000000000000000081d32475d72879a9a9a9a9a9a9a9ca5b6cadfcbb7a69d9a9a9a9a9a9a9a9a9a9ea8b9ccddc9b5a39b9a9a9a9a8e79644e39240f00000000000000000000000000000000010f1a21232626262626262626262626262626262626262626262626262626262626262626262626211e170b000000162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e1900000000000000000000000000000000000000000000000000000000000000000010202d36393b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b382f211100000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c0000000000000000000000000f1f2e3e4b5c6476828f9ba3aeb4bbc8cad4e1eae2dfd0c9bcb4a39b887863594734221200000000000b20354b6074889db2b49f8b77614c4b5c6c8196a3b5c2bcb5a29a8f8b87878b979fb0b6b1b6c2c3ad98836e583e566b8196abb7a58b76604b36210b000000031729395d72879cb2c7dcd8c8a6907b665443352c2d364455667c91a6c9d9dcc6b19c87715c3828160300000000000114263654697f94a9c6d7e9dcc7b29c87725947341f0b1a2d3d52677d92a6b8cbe0f6e7d5c4b09a85705b4a361b0b14293e54697e93a9c6d7e9dcc7b29d8772594834200b000000000000000003192e43586e8285858585858585879cb2c4d4c8b29d888585858585858585858a9eb4c9dbc6b19b85858585858478634d38230e000000000000000000000000000000000000060c0e11111111111111111111111111111111111111111111111111111111111111111111110c0a0300000000162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e1900000000000000000000000000000000000000000000000000000000000000000002101b2224262626262626262626262626262626262626262626262626262626262626262626231c110300000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c00000000000000000000000a1b2d3d4b5c647a8798a0b0b5c1caced9dfe5ded8cec9c0b4ab9f968578635a493b2a18040000000000081c3043546b8095abbbaa96806b5a484b6074859ba4b4c0c0b4afab9f9c9d9fabb1b2a49ca4b6c7b29d8772584a5c72879cb2b29d88725645321e090000000a1e33465774899fb4c9decebbaa8c77614c36261a1a27374d62778cabbccfdec9b39e89745645321e090000000000081c3043546f8499aec4d9ecd7c2ad97826d583b2a18040f20364b6075889eb3c8d9ebe0cbb8a6927c67523d2d1a000f24394f64798ea8bacde1dfcab6a58c77624d37220d000000000000000002162b4053646e707070707070707a8ea6b7cbc5b09a857070707070707070708197acc6d6bca7927d7070707070635a4935200c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e190000000000000000000000000000000000000000000000000000000000000000000000070d0f1111111111111111111111111111111111111111111111111111111111111111100e09000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c00000000000000000000031628394a5b647b8a9da5b2bec9d1dfe2ebe0d2c9c8bbb4ada29a8c8174635a493c2c1d0c000000000000011426364d63788c9fb4b49f8b78624d45566277869aa2b3b8c5c9bcb4b1b2b4bcb1a098869cb1c4b6a58c77614e64798ea5b6ac96816c57382816030000000c21364c61768ba9bacddfcab49f8a75604b3620111221364b60768a9fb4cadfccb9a78b76604b36210b00000000000b20354b6074899eb3c8dee8d6c5a8937d68533e281300091d3145566b8095aabbcee2d9c8b39e8875604b36200f000b20354b6075899fb4c9dee6d3c3a7917c67523c27120000000000000000001023364653585b5b5b5b5b5b5c73889db2c8cab49f8b77615b5b5b5b5b5b657b90a8b9ccc3ae99836e575b5b5b4d493c2c1906000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e1900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c00000000000000000000091e32455763798a9ea8b6c3cfdde4dfdcdad2c2b5b1aa9f988f84796c6056493c2c1e0e0000000000000000082135495b6e8398abbaa998826d5d4c4859627684939ea7b0b4c1bcbcc0b3af9f97827d92a7afafa5907b665a6b8095abb9a7907b65503b2610000000000c21364c61768ba9bacde1cebbaa8e79644f3d2f26262f3e4f647a8fabbccfe0ccb9a78b76614b36210c00000000000e24394e63798ea7b8cce0e0ccb8a78e78634e39230e00021527384d62788b9fb4cadfcebbaa95806b5645311d0900081d31445570859aafc5daecd6c1ac97816c573a2a1704000000000000000006182836404345454545453e576c8197acc6cfbcab927d6853394545454b6075899eb3c9c9b49f8976604b454538352c1e0e00000000000000000000000000000000000006101618202020202020202020202020202020202020202020202020202020202014110b02000000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e190000000000000000000000000000000000000000000000000000000000000006101618202020202020202020100e080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c00000000000000000004172a3a4b6075869ca8b9c6d4e1e2d3cac7c5c8b5a49c948b837a6f645c4b45382c1e0e00000000000000000006192c3c4e63798d9fb5b59f8d7b655b4a485861737e89949ba3a4a6a7a4a29a908174798d99999999957f6a62788a9eb4b39e8974604b35200b000000000a1f33465874899fb4c9ded8c8aa947f6a5c4c403b3b404c5c6a8095aac9d9dec9b39e89745746321e09000000000014293e53697e93a8c5d6e8dec8b39e8974604a35200b00000a2035485a6e8399aec3d3cab49f8b78624d382715020001152737556b8095aac9daecdcc6b19c86715847331f0a0000000000000000000a18232b2e30303030303b51667b90a8b9cdc9ae99846f574632303144556e8398adc8cdbaa8917c665137272320190e0000000000000000000000000000000000000917232a2d353535353535353535353535353535353535353535353535353535353529261f14060000000000000000162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e190000000000000000000000000000000000000000000000000000000000000917232a2d35353535353535353525221b1002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c0000000000000000000a1f3347586b8095a4b6c6d6e4d8cec3b6b2b0b4b19c867f776d645c4e4a3d32281a0e00000000000000000000000e21364a5b6c8197a6b7ab9e8a7963594846546068777e858c8f91928f8c847c6c60728384848484847f6a6e8399a8b9a897826d5544311d08000000000417293a5d72879cb2c7dcdfc9b49f8b7a665e545151545e667a8b9fb4c9dfdcc6b19c86715c392816030000000006192c3c596e8398aec3d8edd9c4ae99846f5443301c07000005192b3c50667b90a5b6cac3ae99836e5a48341a0a00000011263b51667b90abbccfe3dfcab59f8b77614c37210c00000000000000000000061016191b1b1b1b21364b6075899eb4c9c9b49f8a76614b3621273752677c92aabbcec6ad97826d5544311d0c06000000000000000000000000000000000000061727353f424a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a3e3b3124140200000000000000162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e190000000000000000000000000000000000000000000000000000000000061727353f424a4a4a4a4a4a4a4a4a3a372e2110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c0000000000000000000c21374c6176899eb4c2d3e4d8c8bbb4a59d9ba3a28d786962594f4b3e362d1e160a000000000000000000000000071a2d3d4c6176889dabb9a89d8777625a4c434b5861697077797c7d7a776f665e54606e6f6f6f6f6f6a677d91a1b2b49e8a77624d372715010000000000172c42576c8197acc2d3e2cdbaa99d877c6f6a66666a6f7c879daabbcee2d2c2ab96816c56412c1700000000000c2135495b73889db3c8ddead8c8aa947f6a55362513000000000e20354a6073879cb2c7b6a4907b65503c2b19000000000c21374c61768b9fb5cadfe3cfbcab917c66513c26110000000000000000000000000203060606091e3245566e8399aec9cdbaa9917c6751382721364c61768a9fb4c9c8b39e8974604b35200b000000000000000000000000000000000000001023354552586060606060606060606060606060606060606060606060606060606060534e42311f0b00000000000000162b40556b8095aac0d5dbc6b09b86715b46311c060003192e43586e8398adc3d8d8c3ad98836e58432e1900000000000000000000000000000000000000000000000000000000001023354552586060606060606060604f4b3f2e1b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c00000000000000000215283854697f94a8b9cde0d8c8bbaa9f9487859ba28d77624d483b372e211a17171714120c020000000000000000000f1f334658657b8d9fb4b7a59c8678665e4b46474c545962646767646159514c434a595a5a5a5a5e667c8c9fb4b7a5947f6a594834190900000000000010253b50657b90a4b6caded7c7b7a59d90847f7b7b7f84909da6b7c8d8dec9b5a48f7a654f3a251000000000000e23384d63788da6b7cbe0e2cebbaa8f7a65503a251000000000071c304354697e94a9bab29c8773604a35200d000000000a1f33475871879cb1c6dcecdac9ab96816b5639291703000000000000000000000000000000000216283852687d92abbccfc7ad98836d5645311f3346586f849aafc4ccb8a7907a65503b251000000000000000000000000000000000000000162a3f52636d757575757575757575757575757575757575757575757575757575757569604e3b261100000000000000162b40556b8095aac0d5dbc6b09b86715b46311c000003192e43586e8398adc3d8d8c3ad98836e58432e190000000000000000000000000000000000000000000000000000000000162a3f52636d757575757575757575655d4b37220e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c0000000000000000091d3245566f859aafc6d6e2cebbaa9f8c7f758096a28d77624d382a2c2c2c2c2c2c2c29271f140600000000000000000417293a4c5d6a7f949fb1b5a49c897c6b61574b463b474c4f51524f4c473b38303538454b57616c7c8b9faabaa99d8774604b3b2b18000000000000000b20354b6073869cb1becfded4c3b7b2a199949090949aa1b2b7c4d4ddcebeb19c8673604b35200b000000000013283d53687d92a8c4d5e7dfcab49f8a76604b36210b00000000001325364c61768a9fb4a8937e695443301c07000000000417293a576c8297acc1d7ecdbc5b09b86705746331e0a00000000000000000000000000000000000c22374c61778b9fb4cac9b39e8975604b3620293a53697e93a8c1d2c5ac96816c573e2d1b07000000000000000000000000000000000000182d42586d828a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7e69533e291400000000000000162b40556b8095aac0d5dcc7b19c87725c3a2a18040003192e43586e8398adc3d8d8c3ad98836e58432e190000000000000000000000000000000000000000000000000000000000182d42586d828a8a8a8a8a8a8a8a8a7a654f3a25100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c00000000000000000b20364b60758a9fb4c9dfdfcab49f8c7b696b8096a28d77624d3d41414141414141413e3b3224140200000000000000000b1b2f3f50616d8197a0b4b5a79e8d80756a6157504b45383e3d3a3a3c3d3f3d494e56606775818d9fa9baab9f8b7b655645321d0d00000000000000081d314455667b90a0b2c0d0e1d4cabfb3afa9a6a6a9afb3bfcbd4e1cfbfb19f907b655443301c080000000005192b3b586d8298adc2d7e5dbc6b09b86715745321e090000000000081f3347586d8297ad9f8a76614c36251300000000000013283d52687d92a7c5d5e7dfcab49f8b76614b36210c00000000000000000000000000000000000b1f34475970859bb0c5ccb9a7907b6550362522374d62778ca3b5c9c7b29d87725c4a36220d000000000000000000000000000000000000182d42586d82979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f937e69533e291400000000000000162b40556b8095aac0d5ddc8b39e88735847331f0a0004192e44596e8399aec3d8d8c3ad98836e58432e190000000000000000000000000000000000000000000000000000000000182d42586d82979f9f9f9f9f9f9f8f7a654f3a25100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c00000000000000000d23384d62788da9bacde2d5c0ab96806b5d6b8096a28d77624d525757575757575757544f42321f0c000000000000000000112133434b607282949fabb8ab9f96887f766b6560565553525050515355595b636b757d87979fabbab49f8d7d675d4b3828160000000000000000011426374c5e6d8298a2b3bfcdd7dfd0c7c4bfbbbbbfc4c7d0dfd6cdbfb2a197826d5d4b36261401000000000b2034485972879db2c7d0d0d0c1ab96816c563928160300000000000417293a4f647a8ea397826d58463318080000000000000e23384d63788da6b8cbd0d0cebbaa907b65503b2610000000000000000000000000000000000004182a3b546a7f94a9c3bbc5ac97816c5443302034485971869bb0bbbbb7a58e79644f39240f000000000000000000000000000000000000182d42586d8297adb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5a8937e69533e291400000000000000162b40556b8095aac0d5e0cbb8a68c77614c37220d00031729395b71869bb0c6dbd8c3ad98836e58432e190000000000000000000000000000000000000000000000000000000000182d42586d8297adb5b5b5b5b5a48f7a654f3a25100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c00000000000000000f243a4f64798fa4c7d7eaceb9a48e7964566b8096a28d77625f676c6c6c6c6c6c6c6c69604f3b271200000000000000000003151c30435460727f8d9ea7b5b5a69e9488807b756f6b6967656566686a6e73788088929da5b5b6a99f937e695f4d3f2e1a0a00000000000000000009192f404b60748399a1b4bac6ccd5dad9d4d0d0d4d9dad5cbc6b9b4a0988373604b3f2e180800000000000d22374d62778ca5b6bbbbbbbbc3a7917c67523c2712000000000000000c22364a5c70859b8e79644e3a2917000000000000000c2135495b73889eb3bbbbbbbbc8aa95806b553828150200000000000000000000000000000000000e23394e63798ea5a5a5a5a59d8874604a35202b3b556a7f95a5a5a5a5a595806b55362614010000000000000000000000000000000000182d42586d8297adc2cacacacacacacacacacacacacacacacacacacacacacacabea8937e69533e291400000000000000162b40556b8095aac0d5e7d5c5a6907b66513b2b18090a1e33465773889eb3c8ddd7c2ac97826d57422d180000000000000000000000000000000000000000000000000000000000182d42586d8297adc2cacacabaa48f7a654f3a25100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c000000000000000010253b50657a90a5bacfe1cbb6a18c7661566b8096a28d7762677d81818181818181817e69543e291400000000000000000000011426364354606a7c899ba3b2b6b3a79e96908984807e7c7a7a7c7d7f84888d959ea6b2b7b4a49c8b7e69604e413021110000000000000000000000111d314556617583939fa8b3b8c5c5c8c9cecdc9c8c5c4b8b3a89e92837560554431211100000000000012273d52677c92a5a5a5a5a5a5a5a58c77624d37220d00000000000000071b2d3e52687d9285705c4a361c0c0000000000000006192c3c596e8399a5a5a5a5a5a5a59a85705645321d0900000000000000000000000000000000000c2136495b72879090909090908f7a644f3a2524394e63798e90909090909086715443301c080000000000000000000000000000000000182d42586d8297adc2d7dfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd3bea8937e69533e291400000000000000162b40556b8095aac0d5ead7c2ad98826d594836261e1a27374c61768ba6b8cbe0d5c0ab96806b56412b160000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7dfcfbaa48f7a654f3a25100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c00000000000000000e24394e63798ea3c5d6e8cfb9a48f7a64566b8096a28d776272879696969696969696836e59432e19040000000000000000000008182636434a5e657885929ca5b2b7b3aba89e999593918f8f919294999ea7aab3b8b4aa9f97867969604e42312312030000000000000000000000021527384657616e7e8a959ea7aab0b2b4babab4b2b0aaa69e958a7d6e60574537271503000000000000172c42576c819090909090909090908772594834200b00000000000000001021364b6075897d67523e2d1b000000000000000000142a3f54697f9090909090909090908a75604b36200b0000000000000000000000000000000000061a2c3d4e647a7b7b7b7b7b7b7b78624d382221364a5b657b7b7b7b7b7b7b7c73604b35200b0000000000000000000000000000000000182d42586d8297adc2d7ecf8eadfd8d5d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2bea8937e69533e291400000000000000162b40556b8095aac0d5eadfc9b49f8b7762544437322c354455697e94a9c4d5e7d4bfa9947f6a543f2a150000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c00000000000000000d22374c62778ca7b8cce0d7c1ac97816c5f6b8096a28d77677c91a5acacacacacac96816c57412c1702000000000000000000000008182530404c5a62737d87929da5acb2b7b4aeaaa8a7a5a5a6a8aaaeb3b8b4b0a89e968b8175635b4e4231241405000000000000000000000000000a1a2839464b606877808890959a9d9fa9a99f9d9a9590887f7668604b4539281909000000000000000f243a4f647a7b7b7b7b7b7b7b7b7b7a644f3b2b18050000000000000000091e3245566a7f74604b3620100000000000000000000c22374c61777b7b7b7b7b7b7b7b7b7b76604b36210b0000000000000000000000000000000000000f21364a5c6466666666666666625a4835201a2d3d4c5e6566666666666666605443301c080000000000000000000000000000000000182d42586d8297adc2d7eceadacdc3c0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbda8937e69533e291400000000000000162b40556b8095aac0d5eae2cdbaa999837260554b453d494e6074879db2c7dde6d3c3a6917c67513c27120000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c00000000000000000b20354b6074899eb3c8ded9c5b19f927d6e6b8096a28d7879889eb3c3c1c1c1bcab927d67523d28120000000000000000000000000008131c2f3c48556067747d8791979da6aaadafb1b3b9bab4b2b1afabaa9f9b948a81786c60564a3d312414060000000000000000000000000000000b1b2832424e59616a757b8085888a8b8b8a8885807b756a61584e4232281b0a00000000000000000d22364a5c64666666666666666666645c4a361d0d000000000000000000021628384f616a605645321d090000000000000000000b1f3447596166666666666666666666605745321e09000000000000000000000000000000000000071a2d3e4a4e505050505050504d483c2b190f1f2f404c50505050505050504b43362614010000000000000000000000000000000000182d42586d8297adc2d7ecdfcdbcb0aba8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8937e69533e291400000000000000162b40556b8095aac0d5eaead7c7b3a19781736660565b5b636e8096a5b7cbdfdfcab6a58c77624c37220d0000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c0000000000000000081c3043546e8398aec4d5e1cebdac9b92837a8196ab9681899ea6b8cbd6d6cab49f8b77614c37220c000000000000000000000000000000111e2b37444b556068747c82888e94989a9c9ea8a99f9d9b9a96908a857f766c625a4b45382d1f140600000000000000000000000000000000000b161e313b474c5660656b70737476767473706b6560564c473a311e160a000000000000000000071b2d3e4a4f5050505050505050504f4a3e2d1b00000000000000000000000a1a32434f544b453828150200000000000000000004182a3b474c505050505050505050504b4539281603000000000000000000000000000000000000000f202d36393b3b3b3b3b3b3b38352b1e0e0111212f383b3b3b3b3b3b3b3b3530261808000000000000000000000000000000000000182d42586d8297adc2d7ecd8c3b09e95929292929292929292929292929292929292927e69533e291400000000000000162b40556b8095aac0d5eaf5e5d0bfb19f97867c757170727883969eb0c3d4e6d8c8b29d8772594834200b0000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c00000000000000000114263653687d92a6b7cbe0dbcab9aca09890969eb09f969ea8b8c4d5e1cfbeaf99846f5947341f0a000000000000000000000000000000000e19263137444b5660666d73797f838587898b8b8a888684807b76706a61584d483c32281a0f010000000000000000000000000000000000000003141d2a3438454b50555b5d576161575d5b55504b4538332a1c1303000000000000000000000010202d363a3b3b3b3b3b3b3b3b3b39362d20100000000000000000000000001525323c3f3632281a0a00000000000000000000000c1d2a34373b3b3b3b3b3b3b3b3b3b3632281b0a0000000000000000000000000000000000000000010f1a2124262626262626262220190e000003111c232626262626262626201c140800000000000000000000000000000000000000182d42586d8297adc2d7ead5c0ab95807d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d79634e39230e00000000000000162b40556b8095aac0d5eaf0e5decebeb1a49c91898785878d98a0b0bccde2e2cebbaa95806b563b2b18050000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c0000000000000000000b21364b6075889db3c0d1e2d7cabeb2ada5abb0bdb0acb3b9c6d5e2d3c3b2a08f7a644f3a2a1804000000000000000000000000000000000009141d273138454b51575c646a6e70727476767473716f6b666157554c473a352b1e160a00000000000000000000000000000000000000000000000c181f2832363b404539464b4b463945403b3632281f170c0000000000000000000000000002101b222426262626262626262624221b1002000000000000000000000000071520272a201d150a000000000000000000000000000c181f2226262626262626262626211e160a0000000000000000000000000000000000000000000000070d0f111111111111110d0b050000000000090e10111111111111110b08010000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a68686868686868686868686868686868686868635b4936210c00000000000000162b40556b8095aac0d5eae0d3cac7c6c2b5b1a99f9c9b9da5aeb2becddae6d4c4b49f8b78624d37220d000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c000000000000000000091e324556697e93a2b4c3d2e2dccfc6c3bac1c4cdc4c1c9ccd6e3d3c4b6a598836e5c4b371c0c000000000000000000000000000000000000000109151d2731363c3e4a4e55585a5c576061575d5c5a56504b463937332a20190e0300000000000000000000000000000000000000000000000000040a161e21262b30293336363229302b25201d150a0400000000000000000000000000000000070d0f1111111111111111110f0d07000000000000000000000000000000030c12150b0902000000000000000000000000000000040b0c111111111111111111110b0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a655353535353535353535353535353535353534e493d2c1a0600000000000000162b40556b8095aac0d5e5d3c2b6b1b1b5c2c7bab4b1b0b2b7c3c6cfdce5d7c8b7a697826d594834200b000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c000000000000000000031628384b6074849aa5b5c2ced9e2dad8cfd6d8e0d9d6dee1d9cfc3b6a69c8776614c3e2e1b00000000000000000000000000000000000000000000010a151d20272d36393f434539454b4c46394645413b363329211f170c06000000000000000000000000000000000000000000000000000000000002090b10161b171e21211e161b16100b0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000812191b202020202020202016140e04000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d39362c1f0f0000000000000000162b40556b8095aac0d5decab6a49c9ba3b5c3cdc9c6c5c7cad4dbe2ded2c7baaa9d8876614c3b2b1905000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c000000000000000000000a1d3144556177879ba3b4bbc8ced8dadddfe7e6dfdcd8cec9bcb4a49c887963584633201000000000000000000000000000000000000000000000000002090b111a21242a2e30283236363329312f2b26211e170c0a0400000000000000000000000000000000000000000000000000000000000000000000000000030a0c0c0a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1a262d3035353535353535352b292116080000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2828282828282828282828282828282823211a0f010000000000000000162b40556b8095aac0cacac7b19c86869ba5b3bfcacfd9d7d9d8d6d3cac2b5a99f8c7c655847331d0d00000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c00000000000000000000021527374759627885979faab4bac7c5c8cbd4d4cac7c8bbb4ab9f978678635b4a3a29170200000000000000000000000000000000000000000000000000000000070d0f15191b161e21211e171c1a16110c0a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b0d0f0f0f0f0f0f0f0f0e0c07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c121517191a191715110c0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000081a2a3842454a4a4a4a4a4a4a4a413d3426160400000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251414141414141414141414131313130e0c0600000000000000000000162b40556b8095aab5b5b5b5b09b85778799a1afb4bcc9c2c4c3c1c2b6b1a49c8a7c665e4c3a2a170000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2515151515151515151515100e080000000000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36210c000000000000000000000009192a3b485a6275818c989fa9acb0b3b7c4c3b7b2adaa9f988c8176625a4a3d2d1b0b000000000000000000000000000000000000000000000000000000000000000000030003090b0c0a030005010000000000000000000000000000000000000000000000000000000000000000000000000000000000050b0d1115181a1b1c1a1917140f0b080100000000000000000000000000000000000d192022242424242424242424211a0f0100000000000000000000000000000000000000000000000000000000000000000000000000000000030a0c171f21272b2d2e2f2e2c2a27211f170c0a040000000000000000000000000000000000000000000000000000000000000000000000000012263848555b606060606060606056514434210e00000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2929292929292929292929292321190e00000000000000000000000000162b40556b80959f9f9f9f9f9f9b86717783919a9fababadafadaba9a49c93867a665e4c402f1c0c0000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2a2a2a2a2a2a2a2a2a2a2a25231c1103000000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c362113130c0a0400000000000000000c1d2b3c4857606c79838a91979a9da6b0b7a59d98938b837a6c6158493c2d1f0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b0d181f22262a2d2f3031302e2c2924201c14080800000000000000000000000000000d1d2b34373a3a3a3a3a3a3a3a39362d1f0f0000000000000000000000000000000000000000000000000000000000000000000000000000040b171e212a33373c404244454341403c37332a211f170c040000000000000000000000000000000000000000000000000000000000000000000004192d4255667075757575757575756b62513d291400000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3e3e3e3e3e3e3e3e3e3e3e3e3e38352c1e0e000000000000000000000000162b40556b808a8a8a8a8a8a8a8a8571626e7c848b9395989a9896938d867e73645c4c402f2111000000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3f3f3f3f3f3f3f3f3f3f3f3f3b372e2111000000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c36282828221f180c00000000000000000e1e2b39454b5b636e767c828588969eb29d87837e776e645c4c463a2b1e0f0100000000000000000000000000000000000000000000000000000000000000030a0c1115181a1b1c1b1a1814110b0903000000000000000000000000000000000000000000000000000000000000000000070d1920222a34373c3f434445464543423e39353026221b1008000000000000000000000005192b3b484d4f4f4f4f4f4f4f4f4e4a3d2d1a070000000000000000000000000000000000000000000000000000000000000000000000000c171f2933363a474c515557595a585755514c473a3733291f170c000000000000000000000000000000000000000000000000000000000000000000061b30455b70848a8a8a8a8a8a8a8a806b56412b1601000000000000182d42586d8297adc2d7e4cfbaa48f7a6553535353535353535353535353534d493c2c1906000000000000000000000013283d50626b757575757575757571674c5f676f777d80828483817e78726860554b3e2f221203000000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a6555555555555555555555555555504b3f2e1c080000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76614c3e3e3e3e37342a1c0c00000000000000000e1b28323d494e5761676d70738096a28d786d6962594f4a3e33291b0e000000000000000000000000000000000000000000000000000000000000050b0d161e21262a2d2f3031302f2d2a26211e160c0a0400000000000000000000000000000000000000000000000000000000040f1a212b34383b474c5154585a5b5b5a5857544e4b4336372e231c11030000000000000000000b20344859626464646464646464635b4a36210c0000000000000000000000000000000000000000000000000000000000000000000003111c293339464c545861676a6c6e6f6e6c6a666158554c473a332a1c100200000000000000000000000000000000000000000000000000000000000000061b30455b70859a9f9f9f9f9f9f96806b56412b1601000000000000182d42586d8297adc2d7e4cfbaa48f7a696969696969696969696969696969635b4935210c00000000000000000000000d213344505560606060606060605b56494d515962686b6d6f6e6c69635b534b44372e20120400000000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a655d4b37230e0000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b766153535353534c473a2a180400000000000000000a161e2c3539464c51575b6b8096a28d7762534c483b362e1f170b0000000000000000000000000000000000000000000000000000000000070d181f222932363c3f424445464544423f3b363228221f180c06000000000000000000000000000000000000000000000000000c171f2d363c484d555962666a6d6f70716f6e6c696460544f4b3f382f1e160a00000000000000000d22374d62787a7979797979797979634e39240e0000000000000000000000000000000000000000000000000000000000000000000816212f3a464c57616971777c8082838483817f7c76716a61584c473a2e201406000000000000000000000000000000000000000000000000000000000000061b30455b70859ab0b5b5b5b5ab96806b56412b1601000000000000182d42586d8297adc2d7ebd6c0ab96807e7e7e7e7e7e7e7e7e7e7e7e7e7e7e79634d38230e0000000000000000000000041526333d404a4a4a4a4a4a4a4a464238393b484d5356585a5856544e493d3531261910020000000000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7ecd7c1ac97817f7f7f7f7f7f7f7f7f7f7f7f7f7f7b65503b25100000000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6cbb6a18b76686868686868615947341f0a000000000000000000030f1a212933363c42566b8096a28d77624d38342a221b100400000000000000000000000000000000000000000000000000000000060f1a212a343739464b5154585a5b5b5b5a5754514b453837332a211a0f0500000000000000000000000000000000000000000002101c29333d4a4e5a626a71777b7f828485868583817e79746e645d504b3f32281a0c00000000000000162b40556b808f8f8f8f8f8f8f8f85715b46311c0600000000000000000000000000000000000000000000000000000000000000081626333f4c58616b767f868b919597999a989695918b867f766b61584b3e312414040000000000000000000000000000000000000000000000000000000000061b30455b70859ab0c5cacac0ab96806b56412b1601000000000000182d42586d8297adc2d7ecd8c4b09e969393939393939393939393939393917c67523c2712000000000000000000000000071521282b3535353535353535312e26242b34373e40434543413e38352c201d140900000000000000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7ecd9c5b19f979494949494949494949494949494806b56402b160100000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6d3bea9947f7d7d7d7d7d7e77614c37220c0000000000000000000000060b171e212b41566b8096a28d77624d3822180d0700000000000000000000000000000000000000000000000000000000010e19202d363b484c535761666a6d6f7071706f6d69666056524c473a352c20180d000000000000000000000000000000000000000412202d3a474c5b636e7880868b919498999a9b9a9897938e89837a70655d4b45382a1c0c000000000000162b40556b8095a4a4a4a4a4a49b86715b46311c060000000000000000000000000000000000000000000000000000000000000816263444515d65768089949b9fabaaacaeafadacaaab9f9b94898076645c4e423122120200000000000000000000000000000000000000000000000000000000061b30455b70859ab0c5dad5c0ab96806b56412b1601000000000000182d42586d8297adc2d7ece0cdbcb0aba8a8a8a8a8a8a8a8a8a8a8a8a8a7917c67523c271200000000000000000000000000040d131620202020202020201c19130d182022282b2d2f2e2c2923211a0e08010000000000000000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7ece1cebdb1acaaaaaaaaaaaaaaaaaaaaaaaaaa95806b56402b160100000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6dbc2ae9d9493939393938e79644f39240f00000000000000000000000000030a162b41566b8090908d78624d38220d000000000000000000000000000000000000000000000000000000000009141d2b353e4a4e5962686f767b7f828485868584827f7b756e6861584e493d342b1c130800000000000000000000000000000000041222303e4a58616c79838b959b9faba9adafb0b0afadaca9a79e988f857b6c6056473a2a1b0b0000000000162b40556b8095aab9b9b9b9b09b86715b46311c060000000000000000000000000000000000000000000000000000000000031626344451626b7b88969ea8b1b5bcc9c1c3c4c3c1c9bcb4b1a89e96877a68604e4030201000000000000000000004060a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a1b30455b70859ab0c5dad5c0ab96806b56412b1608060000000000182d42586d8297adc2d7ecebdbcdc4c0bebebebebebebebebebebebebca7917c67523c271200000000000000000000000000000000000b0b0b0b0b0b0b0b06040000050b0d1316181a1917140e0c060000000000000000000000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7ececdbcec5c1bfbfbfbfbfbfbfbfbfbfbfbfab95806b56402b160100000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6dbcbbbaea9a8a8a8a8a48e79644f39240f0000000000000000000000000000000e23384d63797b7a7b74604b36210b000000000000000000000000000000000000000000000000000000000b1926313c484d5c646f777d848a919497999a9b9a999794908a837d776e635b4d483b3025180b000000000000000000000000000002122230404d5c6476818c999faab0b5bcc9c2c4c5c6c4c3c1c5b9b3ada39b8d81756158473929170300000000162b40556b8095aac0cecec6b09b86715b46311c0600000000000000000000000000000000000000000000000000000000001121334451626c808d9da6b3b9c6cacfdad7d8d9d8d6d9cfcac6b9b4a59d8b7e685f4d3e2d18080000000000000912191b2020202020202020202020202020202020202030455b70859ab0c5dad5c0ab96806b56412b201d1b140b000000182d42586d8297adc2d7ecf9ebe0d8d6d3d3d3d3d3d3d3d3d3d3d3d1bca7917c67523c27120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7ecf9ece1d9d7d4d4d4d4d4d4d4d4d4d4d4c0ab95806b56402b160100000000000000000000000000000000000000000000000000000000001c31475c71869cb1c6d2d2cbc2bebdbdbdb9a48e79644f39240f0000000000000000000000000000000c2135495b63656565605645321e090000000000000000000000000000000000000000000000000000000e1b2937444b5a626d79848c93999fa9a9adafb0b0b0afaca9a99f99928b83796d62594a4336281b0e00000000000000000000000000102030404d5f677a87979faab4bbc8cacfdad7d9dadbdad8d6d6ccc9c1b5ab9f968576615746331e1200000000162b40556b8095aac0d5dbc6b09b86715b46311c06000000000000000000000000000000000000000000000000000000000b1b2e3f51626c81959fabb7c4ccd6dfe0ded9d6d4d5d9dfe2dfd6ccc3b7aa9f8d7d675c4a36261401000000000c1a262d303535353535353535353535353535353535353535455b70859ab0c5dad5c0ab96806b56413535322f281c0e0000182d42586d8297adc2d7ecfff5eae2dfdededededededededededed1bca7917c67523c2712000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c121415151515151515151515151515151515151515151515151515151512100a01000000182d42586d8297adc2d7ecfff3e8e0deddddddddddddddddddddd5c0ab95806b56402b160100000000000000000000000000000000000000000000000000000000001c31475c71869cb1bdbdbdbdbdbdbdbdbdb9a48e79644f39240f00000000000000000000000000000006192c3c494d5050504b45382816020000000000000000000000000000000000000000000000000002101e2c3a4655606b78828d999fabafb4bac7c2c4c5c6c5c4c2c7bab4aeab9f998c82776a605446392b1e0f01000000000000000000000a1a2d3e4d5f677d8b9da5b4bbc8ced9dfe3e0dedad7d4d5d8dbdee0ded1c9bcb5a39b8575614b40301a0a000000162b40556b8095aac0d5dbc6b09b86715b46311c06000000000000000000000000000000000000000000000000000000031628394b5d6b80959fb5bcc9d4e1e0d5ccc8c4c1bfc0c4c9cdd7e3e1d4c8bbab9f8a7a645443301c08000000091a2a3842454a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a5b70859ab0c5dad5c0ab96806b564a4a4a47443a2c1c0b00182d42586d8297adc2d7ecf5e5d8cec9c9c9c9c9c9c9c9c9c9c9c9c9bca7917c67523c27120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071520272a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a27251e13050000182d42586d8297adc2d7ecf3e3d5ccc8c8c8c8c8c8c8c8c8c8c8c8c0ab95806b56402b160100000000000000000000000000000000000000000000000000000000001c31475c71869ca8a8a8a8a8a8a8a8a8a8a8a48e79644f39240f000000000000000000000000000000000e1e2c35383b3b3b3632281a0a000000000000000000000000000000000000000000000000000010202e3c49586173808b989fabb5bcc9c9cdd7d7d9dadbdad9d7d7cdc9c9bcb4aa9f978a7f726157483c2d1f0f000000000000000000021527384a5c677d8c9fa9b7c3ced9e2e3dcd6ccc9c4c2bfc0c2c6c9d2dce7dacfc2b5a399836f5e4d382816020000162b40556b8095aac0d5dbc6b09b86715b46311c06000000000000000000000000000000000000000000000000000000091e324657657b8d9fb5bdcfdae3d6ccc5b8b3afaba9abafb4bac7cfd9e6d8c9baa99c8673604b36261401000012263848555b5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f70859ab0c5dad5c0ab96806b5f5f5f5f5d574b3a281400182d42586d8297adc2d7ecead8c7bab4b4b4b4b4b4b4b4b4b4b4b4b4b4a7917c67523c271200000000000000000000000000000000000000000000000000000000000000000000000000000000000000031525323b3f4040404040404040404040404040404040404040404040404040403d393023130100182d42586d8297adc2d7ece8d5c5b8b3b3b3b3b3b3b3b3b3b3b3b3b3ab95806b56402b160100000000000000000000000000000000000000000000000000000000001c31475c7186939393939393939393939393938e79644f39240f00000000000000000000000000000000000e192123252525211e160a00000000000000000000000000000000000000000000000000000d1d2e3e4b5b637683959fa9b5bcc9cfdadfe2e3dfdddbd9dbdddfe3e1ded9cfc8bbb4a99f948375625a4a3d2d1c0c0000000000000000091d314556647a8b9faabac7d4e2e7e0d1c8c5b9b3afacaaaaadb1b5c2c8d1dee3d1c1b3a1917c665645321e090000162b40556b8095aac0d5dbc6b09b86715b46311c060000020503010000000000000000000000000000000000000000000c21364b6175879dabbccfe3e1d4c5b9b3a79e9a9694969a9fa9b4bcc9d8e6d7c7b5a4927d675443301c080000192d425566707575757575757575757575757575757575757575757575849ab0c5dad5c0ab96807575757575726957442f1b00182d42586d8297adc2d7ece2cebaa99f9f9f9f9f9f9f9f9f9f9f9f9f9f9f917c67523c2712000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c2032434f54555555555555555555555555555555555555555555555555555555524d41301e0a00182d42586d8297adc2d7ece0ccb8a79e9d9d9d9d9d9d9d9d9d9d9d9d9d95806b56402b1601000000000000000000000000000000000000000000000000000000000012273c52677d7d7d7d7d7d7d7d7d7d7d7d7d7d7e77614c37220c000000000000000000000000000000000000060c0e1010100b090200000000000000000000000000000000000000000000000000000a1b2b3c4b5c64798699a1b4bac7cfdae3e0ded9cfcac8c6c4c6c8cacfdadee1e3d9cec7bab4a0988578635b4a3a2a1909000000000000000b20364b6075879ca9b8c4d2e0e3d5cbc0b4afa79e9a979495989ca4b0b4c0d1dedfd0bfb29d8775604b36210b0000162b40556b8095aac0d5dbc6b09b86715b46311c0c1215181a1916140f0d0700000000000000000000000000000000081c2e3f54697f94a5b6c9dae2d4c3b7a79e948984817f80848a969fabbbc8d8e5d2c2b29d8773604b35200b00001b30455b70858a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8b9aa2b4c8dddfcab59f8d8a8a8a8a8a87725d47321d00182d42586d8297adc2d7ecdfc9b49f8b89898989898989898989898989898a7c67513c27120000000000000000000000000000000000000000000000000000000000000000000000000000000000000012273b4f61696a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a675f4d39251000182d42586d8297adc2d7ecdec8b39e8988888888888888888888888888887f6a553f2a150000000000000000000000000000000000000000000000000000000000001025394d5f676868686868686868686868686868615947341f0a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008182839485a647a899ca4b3bfced8e3e1d6ccc8c9bcb4b3b0afb1b3b5bcc9c9ccd6e2e2d7cdbfb2a39b887963594737271502000000000000091d314556677d8b9ea6b5c2d0d0c5b8b3a29a928985827f8083868f9aa2b4c0d1e3dfcab7a5917c67513727150200162b40556b8095aac0d5dbc6b09b86715b46311f21272a2d2f2e2b2924221b100a04000000000000000000000000000e23374b5d72879cb1c3d3e7d5c4b7a59d897f766f6c6a6b6f77818d9faabbcee2dfcab7a58f7a644f3a240f00001b30465b70859b9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9faab4c0d1e4e3cfbcab9f9f9f9f9f9d87725d48321d00182d42586d8297adc2d7e4cfbaa48f7b747474747474747474747474747474675f4d39241000000000000000000000000000000000000000000000000000000000000000000000000000000000000000142a3f54697f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7d67523d271200182d42586d8297adc2d7e4cfbaa48f7b73737373737373737373737373736a61503c28130000000000000000000000000000000000000000000000000000000000000a1d30414d5253535353535353535353535353534c473a2a1804000000000a0f111515151515151513100b010000000000000000000000000000000000000000000000000000000000000000000013253645576278889da7b6c2d0e2e5d7cdc5b8b3adab9f9d9b9a9b9d9fabadb3b9c6ced8e5e1cfc1b5a69d8777615544311d12000000000000021527384d5f677b889ca4b3bfc0b3a69e91857d756f6d6a6b6d717a849aa2b4c8dce6d4c3ad98836e5544311d0800162b40556b8095aac0d5dbc6b09b86715b462933363d40424443413e39362d221f180c01000000000000000000000010253a50657a8fa4b6cacacacbb8a69d87786a615756545658616b7c8c9fb4c3d4e6d4c3aa95806a55402b1500001b30465b70859bb0b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4bbc8d1deefecdac9bcb5b4b4b4b29d87725d48321d00182d42586d8297adc2d7e4cfbaa48f7a655f5f5f5f5f5f5f5f5f5f5f5f5f5f514d41301d0a000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e33495e7388959595959595959595959595959595959595959595959595959595836f59442f1a00182d42586d8297adc2d7e4cfbaa48f7a655e5e5e5e5e5e5e5e5e5e5e5e5e55504333200d00000000000000000000000000000000000000000000000000000000000001122330393c3e3e3e3e3e3e3e3e3e3e3e3e3e3e37342a1c0c00000004121d24272a2a2a2a2a2a2a28251e13050000000000000000000000000000000000000000000000000000000000000000071c3043546075859ba6b8c5d3e0ded1c7bab4a79e97918b88868486888b91989ea8b4bac7d2dfdfd2c4b7a59a8473604b413019090000000000000a1a30414d5d64788699a1b0b3a29a887c70676056575555585d6574849ab0c2d3e5dec9b49e8975604b36200b00162b40556b8095aac0d5dbc6b09b86715b463a464c5255575a5856544e4a3e37342a1c140800000000000000000000152a40556a7f95aac2b5b5b5c6b39e8878635a4b46393f3a474c5e697f94a5b7cadfdbc5b09b86705b38271502001b30465b70859bb0c5cacacacacacacacacacacacacacacacacacacacaced8e6effcf7e7dacfcacacac7b29d87725d48321d00182d42586d8297adc2d7e4cfbaa48f7a654f4a4a4a4a4a4a4a4a4a4a4a4a4a3c3930231201000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e33495e73889eaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa99836f59442f1a00182d42586d8297adc2d7e4cfbaa48f7a654f4848484848484848484848483f3c332515030000000000000000000000000000000000000000000000000000000000000005121d25272828282828282828282828282828221f180c00000000122230393c3f3f3f3f3f3f3f3d3a31231300000000000000000000000000000000000000000000000000000000000000031628394a60728298a3b5c4d5e3dccfc0b4a99f9589827b7573716f7173767c8289969fa9b5c1d0dde2d4c3b4a297816c5f4d372715020000000000001323303f4b5a627583969ea29a8377665e524b45383f403f4b5662778ca4b6cadee1cdb9a88d78624d38230d00162b40556b8095aac0d5dbc6b09b86715b4b4f5861676a6d6f6e6b69645c554c473a3026180c000000000000000000192e43586e8398a0a0a0a0a0a0a8947e695a493c32282a2a33404b6074879db2c7dcdec8b39e89735645311d09001b30465b70859bb0c5dadfdfdfdfdfdfded6d6d6d6d6d6d6d6d6d6d6d6dddfe7f2fffef0e5dedbd6d6c7b29d87725d48321d00182d42586d8297adc2d7e4cfbaa48f7a654f3a34343434343434343434343427241d120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e33495e73889eb3bfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfae99846f59442f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a33333333333333333333332a28201507000000000000000000000000000000000000000000000000000000000000000000010a101213131313131313131313131313130c0a04000000000a1d30404d5155555555555555524e41311e0e000000000000000000000000000000000000000000000000000000000000091e324657687e93a0b2c1d2e2dbcebeb2a29a8b80766d6660565b5a5c5761666d76818b9ba3b3bfcfdce1d1c0b19f917c675544311d0b0000000000000513202e3c4857617280939b847462594c403632282a2b2e38485972879cb1c7dce9d7c6a48f7a654f3a251000162b40556b8095aac0d5dbc6b09b86715b5d646d767c7f828483807e79726a61594b43362a1c0d00000000000000001c31465c71858a8a8a8a8a8a8a8a8976614c3c2c1e1615171f3144556b8095aac0d5e0ccb8a78b74604b36200b001b30465b70859bb0c5daf0f4f4e4d7cdc9c1c1c1c1c1c1c1c1c1c1c1c1c8cbd4e2f2f0dfd2c9c6c1c1c1b29d87725d48321d00182d42586d8297adc2d7e4cfbaa48f7a654f3a251f1f1f1f1f1f1f1f1f1f1f120d0d0d0c09030000000000000000000000000000000000000000000000000000000000000000000000000000000000001e33495e73889eb3c8d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4c4ae99846f59442f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a251e1e1e1e1e1e1e1e1e1e150d0d0d0c0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f24394d5e666a6a6a6a6a6a6a685f4e3c2c19060000000000000000000000000000000000000000000000000000000004182a3a4b6175889db3becfdfdfcebdb1a09884786b6157514b45384539464b5158616b788599a1b2becfe0decebdb29c8774604b3929170300000000000002101e2b394654606b7e87766156473b30211e1615151d31445570859ab0c5dae6d1bca7917c67523c271200162b40556b8095aac0d5dbc6b09b8671616c7a828a929597999896938e877f77686054473a2b1d0d000000000000000b20354b6074757575757575757574615746331e0e03000415273750667b90a5bbd0e8d5c5a28c77624d37220d001b30465b70859bb0c4d4e4f4e9d7c6b9b4acacacacacacacacacacacacb3b7c4d4e7e5d2c1b5b1acacacac9d87725d48321d00182d42586d8297adc2d7e4cfbaa48f7a654f3a25222222222222222222222222222222211e160b00000000000000000000000000000000000000000000000000000000000000000000000000000000001e33495e73889eb3c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0ae99846f59442f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a252222222222222222222222222222221f180c00000000000000000000000000000000000000000000000000000000000000040a0c1d1d1d1d1d1d1d1d1d1d1d1d1d1d1c1a130a00000011273c51667c7f7f7f7f7f7f7f7d685a4935200d000000000000000000000000000000000000000000000000000000000a1f3447596a7f95a6b7cbdce3d1c1b19f978274625a4b46393632282f2832363a474c5a63758398a0b2c2d2e4dfcab6a5937e695746331e0a00000000000000000e1b2936434b606875615847382a1d120b171f27313f4b6074899eb4c9dee6d0bba6917b66513c261100162b40556b8095aac0d5dbc6b09b867175818d989fa9aaacafadaba9a49c95897e736158483c2b1d0d000000000000081d314455606060606060606060605546392917000000000e24394e63798ea3b8ceead8c8a28d78634d38230e001a2f44596f8399a6b7c6d7e7e1cdb9a89e9696969696969696969696969da6b7cbdfdec9b5a39b969696969687725d48321d00182d42586d8297adc2d7e4cfbaa48f7a654f3a373737373737373737373737373737373632281b0b000000000000000000000000000000000000000000000000000000000000000000000000000000001e33495e73889eababababababababababababababababababababababababab99846f59442f1a00182d42586d8297adc2d7e4cfbaa48f7a654f3a37373737373737373737373737373737332a1c0c00000000000000000000000000000000000000000000000000000000000c181f223232323232323232323232323232312e271b0d000011273c51667c919494949494948c78624d3b2a18050000000000000000000000000000000000000000000000000000000c22374c6177899eb4c4d5e7d6c5b4a397816d6056483c3329211e161a161e2129333c495761728298a4b5c6d7e6d3c3b39e8876614b36210d0000000000000000000b182630424e556055473a2a1a131c20293337444b5d697e93a8b9cde1e6d4c3a48f7a654f3a251000162b40556b8095aac0d5dbc6b09b857787979fabb4bac7c2c4c3c0c2b6b1a79e938576625a483b2b1909000000000001142637444b4b4b4b4b4b4b4b4f554c463a2917040000000f24394f64798ea4b9cee2cebbaa8b76614c36210c000d22374c6277889da8b9c9dadec9b49e8a818181818181818181818181889db3c8dddbc6b19b858181818181806a55402b1500182d42586d8297adc2d7e4cfbaa48f7a654f4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4b46392816030000000000000000000000000000000000000000000000000000000000000000000000000000001e33495e7389959595959595959595959595959595959595959595959595959595846f59442f1a00182d42586d8297adc2d7e4cfbaa48f7a654f4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4c473a2a18040000000000000000000000000000000000000000000000000000000c1c2a333748484848484848484848484848484743392b1b0a000b20354a6073869caaaaaaaaaa97816c5947341f0b0000000000000000000000000000000000000000000000000000071a2d3d566b8095a8b9cce2e0ccb8a79b8574604b45382b1e170b09020003090c171f2c3946546075869ca8bacde1e0cbb8a6947f6a543b2b180500000000000000000008141c3137444b44372a1c212530353a464c55606a7b8b9fb4c6d7e9dfcab6a58d77624d38220d00162b40556b8095aac0d5dcc7b29c87879ca5b5bcc9cdd7d7d9d8d5d3cac5b8b3a29b867862594837261401000000000009192631353638454b515460646a615846331f11060009182a3a51667c91a6bbd1dfcab49f8a75604a35200b000b20344859647a8a9eabbccfe1cdb9a8957f6c6c6c6c6c6c6c6c6c6c70859ab0c5dad5c0ab96806c6c6c6c6c6a62503c281300182d42586d8297adc2d7e4cfbaa48f7a65626262626262626262626262626262626262615746321e09000000000000000000000000000000000000000000000000000000000000000000000000000000152a40556a7f8080808080808080808080808080808080808080808080808080807d68523d281300182d42586d8297adc2d7e4cfbaa48f7a656262626262626262626262626262626262615847331f0a000000000000000000000000000000000000000000000000000004182a3a474c5d5d5d5d5d5d5d5d5d5d5d5d5d5d5c564939271300071c304354687d92a5b7bfc8b49f8a77624c3a291704000000000000000000000000000000000000000000000000000c21364a5b72879db2c6d6e7d5c4b39e897762564532281a0e0300000000000000040e1b2836455763788a9fb4c5d6e7d5c4b09b8671594834200b000000000000000000000113192731363127212d3636434a50586169747f8c9fa9bacde4f2dcc7b29d87725a4834200b00162b40556b8095aac0d5dfcab6a59c9ca4b6c3cec9c7c5c6c9ccd6dbded6ccc0b4a49c8777625544311d0e000000000003172939464c525660666c747a8076614c3e2e211a131c263447596c8297acc1d7ddc8b39d88735443301c070005182b3b4a5c667c8d9fb5beced7c6b59f8d7d675c5757575757575b70859ab0c5dad5c0ab96806b5757575755504333210d00182d42586d8297adc2d7e6d1bba6917c7777777777777777777777777777777777777775614b36210c00000000000000000000000000000000000000000000000000000000000000000000000000000013283c50616a6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b685f4e3a251000182d42586d8297adc2d7e6d1bba6917c77777777777777777777777777777777777777614c37220c00000000000000000000000000000000000000000000000000000a1f334758617272727272727272727272727272716756432e1a00001325364b6074879db2c5cdbaa995806b5846331f0a000000000000000000000000000000000000000000000000000e24394e63798ea5b6cae4e0cbb7a6947f6a59483827150a00000000000000000000000b182839495a6b8096a7b9cce0dfcab59f8b77624d37220d00000000000000000000000009151d202832363d4a4e5460656c767e86959faabac7d7eae4d0c0ac97826d573c2b190500162b40556b8095aac0d5e6d3c3b6b2b1b6c2c7bab4b2b0b1b4b9c6c6cfe0e0d1c2b6a59a8473604b3d2c1a06000000000a1e33465761686e757b82888f95806b5c4b3f352c253037444c61778a9eb4c9ded9c3ae99836e593625130000000d1d2d3e4c5e6a7f94a0b1c0d1cfbcab9f8b7a645948394141455b70859ab0c5dad5c0ab96806b56414141403c3325150400182d42586d8297adc2d7ecd3bfac9b918c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c7e69533e29140000000000000000000000000000000000000000000000000000000000000000000000000000000d2033435055565656565656565656565656565656565656565656565656565656524e41311e0b00182d42586d8297adc2d7ecd3bfac9b918c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c85705a45301b00000000000000000000000000000000000000000000000000000c22374c6176878787878787878787878787878786715c47311c0000081d314455697e93a7b8ccc7b39e8976614c38281602000000000000000000000000000000000000000000000003162839556a7f94aac3d3e6ddc8b39d8875604b3b2b1a0a000000000000000000000000000a1b2c3c4c6176899eb3c9dee3cfbcab937e68533625130000000000000000000000021019273139454b535b636b737a828a939ca4b4bbc8d7e5e9d7c6b3a28e79644e39240f0000162b40556b8095aac0d5eae1d3cac7c6c1b5b0a99f9c9b9c9ea8aeb2beccd6e0d3c3b4a2957f6a5b4935210e000000000c21364c61757d838990979da69f8b7a655d4e493d36434a55606e8298a8b9cde1d2c2a9947e69543f291400000000102030404f616d8297a2b4c3d3c9baa99d88786257463626455b70859ab0c5dad5c0ab96806b56412c2c2b282115070000182d42586d8297adc2d7ecdbc9b9aca6a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2937e69533e2914000000000000000000000000000000000000000000000000000000000000000000000000000000031525333c404040404040404040404040404040404040404040404040404040403d3a3123130100182d42586d8297adc2d7ecdbc9b9aca6a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a29a85705a45301b00000000000000000000000000000000000000000000000000000d22374c62778c9d9d9d9d9d9d9d9d9d9d9d9d9d89745e49341f0000021527374b6075889eb3c6ccb9a8947f6a5645321e090000000000000000000000000000000000000000000000091e32465771869bb0c6dbe7d4c4aa95806a5745321d0d0000000000000000000000000000000e1f3347586c8196abc6d6e8dac9af99846f5443301c070000000000000000000715202e37444b576068707980888f979ea8b1b6c2ced8e6e9e1cdb9a89a846f5c4a36220d0000162b40556b8095aac0d5eaf1e6d9c9bcb4a39b918a878587899098a0b3b9c5d6e2d1c0b49f8c79634e3c2b19050000000f24394f64798e999fa8acb3b7a99e8a7b6d635b5a58546065738196a0b2c6d6dec9b5a48e79644f39240f0000000002122232434b6074849aa5b6c5d6c7b7a69b857561544330455b70859ab0c5dad5c0ab96806b56412b1715130d04000000182d42586d8297adc2d7ece7d7c9bfbbb7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a8937e69533e2914000000000000000000000000000000000000000000000000000000000000000000000000000000071b2d3e4a4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4e493d2c1a0600182d42586d8297adc2d7ece7d7c9bfbbb7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7af9a85705a45301b00000000000000000000000000000000000000000000000000000d22374c62778ca1b2b2b2b2b2b2b2b2b2b2b29e89745e49341f000000091e3245576a7f95a8b9cdc6b39d8875604b37261401000000000000000000000000000000000000000000000c21364b61768b9fb5cadfdfcbb7a68e79644f3928160000000000000000000000000000000004172a3a50657b90a8b9cce1dec9b49f8974604a35200b0000000000000000081625333e4b556069757d858e969da6acb4b9c6cad3e2eae5d7cdbbb49e8a79634d3e2d1b070000162b40556b8095aac0d5eaf5e3cfbcab9f94857c76727071757b83909ea7b9c6d6e2cebbaa97826d5a4835200b0000000b20364b60758a9fb4bac6c8c7b9a89e8c827973706d6f747b85969fb0becfe4d4c4b19c86715c4a36220d000000000004151d3145566176879ca7b9c8d5c4b5a3998372604b41455b70859ab0c5dad5c0ab96806b56412b1601000000000000182d42586d8297adc2d7ecf5e7dbd3d1ccccccccccccccccccccccccccccccccbea8937e69533e29140000000000000000000000000000000000000000000000000000000000000000000000000000000d22364a5c64646464646464646464646464646464646464646464646464646464635b4935210c00182d42586d8297adc2d7ecf5e7dbd3d1ccccccccccccccccccccccccccccccc5af9a85705a45301b00000000000000000000000000000000000000000000000000000d22374c62778ca1b7c7c7c7c7c7c7c7c7c7b39e89745e49341f000000031628394c6176899eb4c7cbb8a6937e685544311d08000000000000000000000000000000000000000000000f24394f64798eabbccfe3ddc8b29d88735c4a361b0a00000000000000000000000000000000000c20364b6075899eb4c9dee1cdbaa98d78624d38220d000000000000000816263443505c64747e88929ba3abb2b7c4c9cdd7dee5e7e0d2c7bab49d927e685b49352010000000162b40556b8095aac0d5eae5cebdb49f8d7f726761575b5560656e7b899ea8b9cde1d9c8b49f8b78624d38220d000000091d32455671869bb1c6d7ddd6c6b9aa9f988e8885828488909ba3b0bdcddcdac9b7a6927d68523e2d1b070000000000000215273847586379899eaabbced2c1b3a195806b5f4e3f5b70859ab0c5dad5c0ab96806b56412b1601000000000000182d42586d8297adc2d7e5e5e5e5e5e5e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1d3bea8937e69533e29140000000000000000000000000000000000000000000000000000000000000000000000000000000f24394f647979797979797979797979797979797979797979797979797979797a79634e38230e00182d42586d8297adc2d7e5e5e5e5e5e5e1e1e1e1e1e1e1e1e1e1e1e1e1e1dac5af9a85705a45301b00000000000000000000000000000000000000000000000000000d22374c62778ca1b3b3b3b3b3b8c5d5dcc9b39e89745e49341f000000000a1f3347586b8196a9bacec4b29d8774604b3520120000000000000000000000000000000000000000000012273c52677c91a7c9daecd9c3ae99846e593e2d1b000000000000000000000000000000000000091d31455670859ab0c5dae9d7c7a5907b65503b2610000000000000031626344451616a7a87939da6b0b5c1c8cbd4dee1e9e5ded5cbc2b5a99f927f69604e3c2c1902000000162b40556b8095aac0d5ead7c7b19f927d6960544b4639444b505d65798a9eb4c2d2e2cebbaa95806a553a291704000002152838576d8297acc2d7ece4d6c8bbb4ada69d9a98999da6b0b4c1cddbe3cfbcab9d8774604b36201000000000000000000a1a2a3a495b657b8c9fb4bdcdcfbfb09e927d685d4b5b70859ab0c5dad5c0ab96806b56412b1601000000000000182d42586d8297adc2d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0bea8937e69533e29140000000000000000000000000000000000000000000000000000000000000000000000000000001e33495e73888f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f836f59442f1a00182d42586d8297adc2d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0c5af9a85705a45301b00000000000000000000000000000000000000000000000000000d22374c62778c9e9e9e9e9e9ea7b8c6d6c9b39e89745e49341f0000000004172a3a4d62778b9fb4c9cab6a5927d6752402f1d0900000000000000000000000000000000000000000013283e53687d93a8bdd2e8d6c1ac97816c57422c1700000000000000000000000000000000000002152738586e8398adc3d8e6d1bca6917c67513c27120000000000001121334451636c7f8c9ca4b3b7c4c9d1dddfe6e8e0ded2c9c4b8b3a49c8b7e69614f42311e0e00000000162b40556b8095aac0d5e2cdbaa997826d5f4a4336322931353f4c5b677d92a4b5c9ded8c8b09b85705847331f0a00000013293e53687e93a8c8d8eaf4e6d8cecac4b7b2afadafb3b8c4c8d1dfdfcebfb59f8d7b655645311d090000000000000000000c1c2c3d4c5d687e939fb0bfd0cdbcb49f8b7b655a5b70859ab0c5dad5c0ab96806b56412b1601000000000000182d42586d8297adbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba8937e69533e29140000000000000000000000000000000000000000000000000000000000000000000000000000001e33495e73889ea4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a499836f59442f1a00182d42586d8297adbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaf9a85705a45301b00000000000000000000000000000000000000000000000000000c22374c6177898888888888888fa8b9cdc9b39e89745e49341f00000000000c203448596d8297abbccfc3b19c86715e4c382410000000000000000000000000000000000000000000142a3f54697f94a9bed4e9d4bfaa957f6a55402a1500000000000000000000000000000000000000172c41566c8196abc1d6e7d2bda8927d68533d2813000000000009192f3f50626c81949faab6c3cbd5dde4ebe3dfd6ccc8c2b5b1a69e93867968604f433223130000000000162b40556b8095aac0d5dfc9b49f8a77624c4130251e161d202f3d4d5f71869cb1c6dbdfcab49f8b76614c37210c0000000f243a4f64798faabbcee2f7eee3dcdad4cbc8c5c2c4c8cbd5dddfd4cbbdb1a096806b5d4c38271502000000000000000000000f1f2f3f4e606c8196a1b3c2d2cebaa99e8978625870859ab0c5dad5c0ab96806b56412b1601000000000000182d42586d8297a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5937e69533e29140000000000000000000000000000000000000000000000000000000000000000000000000000001e33495e73889eb3b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9ae99846f59442f1a00182d42586d8297a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a59a85705a45301b00000000000000000000000000000000000000000000000000000b1f3447596173737373737374899eb4c9c9b39e89745e49341f000000000005182b3b4e63788c9fb4cac9b5a4907b66513f2e1b080000000000000000000000000000000000000000152a3f546a7f94a9bfd4e9d4bfa9947f6a543f2a1500000000000000000000000000000000000001162b41566b8096abc0d5e8d2bda8937d68533e281300000000011527374c5d6b80959fb4bbc8d3e0e7e7dfd9cfcac5b8b3aca49c93887e73635b4e42322414050000000000162b40556b8095aac0d5d7c2ad98826d5948341c13080308111f314153687d93a8c5d6e2cebbaa917b66513c26110000000b21364b60758a9fb4cadfeeded1c8c5c2c9cdd7d7d9dbd9d7d3cac4b7b29f978274604b3f2f1a0a000000000000000000000001112131424b60738399a4b5c5d5c7b8a79c86766170859ab0c5dad5c0ab96806b56412b1601000000000000182d42586d8290909090909090909090909090909090909090909090909090909090907e69533e29140000000000000000000000000000000000000000000000000000000000000000000000000000001e33495e73889eb3c8cececececececececececececececececececececec4ae99846f59442f1a00182d42586d829090909090909090909090909090909090909090909090909090909084705a45301b000000000000000000000000000000000000000000000000000004182a3b474c5e5e5e5e5e5f74899eb4c9c9b39e89745e49341f0000000000000d2135495b6e8398aec0d0c2b09a85705d4b37220f000000000000000000000000000000000000000014293e53697e93a8bed3e8d6c1ab96816c56412c1700000000000000000000000000000000000003182d43586d8298adc2d7e7d1bca7927c67523d271200000000081d314455657b8d9fb5bdced8e6e9e1d4cbc9bcb4afa79e978f867d756860554a3d31241406000000000000162b40556b8095aac0d5d2bca7927d67523b2a1800000000011323384d62788da7b9cce0d9c8a8937e68533e2913000000091e32455671869cb1c6dbe3d1c0b4b0adb4bac7c2c5c5c3c1c3b6b2a69d9281726056453121110000000000000000000000000003141d3144556175869ca6b8c7d5c5b6a49a837370859ab0c5dad5c0ab96806b56412b16010000000000000e24394e63797b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b77624d38220d0000000000000000000000000000000000000000000000000000000000000000000000000000001e33495e73889eb3c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c4ae99846f59442f1a000e24394e63797b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b79644f3a240f0000000000000000000000000000000000000000000000000000000c1d2a343749494949495f74899eb4c9c9b39e89745e49341f000000000000061a2c3d4f647a8ea2b3c7c8b4a28f7a654f3d2d1a070000000000000000000000000000000000000012283d52677d92a7bcd2e7d8c3ad98836e583c2b19050000000000000000000000000000000000071a2d3d5a6f859aafc4daebd9c8a6907b66513b2611000000000b20354b6074879dabbccfe2eae4d6cdc4b7b2ab9f999189817a716860574b44372d1f130600000000000000162b40556b8095aac0d5ceb8a38e79634e39240e00000000000b2035485a74899eb3c9ded5bfaa95806a55402b1500000002162838586d8297adc2d7dcc8b4a29a989fa9aaadafb0aeaca9a59c95887d6c6054453827150300000000000000000000000000000114263746576278889ea9bacdd3c2b3a1968170859ab0c5dad5c0ab96806b56412b16010000000000000c21364a5b636666666666666666666666666666666666666666666666666666666666625a4835200b0000000000000000000000000000000000000000000000000000000000000000000000000000001e33495e73889eb2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2ae99846f59442f1a000c21364a5b6366666666666666666666666666666666666666666666666666666666645c4a36220d000000000000000000000000000000000000000000000000000000000c181f2233333334495f74899eb4c9c9b39e89745e49341f000000000000000e22364a5c6f849aafc1d1c0ae99846f5b4a36210e0000000000000000000000000000000000000010253a4f657a8fa4c3d4e6dbc6b19c86715a4835200b00000000000000000000000000000000000d21364a5c73889db2c8dde2cebbaa8e79634e39230e0000000316283852677d92a5b6c9daece2d4c6b9b4a69d958b847c756c645c534b45393127190f010000000000000000162b40556b8095aac0d5ccb7a18c77624c37220d000000000006192b3c5d72879cb2c7dcd6c1ac97816c57422c170000000014293e53697e93a8c8d9dac5b09a84828a9295989a9b9997948e877f75675f4b4336271a0a0000000000000000000000000000000009192939485a647b8b9fb4bcccd0bfb09f937e849ab0c5dad5c0ab96806b56412b1601000000000000071a2d3d4a4e50505050505050505050505050505050505050505050505050505050504d483c2b19050000000000000000000000000000000000000000000000000000000000000000000000000000001e33495e73889d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d99836f59442f1a00071a2d3d4a4e505050505050505050505050505050505050505050505050505050504f4a3e2d1b070000000000000000000000000000000000000000000000000000000000040b0c1e1e1f34495f74899eb4c9c9b39e89745e49341f00000000000000071b2d3e50657b90a3b5c9c7b3a18e79634e3c2c19060000000000000000000000000000000000000c22374c61778ca5b7cadfdec9b5a48d78624d38221200000000000000000000000000000000011527374e64798ea6b7cbdfdfcab49f8a75604b36200b000000091e3245566f859aafc3d4e7e6d4c4b7a89e94887f786f6760564f4b3e3632281d150900000000000000000000162b40556b8095aac0d5ccb7a18c77624c37220d000000000006192b3c5d72879cb2c7dcd6c1ac97816c57422c17000000000f253a4f647a8faabbcedbc5b09b8670767d8082858684827f79726a61574d413026180a0000000000000000000000000000000000000b1b2b3c4b5d677d929eafbecfcdbdb49f8b899eb3c8ded5c0ab96806b56412b1601000000000000000f1f2d36393b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b38352b1e0e000000000000000000000000000000000000000000000000000000000000000000000000000000001c31465c7185878787878787878787878787878787878787878787878787878787826d57422d1800000f1f2d36393b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3a362d2010000000000000000000000000000000000000000000000000000000000000000000090a1f34495f74899eb4c9c9b39e89745e49341f00000000000000001023374b5d70859bb0c2d0bfad98826d5a4935200d0000000000000000000000000000000000000a1f34475972879db2c7dde5d2c2a8937e685340301909000000000000000000000000000000081d3144556a7f94aac4d4e7dbc6b19b86715645311d090000000b21364b60768a9fb4c9dfead8c8b7a69d8a7f756a625a514b4538372e21221f180c0000000000000000000000162b40556b8095aac0d5ceb8a38e79634e39240e00000000000b2035485a74899eb3c9ded5bfaa95806a55402b15000000000b21364b60768a9fb4cadec9b49f8a7561686b6d70706e6c69635b554b4639301c140800000000000000000000000000000000000000000e1e2e3f4d5f6b8095a0b2c1d2cebbaa9f9ea7b8cce0d5c0ab96806b56412b160100000000000000010f1a212426262626262626262626262626262626262626262626262626262626262220190e00000000000000000000000000000000000000000000000000000000000000000000000000000000001a2e435667717272727272727272727272727272727272727272727272727272726d63523f2a160000010f1a21242626262626262626262626262626262626262626262626262626262624221b1002000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f0000000000000000081c2f3f51667c91a4b6cacab49f8b78624d3b2a1805000000000000000000000000000000000004182a3a566c8196abc5d6e8dbc6b09b85715e4d3727150200000000000000000000000000031628394b6074879cb2c7dce6d4c3aa957f6a55382715020000000f243a4f647a8fa9bacde2e2cebbaa9d88786a60564d483c363228222a3437342a1d1406000000000000000000162b40556b8095aac0d5d2bca7927d67523b2b1805000000001325364d62788da7b9cce0d9c8a8937e68533e291300000000091e32455671869cb1c6dbcdbaa98e79635255585a5b5957544e493d3632281b130100000000000000000000000000000000000000000000102030414a60728298a3b5c4d4c8bbb4b3b8c5d5e8d5c0ab96806b56412b1601000000000000000000070c0e11111111111111111111111111111111111111111111111111111111110d0b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000013263949565c5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d57524535230f00000000070c0e111111111111111111111111111111111111111111111111111111110f0d070000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f0000000000000000001120354a6073869cb1c3cebbaa97816c5948341f0b00000000000000000000000000000000000010253b50657b90a7b8cce0ddc9b5a3917c665544311d1300000000000000000000000001141e324557687d92a4b6cadedfcab7a58e79644e39240f0000000011263c51667b91a6c7d7eadfc9b49f8b79635a4b4538342b201d212e3b474c473b312414050000000000000000162b40556b8095aac0d5d8c2ad98826d5948342014080308111c304354687e93a8c5d6e2cebbaa917b66513c26110000000003162838586d8297adc2d7d7c7a7927d68524043454644423f39362c211e161b15130d03000000000000000000000000000000000000000002131c3043546074859ba6b7c6d7cecac8ccd5e3ebd5c0ab96806b56412b16010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091b2b394346484848484848484848484848484848484848484848484848484848423f3527170600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f000000000000000000071c304354687d92a5b7cbc8b49f8a77624c3a29170400000000000000000000000000000000000b20354b6074899eb3c9dae4d2c1b19c8674604b41311c130800000000000000000009141d32424b6075879db2c3d3e6d8c7b29d87725c4a36210d0000000012283d52677d92a7bcd2e7dac5b09b85705b4a3c322820191920303f4b5961594e423123130500000000000000162b40556b8095aac0d5dfc9b49f8a77624c4130261e171d202f3d4a6073869cb1c6dbdfcab49f8b76614c37210c000000000014293e53697e93a8c9d9d6c1ac96816c5737263031303030303030303030302a2820150700000000000000000000000000000000000000000013253645566277879da8b9c9d9dfdee0e8f3ebd5c0ab96806b56412b1601000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000610161820202020202020202020202020202020202020202020202020202020201e1c150c000000000d1b262e313232323232323232323232323232323232323232323232323232322d2a2317090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f000000000000000000001325364b6074879db2c5cdbaa995806b5846331f0a0000000000000000000000000000000000081d3144556d8298abbccfe3decab6a496816c5f4e41302518110a03000000040a11192631424f616d8298a6b7cbe1e2cebaa996816c563d2d1a070000000011263c51667b91a6bbd0e6d6c1ac96816c573e2f272424272c35404d5d657768604e4131231304000000000000162b40556b8095aac0d5e2cdbaa997826d604b433633293135404c5b687d92a4b5c9ded8c8b09b85705847331f0a00000000000f253a4f647a8fabbccfdac5b09b8570554445454545454545454545454545403c332515030000000000000000000000000000000000000000081828384859647a8a9eabbccfe3ecf5fbffebd5c0ab96806b56412b16010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000917232a2d35353535353535353535353535353535353535353535353535353535353330291e100000000009131a1c1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d18160f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f00000000000000000000081d314455697e93a7b8ccc7b39e8976614c3828160200000000000000000000000000000000011527374e64798c9fb5c7d7e5d3c2b19f927d685f4a43362e211e17161416171f212f37444b60697f93a0b2c4d4e6d6c6b49f8b78624d38230f00000000000f243a4f64798fa4c3d4e6d9c3ae99836e5c4c403c3a3a3c3c494d5f677b897e685f4e41302212040000000000162b40556b8095aac0d5ead7c7b19f927e6960544b4639444b505e66798a9eb4c2d2e2cebbaa95806a553a29170400000000000c21364b61768b9fb4cadec9b49f8975605b5b5b5b5b5b5b5b5b5b5b5b5b5b55504333200d0000000000000000000000000000000000000000000a1a2b3b4a5c667c8d9fb4becedeeeffffebd5c0ab96806b56412b16010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061727353f424a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a48453b2e1e0c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f00000000000000000000021527374b6075889eb3c6ccb9a8947f6a5645321e0900000000000000000000000000000000000921364a5c6d8298a9bacde2e0cebdb49f8c7d6b60544b3f3633292b292b293337404c55606c7e8c9fb4becfe2e1ccb9a896816c5a4935200c00000000000d22374d62778ca5b6cadfdfcab49f8c7a665e55514f4f51545a626e7c8a9e8d7e685f4d403022120300000000162b40556b8095aac0d5eae5cebeb59f8d7f736761575b5560656e7b899ea8b9cde0d9c8b49f8b78624d38220d000000000000091e32465771879cb1c6dccdbaa88e797070707070707070707070707070706a61503c2813000000000000000000000000000000000000000000000d1d2d3e4c5e697f949fb1c0d1e1f1ffebd5c0ab96806b56412b1601000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010233545525860606060606060606060606060606060606060606060606060606060605e584c3b29150000000000000000000000000003090c111416181a1a1816110c0a040000000000000000000000000000000000000000000000000000000000000000060c0d15151515151515151515150e0c07000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f0000000000000000000000091e3245576a7f95a8b9cdc6b39e8875604b3727150100000000000000000000000000000000071a2d3d4d62788b9fb4c2d3e3e2cebbaa9f928072655d524c4639403f403a474c525e667381939faabbcedce2d2c1b39e8977614c3c2c190600000000000b2034485972879db2c7dce2cebbaa9e8a7c726a6664646669707883919fa89f8d7d675e4d402f211100000000162b40556b8095aac0d5eaece3cfbcab9f94857c76727071757b83909ea7b9c6d6e2cebbaa97826d5a4835200b00000000000003162839586d8298adc2d7d7c6b19c868585858585858585858585858585857f6a55402a150000000000000000000000000000000000000000000000102030404f616d8297a2b4c3d3e3f3ebd5c0ab96806b56412b16010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000162a3f52636d7575757575757575757575757575757575757575757575757575757575736a5845301c00000000000000000000040a0c161e2126292b2d2f2f2d2b27211f170c0700000000000000000000000000000000000000000000000000000000000e1920232a2a2a2a2a2a2a2a2a2a2a23211a0f0100000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f0000000000000000000000031628394c6176899eb4c7cbb8a6937e685544311d0800000000000000000000000000000000000f2035485a6b8196a4b6c5d6e6d8c8bbb49e95857b6f67615758565456585861676f7b86969fb4bbc8d9e5d4c4b5a3947f6a5847331e0e00000000000005182b3b566b8196abbfd0e5d8c8b9a89e90867f7c79797c7f858d99a1b4baab9f8c7d665e4c402f1a0a000000162b40556b8095aac0d5eaf1e6dac9bcb5a39b918a878587899099a1b3b9c5d6e1d1c0b49f8c78634d3c2b19050000000000000014293e54697e93a9c9d9dec9b6a49c9a9a9a9a9a9a9a9a9a9a9a9a9a9a98826d58432d18030000000000000000000000000000000000000000000002122232434b6073849aa5b6c5d6e6e5d5c0ab96806b56412b16010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000182d42586d828a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a88735e48331e0000000000000000020c171f212832363c3e4042444443413c37332a201c130800000000000000000000000000000000000000000000000000000e1e2c35383f3f3f3f3f3f3f3f3f3f3f39362d1f0f00000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f0000000000000000000000000a1f3347586b8196a9bacec4b29d8774604b362513000000000000000000000000000000000005192b3c4c6176869ca7b8c8d8e6d8cebcafa39b8f847c76706d6b696b6d70767d84909ca4b0bdced9e6d7c7b7a69b8574604b3a2a1800000000000000000f243a4f647a8fa1b3c7d7e6d6c6b9b4a49c94918f8f91949ba3aeb3bfc9bbaa9f8c7c665e4c382715020000162b40556b8095aac0d5eae1d3cac7c6c1b5b1aa9f9d9b9c9ea8aeb2bfccd6e0d3c3b4a2957f6a5b49351e0e000000000000000010253a4f657a8fabbccfe3d3c2b6b1b0b0b0b0b0b0b0b0b0b0b0b0b0ad98826d58432d1803000000000000000000000000000000000000000000000004151d3144556176879ca7b9c8d8d0d0c0ab96806b56412b16010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000182d42586d82979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9d88735e48331e000000000000000a151d29333639464b515456585a595856514c473a353025180e0000000000000000000000000000000000000000000000000e1e2c3c494d55555555555555555555554e4a3d2d1a07000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f0000000000000000000000000417293a4d62778b9fb4c9cab6a5927d675443301c0700000000000000000000000000000000000e1e3346576378899eaabbcdd7e5e2ccc1b5b0a199928a8582807e8082858b929aa2b1b6c2cde2e4d6c9baa99d8877625645321c0c00000000000000000d22374b5c6e8399a9bacde1e4d6cdc2b6b1aaa6a4a4a6a9b0b4c1c7cfd8c8bbaa9f8b7c655645311d090000162b40556b8095aac0d5e6d3c3b6b2b1b5c2c8bbb4b2b0b1b4b9c6c6cfe0e0d1c2b6a59a8472604b3c2c190000000000000000000c21364b61768b9fb4cadfe0d3c9c6c5c5c5c5c5c5c5c5c5c5c5c5c2ad98826d58432d18030000000000000000000000000000000000000000000000000215273747586379899eaabbbbbbbbbbab96806b56412b16010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000182d42586d8297adb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b39d88735e48331e0000000000010f1a28323a464c52576166696b6d6f6f6d6b666158514a43362c1e12040000000000000000000000000000000000000000000e1e2c3c495a626a6a6a6a6a6a6a6a6a6a6a635b4a36210c000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f000000000000000000000000000c203448596d8297abbccfc3b19c8673604a352010000000000000000000000000000000000003172939495a657b8c9fb4bac7d4e2dfd2c9bfb3aea99f9a98959495989a9faaafb4c0c9d3e0e1d4c6b9ab9f8b7a645948382816000000000000000000071b2e3e4d63788b9fb4bbcdd7e5e1d3cac7bfbbb9b9bbbec5c8d1dbe7dacfc1b5a49c8775604b36200b0000162b40556b8095aac0d5dfcab6a59c9ca4b5c3cec9c7c5c6c9cdd7dbded5ccc0b4a49c8777625443301e0e0000000000000000000a1e32465772879cb1c7dce5e5dedcdadadadadadadadadadadad7c2ad98826d58432d18030000000000000000000000000000000000000000000000000009192a3a495b657b8c9fa5a5a5a5a5a596806b56412b16010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2cacacacacacacacacacacacacacacacacacacacacacacac8b39d88735e48331e0000000002101f2c38454b5861686e767b7e8082848482807c776f666054493c2f221203000000000000000000000000000000000000000e1e2c3c495a62787f7f7f7f7f7f7f7f7f7f7f79634e39230e000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f0000000000000000000000000005182b3b4d63788c9fb4cac9b5a4907b66513f2e1b0800000000000000000000000000000000000b1b2c3c4b5d687e929fa9b7c4d1dfe4ddd0c7c7bab4afadaba9abadb0b4bbc8c7d0dee5dfd1c3b6a89e8d7d675c4a3b2b1a0a00000000000000000000102035495a687e939db4bac7d2dfe3dedcd4d1ceced1d4dbdde2dfd1c9bcb5a39b8678625645311d090000162b40556b8095aac0cacac7b29c87869ca4b5bcc9cdd7d7d9d8d5d3cac5b8b3a29a86786259483626140000000000000000000003162939586d8398adc2d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0c2ad98826d58432d180300000000000000000000000000000000000000000000000000000c1c2c3d4c5d687e8f90909090909090806b56412b16010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7dfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfddc8b39d88735e48331e0000000110202e3d4956606a767d838a9193959799999896918b847b72635a4c402f21110000000000000000000000000000000000000e1e2c3c495a627887949494949494949494948272604a35200b000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f00000000000000000000000000000d2135495b6e8398aebfd0c2b09a85705d4b37220f0000000000000000000000000000000000000e1e2f3f4e60687d8b9da6b4c1cad4e0e3dbd8cec9c5c2c0bec0c2c5caced8dce3e0d3cac0b4a59d8a7c675f4d3e2e1d0d000000000000000000000006192c3c4e606a7f939fa9b5c1cacfdadbdddfe2e1dedcdad7cdc9c0b4ab9f978577625a49382715020000162b40556b8095aab5b5b5b5b09b857786979fabb4bac7c1c4c3c0c2b6b1a79e9284766259483b2b1808000000000000000000000014293f54697e94a9c9bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbad98826d58432d18030000000000000000000000000000000000000000000000000000000f1f2f3f4e60687a7b7b7b7b7b7b7b79634e38230e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7ecf8eadfd8d5d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c8b39d88735e48331e0000000f1f2e3e4a5b63747f8992999fa9a9abadafaeadabab9f9a908578665e4c3f2f1c0c000000000000000000000000000000000e1e2c3c495a6278879da5aaaaaaaaaaaa9f978172605443301c07000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f000000000000000000000000000006192c3c4f64798ea1b3c7c8b4a28f7a654f3d2d1a07000000000000000000000000000000000000112131424e5f677a889ba3b2b7c3ccd6dee1e2dfdad7d5d3d5d7dadfe2e0ded5cbc3b6b2a29a8779665e4d41302010000000000000000000000000000e1e31424f616a7e8a9ba3aeb5bcc9c6c8caceccc9c7c5c7bab4aea29a8d82756159493c2b1a0a000000162b40556b80959f9f9f9f9f9f9b867175818d989fa9aaacafadaba8a49c95897d726158483b2b1d0d00000000000000000000000010253a50657a8faba5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a598826d58432d180300000000000000000000000000000000000000000000000000000001112131424e5d6566666666666666635b4935210c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7eceadacdc3c0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb39d88735e48331e000008182c3d4a5c647986949ea7aeb4bac7c0c2c4c4c2c9bcb5afa29a8a7c665d4c3a2a180400000000000000000000000000000e1e2c3c495a6278879da5b7c3bfbfbdb19f97817260544336251300000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f0000000000000000000000000000000e22364a5c6f849aafc1d1c0ae99846f5c4a36210e00000000000000000000000000000000000003142431414d5c647785929da5b3b8c5c9cdd6dadddfe3ebe2dfddd9d6ccc9c4b8b3a59c918476635b4c40302313020000000000000000000000000000142432434f6069798590999fabacb1b3b4bbb9b4b2b0aca99f9991857a6d6157473a2b1e0e00000000162b40556b808a8a8a8a8a8a8a8a8571616c7a828a919497999896938e867f77686054473a2b1d0d000000000000000000000000000c21364b61768d90909090909090909090909090909090909090909090826d58432d180300000000000000000000000000000000000000000000000000000000031424313f4b50505050505050504e493d2c1a06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7ecdfcdbcb0aba8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89d88735e48331e0001142636495b647a899ba3b3b9c5c9cdd7d5d3d1d1d5dacfcac0b4a89e8b7b655947341f0c000000000000000000000000000e1e2c3c495a6278879da5b7c3d4cebdb19f9781726054433625180800000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f000000000000000000000000000000071b2d3e50657b90a3b4c8c7b3a18e79644e3c2c1906000000000000000000000000000000000000061423303e4a5962737d87949ea7aeb4b9c6c4c8cacfd9cecac7c4c5b9b3ada69e93877c6f61584a3d3022130500000000000000000000000000000006152532424f5b63727b848c92979c9e9faaa89e9c9a97918a847c70645c4b46392a1c0e000000000013283d50626b757575757575757571674b5d646d767c7f828483807e79716a61584a43362a1c0d00000000000000000000000000000a1e334657657b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b79634e39240e0000000000000000000000000000000000000000000000000000000000000614212e373a3b3b3b3b3b3b3b38352c1f0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7ecd8c3b09e959292929292929292929292929292929292929288735e48331e00081c30435463798a9ea7b5c2ccd6d5cbc8c1bebcbcbfc7cad4d1c6b9a99e8977614c3a2a180400000000000000000000000e1e2c3c495a6278879da5b7c3d4cdbdb19f968172605443362518080000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f000000000000000000000000000000001023374b5d70859bb0c2d0bfad98826d5a4935200d000000000000000000000000000000000000000513202d3b48546067757f8992989ea8acafb2b4bcb6bbb4b2afaba79e9891887e74675f4c473a2d1f12040000000000000000000000000000000000071524323d495460656f787d8286888a8b8b898785827c766f675f4f4a3e32291b0c0000000000000d213344505560606060606060605b56494b4f5761676a6c6f6e6b69635b554c473a3025180c000000000000000000000000000000031729394b5d6566666666666666666666666666666666666666666666635b4a36210c0000000000000000000000000000000000000000000000000000000000000003111c23252626262626262623211a0f0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7ead5c0ab95807d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c67523d2712000b20354b6073869ca8b7c4d2d4cbc4b7b3aca9a6a7aab2b7c3d2d7c7b8a797826d5847331f0a000000000000000000000e1e2c3c495a6278879da5b7c3d4cdbdb09f96816c60544336251808000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f00000000000000000000000000000000081c2e3f51667c91a4b6cacab49f8b78634d3b2a18050000000000000000000000000000000000000002101d2b36434b566069767d838990969a9d9faba1aa9f9d9a969089837c766960554d41332a1c0f010000000000000000000000000000000000000006141f2c36434a505a62676c71737576767472706d666157514d40362d1e160b00000000000000041526333d404a4a4a4a4a4a4a4a4642383739464c5255575a5856534e4a3d37332a1c130800000000000000000000000000000000000b1b2f3f4b50505050505050505050505050505050505050505050504e4a3d2d1a07000000000000000000000000000000000000000000000000000000000000000000080e10111111111111110e0c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a68686868686868686868686868686868686868675f4d39251000081c304354667c8a9da6b5c1c4b7b2a69d96939191959da5b5c1d2d5c5b49f8b77614c37220c0000000000000000000e1e2c3c495a6278879da5b7c3d4cdbdb09f96816c634a433625180800000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f00000000000000000000000000000000001120354a6073869cb1c3cebbaa97816c5948341f0b0000000000000000000000000000000000000000000d18263038454b5861676e757b8185888a8b8c8b8a8884817b756e6761574b4437301f180c00000000000000000000000000000000000000000000010f182530353c484d52575c54606160575d5b57514b46393930221b1003000000000000000000071521282b3535353535353535312e26222933363c3f424443413e39362d221f180c000000000000000000000000000000000000000011212f373b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b39362d1f0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a65535353535353535353535353535353535353524d41301e0a00011426364c5e667a879ba3b2b3a69d9188817e7c7c80879ba3b5c9ddcebbaa937e68533e281300000000000000000e1e2c3c495a6278879da5b7c3d4cdbdb09f96816c635245302518080000000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f0000000000000000000000000000000000071c304354687d92a5b7cac8b49f8a77624c3a29170400000000000000000000000000000000000000000008141c28323a464c525660666c6f737576777675726f6c656055524b463931271912040000000000000000000000000000000000000000000000000008131c202b35383d4236434a4c4b453945423c363228241d1207000000000000000000000000040d131620202020202020201c19130b171e21272a2d2f2e2b2924211a0f0a0400000000000000000000000000000000000000000003111c23252626262626262626262626262626262626262626262624211a0f010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101618202020202020202020100e08000000000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3930231301000008182f404c5c64778599a1a199877c746c6967676a75859bb0c6dbd8c8ad97826d58422d18000000000000000e1e2c3c495a6278879da5b7c3d4cdbdb09f96816c635245341c1308000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f0000000000000000000000000000000000001325364b6074879db2c5cdbaa995806b5846331f0a00000000000000000000000000000000000000000000010a161e29333638454b51575a5d57606160565d5a56504b44373632291d15090000000000000000000000000000000000000000000000000000000000070e192022282d25303536363228302d27211e160b0a0000000000000000000000000000000000000b0b0b0b0b0b0b0b06040000030a0c1215171a1916140e0c070000000000000000000000000000000000000000000000000000080e10111111111111111111111111111111111111111111110e0c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000917232a2d35353535353535353525221b100200000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2828282828282828282828282828282827251e13050000000012222f3d4a596275839699837666605554515257697e93a8bed3d9c4af9a846f5a452f1a0000000000000e1e2c3c495a6278879da5b7c3d4cdbdb09f96816c6351453427170000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f000000000000000000000000000000000000081d314455697e93a7b8ccc7b39e8976614c382816030000000000000000000000000000000000000000000000020b171f212832363b414539454b4c4b453845413b363127211e160b020000000000000000000000000000000000000000000000000000000000000000050b0d1217131c2021211e161b18110c090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061727353f424a4a4a4a4a4a4a4a4a3a372e211000000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2513131313131313131313131313131312100a01000000000004121f2d3b4857607280867561584b44494d54606b8095abc0d5dbc6b09b86715b46311c00000000000e1e2c3c495a6278879da5b7c3d4cdbdb09e96816c635145342717090000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f000000000000000000000000000000000000021527374b6075889eb3c6ccb9a8947f6a5645321e0900000000000000000000000000000000000000000000000000040a0c151d20262c30283236373632282f2c26201d150c0a0300000000000000000000000000000000000000000000000000000000000000000000000000000000070b0c0b0903000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d0f0f0f0f0f0f0f0f0f0c0b0400000000000000000000000000000000000000060c0d131617191a181614100b0801000000000000000000000000000000001023354552586060606060606060604f4b3f2e1b08000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000000000000000000000000000000000010f1d2b394554606b7661574c52585b636a737d8b9fb4c9dfd9c4af9a846f5a452f1a000000000e1e2c3c495a6278879da5b7c3d4cdbcb09e96806c62514434261708000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f00000000000000000000000000000000000000091e3245576a7f95a8b9cdc6b39e8875604b3727150100000000000000000000000000000000000000000000000000000002090b11171a161e2122211e161a17100b0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002101b22242424242424242424221f180c000000000000000000000000000000050b0e192023282b2d2f2f2d2b2925201d1509090000000000000000000000000000162a3f52636d757575757575757575655d4b37220e000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000000000000000000000000000000000d1b2836434a5761575861686d72787f86929fa9bacee2d6c5ac97826d57422d180000000e1e2c3c495a6278879da5b7c3d4cdbcb09e96806c6251443426160800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f00000000000000000000000000000000000000031628394c6176899eb4c7cbb8a6937e685544311d0800000000000000000000000000000000000000000000000000000000000000020003090b0c0b09030001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090b101518191b1c1d1c1b1916110d0b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000010202d36393a3a3a3a3a3a3a3a37342a1d0c000000000000000000000000040e1920222c35383e4042444443413f3a353127241d1208000000000000000000000000182d42586d828a8a8a8a8a8a8a8a8a7a654f3a2510000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000000000000000000000000000000000041222303c494d5d656f767d82878d949ca4b4bac7d8e0ccb9a7927c67523d271200000b1b2c3c495a6278879da5b7c3d4cdbcb09e96806c625144342616080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f00000000000000000000000000000000000000000a1f3347586b8096a9bacec4b29d8774604b3625130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b0d161e21252a2d2e30323231302e2b272220180d0a04000000000000000000000000000000000000000000000000000000000000000000000000000000071b2d3e4a4f4f4f4f4f4f4f4f4f4c473b2a1804000000000000000000000c181f2b35383c494d535557595a5856544f4b4437382f231c110100000000000000000000182d42586d82979f9f9f9f9f9f9f8f7a654f3a2510000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000000000000000000000000000000000122230404d5a63707b848b92989da5a9b1b5c2ced8e2d1c0b39e8976614c36210c0003172939495a6278879da5b7c3d4cebeb09e96806b62514434261608000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f00000000000000000000000000000000000000000417293a4d62778b9fb4c9cab7a5927d675443301c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c0e141618191a181614110b0902000000000000000000000000060b0b0b0b0b0b0b0b0b0b0a000000000000000000000000000000070d1820222832363a3f4244454748464544413c37342b211f170c04000000000000000000000000000000000000000000000000000000000000000000000000000d22364a5c646464646464646464615947341f0b000000000000000003111d2a343c484d565a62686b6c6e6f6d6b69656055514c40372e1d1509000000000000000000182d42586d8297adb5b5b5b5b5a48f7a654f3a2510000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000000000000000000000000000000000000e1e30404d5e66788490999faaadb2b7c3c6c9d2e0d8cec0b4a2947f6a5846331f0a000a1e3346576278879da5b7c3d4dac5b1a096806b6251443426160800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f0000000000000000000000000000000000000000000c203448596d8297abbccfc3b19c8673604a3520110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d0f1a2124292b2d2e2f2d2b2926211e160b0802000000000000040a0c1b202020202020202020202013110b0200000000000000000004101b222b343738454b4f5457595b5c5d5c5a5956514d483b37332a1f170c0000000000000000000000000000000000000000000000000000000000000000000000000f24394f647a797979797979797a77614c37220c000000000000000614212f3b474c5a626b72787d8082848482807e7a756e665e504b3f3127190c0000000000000000182d42586d8297adc2cacacabaa48f7a654f3a2510000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000000000000000000000000000006192c3c4d5e667c8a9aa2afb4bbc8c7cad4dbdfd5ccc8bbb4a29a8474604b3a291704000c21364c6176889da5b7c3d4e2d7c2ad97826d625144342616080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f00000000000000000000000000000000000000000005182b3b4d63788c9fb4cac9b5a4907b66513f2e1c08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101b22242d36393e4042444543413f3b363228201d1509000000000c171f2131353535353535353535353528261e1306000000000000000c181f2e363b484d555660656a6d6e70717271706e6b666259544c473a33291c1103000000000000000000000000000000000000000000000000000000000000000000091e33495e73898f8f8f8f8f8f8f8f7e68533e2813000000000000061424313f4c59616c7880878d93959799999896948f89837b70655d4b44372a1c0c00000000000000182d42586d8297adc2d7dfcfbaa48f7a654f3a2510000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000000000000000000000000000000c2035495a667c8c9ea8b4c0caced8dcddd7cdc9c5b8b3aa9f968476615544311c0c00000a1e334657697f949daebbcbd9dec8b39e897a645c4a3e2d20100200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f000000000000000000000000000000000000000000000d2135495b6e8398aebfd0c2b09b85705d4b37230f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002101b222d36393d4a4e535657595a585654514b4538363127191206000c1c293337464a4a4a4a4a4a4a4a4a4a4a3e3a312413020000000003111d2a343e4a4f59626a70757a7f8283858787868583807c77726961584c473a2f2215070000000000000000000000000000000000000000000000000000000000000000091e33495e73889ea4a4a4a4a4a4937d68533e2813000000000003142432424e5d6577818b969ca4a8aaacaeafadaba9a79e9890857b6c6055473a2a1a0a000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000000000000000000000000000000006192c3c4d62788a9eaab9c6d1dfded5cbc8c7bab4aea79e978b8074615847372715000000031729394f61697f949daebbcbe0ccb8a79e897a645c4a3e2d201002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f0000000000000000000000000000000000000000000006192c3c4f64798ea1b3c7c8b4a28f7a654f3d2d1a07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014202d363e4a4f585b63696b6d6e6f6d6b69666056524b44372f21190e1c2a3a474c5b606060606060606060605f534e42311e0b0000000412212f3b474c5c646d777f858a8f9497999a9c9d9b9a9996918c877f776d61584c403325150600000000000000000000000000000000000000000000000000000000000000091e33495e73889eb3b9b9b9b9a8937d68533e28130000000000112132424f60697b89969fa9b1b6c2c0c1c3c4c2c0c5b9b3ada29b8f8173615847382816020000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000000000000000000000000000c2035495a6e8399a8b9c8d7e0d2c9c5b8b3aca99f99918881796b6055473a2a1909000000000b1b32434f61697f949daebbcbd5c5b8a79e897a645c4a3e2d2010020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f00000000000000000000000000000000000000000000000e22364a5c6f849aafc1d1c0af99846f5c4a36210e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131c313e4a4f5c646d73797e8082838482807e7b756e6760554c40352c1e2b3a47586170757575757575757575757568604e3a26110000001222303f4b59616f7a828b959a9fa9a9acaeb0b1b2b1afaeaba6a59c948a8276665e504333241404000000000000000000000000000000000000000000000000000000000000091e33495e73889eb3c8cecebda8937d68533e2813000000000c1c2e3f4f60697e8c9ea7b4bac7cad3d5d7d9d9d7d5d6ccc9c0b4b09f978476615645321e130000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000000000000000000000000000e23384d63788c9fb5c6d6e0d2c2b5b1a69e97918a837c756c635b4b44372a1c0c000000000000142532434f61697f949daebbcbd5c5b8a79e897a645c4a3e2d20100200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f0000000000000000000000000000000000000000000000071b2d3e50657b8fa3b4c8c7b3a18e79644e3c2c19060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008182530424e5c646f7a82888e939597999a9896949089837c74665e4d493c2f3b48596176858a8a8a8a8a8a8a8a8a8a8d7d68533e281300000a1d30404d5d6577838f989faab0b4bac7c2c3c5c6c7c6c5c3c0c3b6b2a99f97887c6a615042312212000000000000000000000000000000000000000000000000000000000000091e33495e73889eb3c8ddd2bda8937d68533e28130000000417293a4b5d697e939faab9c5ced8dedfd9d3d0d0d2d7dee0ded1c8bdb1a29a8574604b42311a0a00000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000000000000000000000000000000014293e54697e93abbccfe4d2c2b5a49c9088827c766e6660564e493d3127190c0000000000000007142532434f61697f949daebbcbd5c5b8a79e897a645c4a3e2d201002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f0000000000000000000000000000000000000000000000001023374b5d70859bb0c2d0bfad98836e5a4935200d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000132536434a60687a848e989ea6a8abacaeafadaba9a89e9891867c6f635b4c4048596277859ba39f9f9f9f9f9faa9f8c7d68604e3a261100000f24394d5e667b8899a1adb4bbc8c9ced8d7d5d3d1d0d2d6d8d5d3cac7bab4a69d907f6a604e402f1a0a0000000000000000000000000000000000000000000000000000000000091e33495e73889eb3c8ddd2bda8937d68533e28130000000a1f334758657b8b9fb4bbc8d6e2dacfcac4bebbbabcc2c8ccd6e3ddcec0b4a397826d604e38281602000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000000000000000000000000003192e43586e8398adc9dadec9b5a49c867b746d66615751584f4b3f311d150900000000000000000007142532434f61697f949daebbcbd5c5b8a79e897a645c4a3e2d2010020000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f000000000000000000000000000000000000000000000000081c2e3f51667c91a4b6c9cab49f8b78634d3b2a18050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091c304354606d7e8b99a1adb3b8c4c0c2c3c4c2c0c6b9b4aea49c908479665e4f5a6277869ba3b5c1b5b5b5baa99f8c7d675f4e42311e0b000011273c51667c8c9da6b3bfc9ced8d8cec9c4bfbdbbbbbdc1c7cad3ded7cdc4b7b29d937e685e4c3828160300000000000000000000000000000000000000000000000000000000091e33495e73889eb3c8ddd2bda8937d68533e2813000004172a3a4c6176889daabbced9dfd2c9bcb5afa9a6a5a7acb3b8c5cddbded0c1b1a0927d685645321e09000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100f0d0b090200000000000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000000000000000000000000051a30455a6f859aafc4dadbc6b19c8674666055514b56606e655d4e423127190d00000000000000000007142532434f61697f949daebbcbd5c5b8a79e897a645c4a3e2d20100200000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f000000000000000000000000000000000000000000000000001120354a6073869cb1c3bbbbaa97816c5948341f0b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009192f404a607281939faab3bfc8cbd5d5d7d6d5d7d5d6cdc9c2b6b1a199897c69616278879ca4b5c2d2d6c6b9a99f8b7c675f4d413124130200000c21364b6175869ca9bacddfd2c9c7bab4afaaa8a6a6a8abb2b6c3c9d3e1d4cbbbb49f8d7c665645321e0c00000000000000000000000000000000000000000000010305020000091e33495e73889eb3c8ddd2bda8937d68533e281300000a1f3347586b8095a6b8c8d8ded1c1b5ab9f9993909092979ea7b0bdcbd9dfcebeb29d8875604b36210f000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25242422211e16140e0c07000000000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000000000000000000000000061b30465b70859bb0c5dad4bfaa947f6a564b4b4e596274837b68604b44372a1d1002000000000000000007142532434f61697f949daebbcbd6c5b8a79e897a645c4a3e2d201002000000000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f00000000000000000000000000000000000000000000000000071c304354677d92a5a5a5a5a59f8a77624c37220d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011527374c5e6a7f959fb4bbc8d0ddd6ccc9c4c1c0c2c5cacfd9d3cabfb3a89e8d7f6d78879ca5b6c2d2d6c6b9a89e8b7c665e4d4130231306000000091e324657647a8b9fb4bfcac1b5b1a99f9a9593919192969ca4b1b6c2cfdddfcfbcab9d8775604b3a2917040000000000000000000000000000000000070d0f1416191a1715120c1e33495e73889eb3c8ddd2bda8937d68533e281300000c21374c6176899eb4c4d5e3d1c0b4a39b8d847e7b7b7d8289969faebacbdcdfcbb7a6937e69543d2d1a070000182d42586d8297adc2d7e4cfbaa48f7a654f3a3a3a39383632282a24211a0f0900000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000000000000000000000000004192e43596e8398aec3d8d8c3ae99836e636060636a7784988b7e6c6055473b2d201000000000000000000007142532434f61697f949daebbcbd6c5b8a79e897a645c4a3e2e2010020000000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f00000000000000000000000000000000000000000000000000001325364b60738790909090909090806b56412b16000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081d314455667c8d9fb5bdced8d5ccc5b9b3afacaaacb0b4bcc9ccd6d0c6b9ab9f9483889da5b6c3d3d5c5b9a89e8a7b665e4c403023130500000000031628394a5c697e93a1b3b6b2a39b918a85807e7c7b7d8187909ca4b3bfcfdfd9c9b7a6947f6a5846331f0a0000000000000000000000000000050b101b2224292c2e2f2d2a27211e33495e73889eb3c8ddd2bda8937d68533e2813000417293a546a7f94a8b9cce2d5c5b4a29a857a6f696665676d7681939caebecee5d4c4b29d88735b4a36210c0000182d42586d8297adc2d7e4cfbaa48f7a654f4f4f4f4f4d4b45383f39362d241d12070000000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000000000000000000000000001162b40566b8095abc2d3dbc6b2a197817875757980899aa29f93817462594a3e2d1b0700000000000000000007142532434f61697f949daebbcbd6c5b9a79e897a645c4a3e2e20100200000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f0000000000000000000000000000000000000000000000000000081d31445563797b7b7b7b7b7b7b7b654f3a25100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354b6074879cabbccfe2d3c5b8b3a79e9a9795979a9fabb3b8c5ced6c9bcb4a0989da6b7c3d3d5c5b8a79e8a7b655d4c40302212050000000000000b1b2d3e4f606e8399a5a59c91867c766f6a686666686c727b8699a1b3c0d1e5d4c4b39e8976614c36210c000000000000000000000000010d1820222e363a3f414344423f3c363229495e73889eb3c8ddd2bda8937d68533e2813000a1f33465870859ab0c6d6e0ccb8a79a8475645c5451505258616c7e93a0b1c7d7dfcbb7a68e79634e39240e0000182d42586d8297adc2d7e4cfbaa48f7a6564646464646260565a544e4a3d3830221b1002000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000000000000000000000000000f253a4f647a8fa4b6c9dacfbfb19f978d8a8a8e959ea7b4b49f978477645c4a36220d0000000000000000000007142532434f61697f949daebbcbd6c5b9a79e897a645c4b3e2e201002000000000000000000000000000000000000000000000000000000000000000000000000000a1f34495f74899eb4c9c9b39e89745e49341f0000000000000000000000000000000000000000000000000000011527374a5b6366666666666666655d4b37220e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005182b3b53687d92a5b6c9dad3c3b6a79e948984818082858b949ea7b1bdcdd7cfbeb2adb2b7c4d4d4c4b8a79e897a655d4b3f2f22120400000000000000000f2032424c6176879d99877c716761575553515153565e66758399a2b4c7d8e0ccb9a7927c6752362513000000000000000000000009141d2b34373e4a4f5456585a5755524b4639495e73889eb3c8ddd2bda8937d68533e2813000c21364c61768b9fb4cadfdec8b39e897762574a3e3b3b3a464c606d8297a9bacde1d4c4a9947f69543f2a140000182d42586d8297adc2d7e8d2bda8937e7a79797979797776746f69635b514c40362d2013050000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000000000000000000000000000d22374b5c71869cabbccfdfcebdb1aca99f9fabaab3b8c5bdb1a29a877a644f39240f000000000000000000000007142532434f61697f949daebbcbd6c5b9a79e897a645c4b3e2e201002000000000000000000000000000000000000000000000000000000000000000003090b13131f34495f74899eb4c9c9b39e89745e49341f00000000000000000000000000000000000000000000000000000009192d3d4a4e505050505050504f4b3f2e1b0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2034485971869bb1c3d3d9c9b6a49c897f766f6c6b6d70777f89979fb4bac7d7cfc6c2c8cbd4d4c4b7a69d897a645c4b3f2f21120400000000000000000001141f334758657b8b8376665e514b46393e3c3c3d404c576173849ba9bacee2d6c5ad98826d5443301c070000000000000000000d1926313b484c555c64696b6e6f6c6a6761574f4a5e73889eb3c8ddd2bda8937d68533e28130011263c51667b91aabbcee2d4c3a9947f6a5947392d26262933424d62778a9fb4c9ded9c4af99846f5a442f1a0000182d42586d8297adc2d7ecd5c1ad9c938f8f8f8f8f8e8d8b89857f7971665e4f4a3e3123160800000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000000000000000000000000000081b2e3e50657b8d9fb5bccbd4cec5c7bab4b4bcc9c8ccd2c8bbb49f8c7c67523c271200000000000000000000000007142532434f61697f949daebbcbd6c5b9a79e897a645c4b3e2e2010010000000000000000000000000000000000000000000000000000000000000a161e2128282834495f74899eb4c9c9b39e89745e49341f000000000000000000000000000000000000000000000000000000000f1f2d36393b3b3b3b3b3b3b3a372e21100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d22374c62778ca3b5c9e3cfbcab9c86786a61575755575962697681929fa9bacde1dad8dddfd4c3b7a69d8879645c4b3e2e211103000000000000000000000004172a3a4b5d657a7261584c40363b3e40413f3d3a39465562788b9fb4c9dfddc8b39e8874604a35200b00000000000000000e1d2b37444b59626b727a7e818384827f7c766d645c5e73889eb3c8ddd2bda8937d68533e28130013293e53687e93a8c8d9dfcbb7a58d78624d3b2a1b111017203448596f8499aec4d9dcc6b19c87715c3727150100182d42586d8297adc2d7ecddcabaada8a4a4a4a4a4a4a2a89e9a948e867c71645c4e4134261606000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000000000000000000000000000001023374b5d6b80969eb2b7c4c9d2d8cec9cacfd9cfcac2b5aa9f937e695f4d3925100000000000000000000000000007142532434f61697f949daebbc8c8c5b9a79e8a7a645c4b3e2e1f0f00000000000000000000000000000000000000000000000000000000000a1a2832363e3e3e3e495f74899eb4c9c9b39e89745e49341f00000000000000000000000000000000000000000000000000000000010f1a21232626262626262625221b100300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013283d52687d92a7c2d2dfcab49f8c7a645a4b4639403b484c58616c7d8b9fb4c9def4edf2dfcab7a59d8879635b4a3e2e201003000000000000000000000000000c1c2e3f4b5d656054463a464c5053555654524f4b43485a6c8297acc7d7e0cbb8a68e78634e39230e000000000000000e1e2c3b485560697780878f9496989997949189827a6b6073889eb3c8ddd2bda8937d68533e281300152b40556a8095aabfd5ddc7b29d88725a48341d0d000005182b3b546a7f94a9bfd4ddc8b39e88735544311d0800182d42586d8297adc2d7ece8d8cac1bdb9b9b9b9b9b9c6b9b3afa9a39b91857a68605144342414040000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000000000000000000000000000000000081c2e3f51626b80919da6b1b5c2c0c2c4c3c1c9bcb4afa49c8c7f6a604f41301d0a000000000000000000000000000007142532434f61697f949db3b3b3b3b3b3a89e8a7a645c4b3d2d1a0700000000000000000000000000000000000000000000000000000003162838454b53535353535f74899eb4c9c9b39e89745e49341f000000000000000000000000000000000000000000000000000000000000070c0e11111111111111100e080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000162b40566b8095abc0d5d9c4af9a846f5c4a3c33292b2a343a474c5f697f94a9bed4e9fef2ddc7b29d8778635b4a3d2d20100200000000000000000000000000000010212e3f4b4f4a454b52586166686a6c6a676460544e50657a8fa9bacde2d5c5a5907a65503b25100000000000000e1e2c3c495962737e89959ca5a9abadafacaaa89e978c807473889eb3c8ddd2bda8937d68533e281300172c42576c8197acc1d6dbc6b09b86715b3c2b190100000013283d52687d92a7bdd2dfcab59f8a75604b35200b00182d42586d8297adc2d7ecf6e8ddd5d2cecececececed6ccc9c4c2b5b1a39b8b7d6b6251423222120000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000000000000000000000000000000000001121344451626b7c88939ca4a7abadafaeacaaab9f9a93867a6a6150423223120100000000000000000000000000000007142532434f61697f949e9e9e9e9e9e9e9e9e8a7b645b4a36210c000000000000000000000000000000000000000000000000000000091e3245566068686868686874899eb4c9c9b39e89745e49341f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000182d42576d8297acc2d7d4bfaa957f6a553e2d1e17162431414d5f677c8b9fb4c9dff4f4f2ddc7b29d877762564536251300000000000000000000000000000000000310212e37404d5660686f767b7d80817f7c7a746c635b60758a9fb4c9dfd1bca7917c67523c271200000000000a1a2c3c495a637785939ea8b2b6c3c0c3c4c1c6b9b4ab9f968576889eb3c8ddd2bda8937d68533e281300172c41566c8196abc1d6dcc6b19c87715544311d0800000013293e53687e93a8bdd3dfc9b49f8a75604a35200b00182d42586d8297adc2d7ecfff7ede7e5e0e0e0e0e0e0e8e1dedad2c9c1b5a99f92806b604f402f1a0a00000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000000000000000000000000000000000000316263444515e66767e868d92969899999795928b857e74645c504333241405000000000000000000000000000000000007142532434f61697f888888888888888888888779634e39240e0000000000000000000000000000000000000000000000000000000b21364b60757e7d7d7d7d7d7e8b9fb4c9c9b39e89745e49341f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0c1115181a1b1c1a181715100b09020000000000000000000000090b0b0b0b0b0b0b0b0b0b0b0b0400000000000000192f44596e8499aec3d9d3bea8937e69533e2914152432424e5f677d8c9fa9bacee2e1dee1dfcbb7a59b8574605443301c13020000000000000000000000000000000e1e2b3a464c5e66747d848a9093959694928f8881796b6072879db2c7dcd3bea9937e69543e29140000000002152738495a6378879ba3b3b9c6cad3d6d8d9d7d7cdc9bcb4a39a85899eb3c9ded2bda8937d68533e281300142a3f54697f94a9bed4dec9b49e8975604b35201305030d1c2f40566b8196abc0d6ddc7b29d88725443301c0700182d42586d8297adc2d7ecf3e5dad2cfcacacacacacbcdd1d8dfe2ded2c7bab49e937e695e4c38281603000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000000000000000000000000000000000000000000000000000008162634404d57616971787d81828484827f7d776f6860564a3e332515060000000000000000000000000000000000000007142532434f61697373737373737373737372635b4a36210c0000000000000000000000000000000000000000000000000000000d22374c62778c9393939393939fa9bacdc9b39e89745e49341f0000000000000000000000000000000000000000000000000000000000000000000000000000000000050b0d161e21262a2d2f30312f2e2c2a25211e160d0b050000000000080e101e202020202020202020202020190c0a0300000000192e43586e8398adc3d8d5c0ab96806b563f2f1c2532424f60687d8c9faabac7d8d7cdc9cdd7d4c3b5a3988272604a4130201000000000000000000000000000000e1e2b3c4858616f7c8792999faaa8aaaba9a7a69d968b807571869bb0c6dbd5c0aa95806b55402b1600000000091d3145566378889da5b5c1ccd6dfdfd6ccc8c6c5c7cacec1b4a29a9ea7b9cce0d2bda8937d68533e28130012273c52677c91a7c2d2e1cdb9a8907b655041302019161e2a3a4c5e72879cb1c7dcdbc5b09b86705b3625130000182d42586d8297adc2d7ece5d5c8bebab5b5b5b5b5b6b7bcc3caced9e5d7cdbcb49f8d7c665645321e0c000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000000000000000000000000000000000000816223039464b535a63676b6d6f6e6c6a686259534b45382d20150700000000000000000000000000000000000000000007142532434f545e5e5e5e5e5e5e5e5e5e5d4e4a3d2d1a070000000000000000000000000000000000000000000000000000000d22374c62778ca1a8a8a8a8a8b4bac7d7c9b39e89745e49341f000000000000000000000000000000000000000000000000000000000000000000000000000000070d181f222932363c3f424445464543413f3b3632282220180d080002101b2225333535353535353535353535352f211e160b000000172c42576c8197acc1d6dbc6b09b86715d4c3a2933434f60697e8d9faabbc8d8cfc7bab4bac7d5d1c1b2a095806a5f4d3e2e1e0e0000000000000000000000000a1a2b3c485a627684919da5afb4bbc8bfc1bfc4b7b2aa9f958676859bb0c5dad5c0ab95806b56402b16000000071b2d3e4b6074859ba6b7c3d2e1d9cecac5b8b3b1b0b2b4bbc8c0b4afb3b9c5d6e8d2bda8937d68533e2813000e24394e63798ea4b5c9ded6c6ae99836f5f4d40352b28323b4758667c91a4b6caded7c7ad98826d58432d180000182d42586d8297adc2d7ecdac8b7aaa5a0a0a0a0a0a0a2a6adb4bbc8d3e0e1cfbcab9d8875604b3a2917040000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000000000000000000000000000000000000004121b2933363c494d5256585a595755524c483b3631271a10020000000000000000000000000000000000000000000000071425323b3f494949494949494949494839362d1f0f000000000000000000000000000000000000000000000000000000000d22374c62778ca1b7bdbdbdbdc9cdd7d2c9b39e89745e49341f00000000000000000000000000000000000000000000000000000000000000000000000000060f1a212a343739464b5154585a5b5b5a585654504b453837342b221b1013212e373a494a4a4a4a4a4a4a4a4a4a4a4a443632291b0b000014293e53697e93a8c2d3ddc9b5a3907b65584738435061697e8d9fabbbc8d8cfbfb2a99fa9b8c4d5cfbeaf9e927d675c4b3c2b1b0b0000000000000000000002152838485a6278869aa1b2b6c3c9ced8d5d6d4d4cbc8bbb4a49b86869cb1c6dcd5c0ab95806b56402b160000000d22364a5c6b8096a3b5c4d4e1d4c8bbb4aca79e9c9b9d9faab2b6c3c5c9ccd6e4e8d2bda8937d68533e2813000c21364a5b71869cb1c6d7dbc7b3a1917d675e4d483c39464b596276879db2c2d3e1cdbaa9917c67513c27120000182d42586d8297adc2d7ecd2beaa99908b8b8b8b8b8b8d91989faab6c2d3e0d9c9b7a6947f6a5846331f0a0000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100000000000000000000000000000000000000000000000000000000000000b171e212c35383d4143444442403d37342a201d150a0000000000000000000000000000000000000000000000000000071420272a333333333333333333333224211a0f01000000000000000000000000000000000000000000000000000000000d22374c62778ca1b7bdbdbdbdbdbdbdbdbdb39e89745e49341f0000000000000000000000000000000000000000000000000000000000000000000000010e19202d363b484c535761666a6d6f70716f6d6c6a656056554d483b372e201d313f4b4f5e606060606060606060606060594b4639291603000e24394e63798ea4b6caded2c1b19c867661564850616a7f939fabbcc9d9cfbeb2a1998a9da6b8c7d7ccbcb49f8b7a645a4839291909000000000000000000091d3245566278889ca4b3bfcad4dfdcdacfcac8c7c9cdcec2b5a39b9ca4b5c9ded5c0ab95806b56402b160000061a2c3d4f647a8d9fb5c1d2e2d4c3b7aa9f978f898685878a929ca4b0bccce0e8f4e8d2bda8937d68533e281300071a2d3d546a7f94a8b9cde1d0bfb49f8a7c6c625a595857616877859ba5b7cae0d7c7b49f8a76614b36210c0000182d42586d8297adc2d7e5cfbaa5907b757575757576787c838c9ca4b6c2d3e7d4c4b39e8976614c36210c0000182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000000000000000000000000000000000000000000030a0e192023282c2d2f2f2d2a28221f180d090200000000000000000000000000000000000000000000000000000000030c12141e1e1e1e1e1e1e1e1e1e1d0e0c070000000000000000000000000000000000000000000000000000000000000d22374c62778ca1a8a8a8a8a8a8a8a8a8a8a89e89745e49341f0000000000000000000000000000000000000000000000000000000000000000000009141d2b353e4a4e5962686f767b7f828485868483817f7a75706a62594f4b3f3531414e5d65737575757575757575757575756e615746321e0a000b20354a6073879cb1c2d3decab6a49a84746259626b7f949db5bcc9dacebeb2a0988378889da9bacde2cdbaa99e88786257463726140100000000000000081b2e3f4b6074859ba6b6c2d0dfe0d0c7c9bcb5b3b2b4b9c6c7c1b5b0b1b5c2d2e5d5c0ab95806b56402b1600000c2135495b6e8398abbccfdfd4c4b7a59d8c827a74717072767d87969eafbbccddeee8d2bda8937d68533e281300000f22374c62778a9eb4c3d4e1cdbaa89f8d8178716e6d70767e889ba3b5c3d4e1cdbaa998826d5746321e0a0000182d42586d8297adc2d7e4cfbaa48f7a65606060606162676e79869ca4b6c9dae1ccb9a8927c67523726140100182d42586d8297adc2d7e4cfbaa48f7a654f3a251000000000000000000000000000000000000000000000000000000000000000000000060c0e1216181a191715130d0b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d22374c62778c9393939393939393939393939389745e49341f0000000000000000000000000000000000000000000000000000000000000000000b1926313c484d5c646f777d848a919497999a9b9a989694908a857f776e645d4d49444b60687b888a8a8a8a8a8a8a8a8a8a8a8a8376614b36210c00071c304354697e93a4b6c8d9d3c2b4a29a8478666c80959daebbcfdacebdb1a0988273647a8b9fb4bccdd7c7b8a69c8675615544311d14000000000000000e22374b5d6d8197a3b5c4d3e0d5ccc0b3afab9f9e9d9ea8a9b2b7c3c6c6c9d2e0ead5c0ab95806b56402b1600000e23394e63798c9fb5c9dadac9b7a69d877a6d6460545b5861687480959dafbfd0e3e8d2bda8937d68533e281300000b1f3448596a7f94a5b7cadfd7c6baab9f978d868383858a939da6b5c1d2e1d1c0b49f8a78624d392916030000182d42586d8297adc2d7e4cfbaa48f7a654f4b4b4b4b4d515b6376869cabbccfe3d6c6ad98836e5544311d0800182d42586d8297adc2d0d0cfbaa48f7a654f3a25100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080b141515151515151515151512100a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b21364b60757e7d7d7d7d7d7d7d7d7d7d7d7d7d7d68523d281300000000000000000000000000000000000000000000000000000000000000000e1b2937444b5a626d79848c93999fa9a9adafb0b0afadaba9a99f9a958b837a6f625a55606b7d8b9ea69f9f9f9f9f9f9fa99f928072615746321e0a00001325364b6074869caabbcee2d1c0b4a29a897b81959eafbccbe3cdbdb19f978273605c687d929eb0bfbcbcc4b5a4998373604b423118080000000000081c2e3f4f657a8f9fb1c1d2e2d5c5b8b3a29a918b8887898d939da5b0bccadee5f0ead5c0ab95806b56402b160005192b3b566c8196abbccfe3cfbcab9d8878645c4f4a433a474c55606b7f95a1b3c7dce8d2bda8937d68533e2813000005182a3b4b6075879db2becee1d7c9bcb4aca49c99989a9fa9b3b8c4d2dfd2c3b4a295806b5a48351b0b000000182d42586d8297adc2d7e4cfbaa48f7a654f3a363636383d4a58647a8d9fb5cadfdec9b39e8973604b35200b00182d42586d8297adbbbbbbbbbaa48f7a654f3a251000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141d20292a2a2a2a2a2a2a2a2a2a27251d13050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091e32455660686868686868686868686868686868604e3a251100000000000000000000000000000000000000000000000000000000000002101e2c3a4655606b78828d999fabafb4bac7c2c4c5c6c4c2c1c7bab4b0aa9f988f847869617380929fa9b8c4b5b5b5c1b5a69d8b7d6b605446392916030000081d324556657b8c9fb4bbcdd7d1c0b4a79e90969eb0bcccdacdbdb09f97817260554e5f6b8096a1a6a6a6a6a6a6a196816c604e36251300000000000e23374b5d6f849aafbdcedfd5c5b8a79e90847c76737274787e87959eadbacadbebead5c0ab95806b56402b16000b2034485971879cb1c9dadfcab59f8d7b65594a3e35302a3337444b60728499afc0d1e3d2bda8937d68533e28130000000d1e324556667c919fb1c3d4e7d9cfcac2b5b1aeadafb4bac7cbd5ddcec1b5a59a8474604b3c2b1900000000182d42586d8297adc2d7e4cfbaa48f7a654f3a252021232d3a4a5c6f8499afc4d9e1ccb9a88c77624d37220d00182d42586d8297a5a5a5a5a5a5a48f7a654f3a2510000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009192631353e3f3f3f3f3f3f3f3f3f3f3c39302314070000000000000000000000000000000000000000000000000000000000000000000000000000000000000003162838454b5353535353535353535353535353524e41311e0b00000000000000000000000000000000000000000000000000000000000010202e3c49586173808b989fabb5bcc9c9cdd7d7d9dadbd9d8d6d8cec9c8bbb4ada19a8a7f7784969eb4bac7d5caccbfb2a39b887a675f4a4336291b0b000000021528384b5d697e939db4bac7d3d1c5b8b3a6abb0bdcddacdbcb09f968172605444414b607283919191919191919191917e685443301c070000000013253650657a8fa2b4c8dbdac9b8a69e897c6f6761575d5a62697480939cadbdcee3ead5c0ab95806b56402b16000d22374d62788ca4b6cae7d7c7ae99836f5d4b3b2d201c171f2731435464798ea2b4c8dcd2bda8937d68533e2813000000021628384c5e6d8297a5b7c9d9ebe3dfd2c9c6c3c2c5c9cdd7ddd1c8beb1a39b8776615645321e0e00000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100c0f1c2d3e53697e93a8bed3e8d6c6a48e79644f39240f00182d42586d8290909090909090908f7a654f3a25100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001142637444b5455555555555555555555524d4132251407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1a2832363e3e3e3e3e3e3e3e3e3e3e3e3e3e3d3a3123130100000000000000000000000000000000000000000000000000000000000d1d2e3e4b5b637683959fa9b5bcc9cfdadfe2e3dfdddbd9dadcdfe3e2dfd8cec9bfb3a89f948a9aa1b0bcced8d7cdbcafa0988578645c4d413025180b00000000000a1a2e3f4f606a7f939fa9b6c2ced5ccc8bbc1c4cddbd2c1b09e96816c6054433630435461767c7c7c7c7c7c7c7c7c7c7c72604a35200b000000071c3043546d8297acc0d0e3cfbcab9e8879665e514c463c494d56606b7e939fb1c5d6e8d5c0ab95806b56402b160012283d52677d92a7c2d3e2cdbaa9907b66503f2e1d100704091525364a5c70859ab0c5dad2bda8937d68533e2813000000000a1a2f404b6175879dabbccfe3eef0e5dedbd8d8dadad4cac7c0b4b0a09785786258473828150000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000011263b50667b90a5bbd0e5d0bba6917b66513c2611000e24394e63797b7b7b7b7b7b7b7b7b76614c36210c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081d31445560696a6a6a6a6a6a6a6a6a6a675f4f4332251407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a161e21282828282828282828282828282828251e130500000000000000000000000000000000000000000000000000000000000a1b2b3c4b5c64798699a1b4bac7cfdae3e0ded9cfcac8c6c4c5c7cacfd9dfe2e2dfd0c6bab4a99fa9b3bfcde2d4c7bab49e958275625a4b3e301c1308000000000000001121324250616a7e8b9ca4b1becee0ddd0d6d8e0dec9b5a396806c624a43362626364657616767676767676767676766605443301c070000000b20354a6072889db3c8dddfcab59f8d7b655b4c4036332c3538454b606c8196a7b8cce0d5c0ab95806b56402b1600152a3f546a7f94a9bfd4dfc9b49f8a76604b3621110000000008182d3d556a7f94aabfd4d2bda8937d68533e28130000000000121e334657657b8c9fb4c0d1e3f3f8f3eeded1c8c5c3b7b2aba29a8f8274625a483a2a1a0a0000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a2510000011263b50667b90a5bbd0e5d0bba6917b66513c2611000c21364a5b63666666666666666666615846331f0a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354b60747e7f7f7f7f7f7f7f7f7f7f7c69614f43322514070000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090b131313131313131313131313131313110b01000000000000000000000000000000000000000000000000000000000008182839485a647a899ca4b3bfced8e3e1d6ccc8c9bcb4b3b0afb0b2b4bcc9caced9e6e4d7cdc7bab4bac7d0ded2c4b7a99f9180726057483c2e201300000000000000000003142433435060687a8697a0b1c5daf3e5ebf4f0dbc6b19b8675655d4b4538281a2939464c51515151515151515151514a43362513000000000f24394f647a8ea6b7cbdfd6c5ad98836e5d4b3c2f211e19202731424c6176899eb3c8ded5c0ab95806b56402b1600162c41566b8196abc0d6dbc6b19c86715645321e09000000000011263b51667b90a6bbd0d2bda8937d68533e28130000000000031729394b5d6a8095a2b4c5d5e7f7f7e3d1c0b4afa4a59d968f857a6d6056483c2b1c0c000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a25100b0e1b2d3d53687e93a8bdd3e9d6c6a48f79644f3a240f00071a2d3d4a4e5050505050505050504c463a29170400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081d314455647a89949494949494949494917f69614f4332251407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013253645576278889da7b6c2d0e2e5d7cdc5b8b3adab9f9d9b999a9c9fabaeb4bbc8cfdde9e1d7cdc9cdd7ded1c1b5a69d8b7d6a605445392b1d10020000000000000000000006152533424e5c64758297adc2d7eceae2dfe2dec9b5a39b867b6c60564538291b2933363c3c3c3c3c3c3c3c3c3c3c35302518080000000013283e53687e93a8c4d4e0ccb8a78f7a654f3f2e1e120a060a151f3346586c8196acc1d6d5c0ab95806b56402b1600182e43586d8398adc2d8dac4af9a856f5a3828160300000000000f243a4f64798fa4b9ced2bda8937d68533e28130000000000000b1b2e3f4b6073849aa7b8c9daecf1dcc8b4a29a8e8c87817a70655d4b45382b1e0e00000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a251c20222c394a5b6e8399aec3d9e1cdb9a88c77624d37220d00000f1f2d36393b3b3b3b3b3b3b3b3b3633291c0c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011426374b5c647a8a9ea8aaaaaaaaaaaa9d947f69614f4332251407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b0d121517191a1816130e0c0600000000000000000000000000000000000000000000071c3043546075859ba6b8c5d3e0ded1c7bab4a79e97918b88868485878b90999faab3bfcfe2f5eae2dfe2e3d1c0b4a39b887a675f4a4336281b0d0000000000000000000000000007151c30435460748499afc4d9e6d8cec9ced8d2c1b5a49c8d81746056463929171e212727272727272727272726201c13080000000000152a40556a7f95aabfd4dec8b39e8975604b352011000000000417293a50667b90a5bbd0d5c0ab95806b56402b1600182e43586d8398adc2d8dac4af9a856f5a3828160300000000000f243a4f64798fa4b9ced2bda8937d68533e281300000000000000111d3144556277899eabbccfe3efdac5af9a857a77726c655d4f4b3f32281a0e0000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f3a253035373c495763798c9fb4cadfdec9b49e8974604b35200b0000010f1a2124262626262626262626211f170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009192e3e4b5c647a8a9ea7b9c5bfbfbbae9d947f69614f43322514070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0d181f22282a2c2f2f2d2b2923211a0f0c06000000000000000000000000000000000000031628394a60728298a3b5c4d5e3dccfc0b4a99f9589827b7573716f7072767b838c99a1b3c6dbf0fdf6f4f1dcc8b4a29a8577645c4d413025180a000000000000000000000000000008182e3e4b60728298a1b3c7dcd6c8bbb4bbc8c9d2c2b6ab9f978374615746321e120c12121212121212121212110b0700000000000000172c42576c8197acc1d6dbc6b09b86715544311d0800000000000d23384d62788da2b7cdd5c0ab95806b56402b1600162c41566b8196abc0d6dbc6b19c86715645321e09000000000011263b51667b90a6bbd0d2bda8937d68533e281300000000000000011426374859667c8d9fb5c1d1e4dfcab59f8d7b6559564f4b3f372e1e160a000000000000000000182d42586d8297adc2d7e4cfbaa48f7a654f4a4a434a4c505a6375869cabbccfe3d7c6ae98836e5544311d0800000000070c0e1111111111111111110c0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010202e3e4b5c647a899ea7b9c5d6cbbbae9d947f69614f43322514070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c171f212a34373d4042444442403e39352c23211a0f0500000000000000000000000000000000091e324657687e93a0b2c1d2e2dbcebeb2a29a8b80766d6660565b5a5b5761666e788399aec3d8eeffffffefdac5af9a847562594a3e301c13080000000000000000000000000000011426364b5c6a7f94a0b2bfd0d5c5b9aa9faab1b5c1cdc9bcb5a1998475614b41301d0a0000000000000000000000000000000000000000192e43596e8398aec3d8d9c4af9a846f5a3726140100000000000c21364c61768ba1b6cbd5c0ab95806b56402b1600152a3f546a7f94a9bfd4dfc9b49f8a76604b3621110000000008182d3e556a7f94aabfd4d2bda8937d68533e2813000000000000000009192b3b4c5e6b8096a3b5c5d6e3cfbcab9e8877625443372e221b100200000000000000000000182d42586d8297adc2d7e4cfbaa48f7a655f5f5f546061666d78859ba4b5c9d9e1cdb9a8927d675237271501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000210202e3e4b5c647a899ea7b9c5d6cbbbae9d947f69614f43322514070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b161e2a33373b484c525557595a5855534e493d38352c20190d000000000000000000000000000004182a3a4b6175889db3becfdfdfcebdb1a09884786b6157514b453844394654606b7d8b9fb4c9def4fcfffff2ddc8b29d8875604b3b2d201300000000000000000000000000000000081c304354647a8c9fb4becfd5c5b8a79e8b909ba3b0bccccfbfb3a299836e5f4d3924100000000000000000000000000000000000000000172d42576c8297acc1d7dbc5b09b86705443301c0700000000000d22384d62778da2b7ccd5c0ab95806b56402b160012273d52677d92a7c2d3e2cdbaa9907b66503f2e1d1007040a1525364a5c70859ab0c5dad2bda8937d68533e28130000000000000000000d1d2f404b6074859ba7b9cce0dac9b8a69a8472604b3e2e1c0c000000000000000000000000182d42586d8297adc2d7e4cfbaa48f7b747474747475777b828b9ba3b5c2d2e7d5c4b49e8a76614c37210c0000000000070d0f20202020202020202020202020202020202020202020202020202020110f090000000000000000000000000000000000070c0e1818181818181815130d0400000000000000000000000000000000000210202e3e4b5c647a899ea7b9c5d6cbbbae9d947f69614f433225140700000000000000000000000000000000000000000000000000000000000000000000000000000000000003111b28323a474c545962676a6c6e6f6d6b68635b564e493d342b1d14020000000000000000000000000a1f3447596a7f95a6b7cbdce3d1c1b19f978274625a4b463936322e3c4857617280929fa9bacde1f3e7f4f6f4dfcbb7a6947f6a5947341f0a000000000000000000000000000000000b20354b6073869caabbced5c5b8a79e897a7a85969eafbcccd0c0b2a1917c67513e2d1b0700000000000000000000000000000000000000152b40556a8095aabfd5ddc8b39e8874604a35200f000000000316283950657a90a5bacfd5c0ab95806b56402b16000d22374d62788ca4b6c9ded7c7ae99846f5d4b3c2d201c171f2731435464798ea2b4c8ddd2bda8937d68533e281300000000000000000000121d3144556278899eb3bdcee0d5c4b3a2947f6a5c4b3a2917040000000000000000000000182d42586d8297adc2d7ecdfc9b49f8b89898989898a8c90979fa9b5c1d2e0dac9b8a695806a5847331f0a00000002101b22243535353535353535353535353535353535353535353535353535353526231c110300000000000000000000000000010f1a21242d2d2d2d2d2d2d2b2821150700000000000000000000000000000000000210202e3e4a5c647a899ea7b9c5d6cbbbae9d947f69614f4332251407000000000000000000000000000000000000000000000000000000000000000000000000000000000614212f39464b58616a70777d7f81848482807e78726b635b4d483c321d150a00000000000000000000000c22374c6177899eb4c4d5e7d6c5b4a397816d6056483c3329212e3f4b5a627583959eb4bac7d7e1ded2dfe2eae7d4c4b49e8a77614c3722100000000000000000000000000000000316283851667c91a4b6c8d8cbb8a69e897a64657380959eafc3d4cfbfb19b86715c4a36220d0000000000000000000000000000000000000013293e53687e93a8c5d5e0cbb8a68e79644f3d2d1d10080408131e3245576b8096abc0d5d5c0ab95806b56402b16000b2034485971869cb1c9d9dbc7b3a1907b655a4a3e35302a3338454b6072849aafc0d1e4d2bda8937d68533e28130000000000000000000002152737495a677d919fb1c2d2e2d0c0b49f8c7a645846331f140100000000000000000000182d42586d8297adc2d7ece2cebaa99f9f9f9f9f9f9faaa5acb4bac7d2dfe2cfbcab9d8875614b3a2a170400000010202e373a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a3b382f2211000000000000000000000000000f1f2d363942424242424242403c3325150400000000000000000000000000000000000210202e3e4a5c647a899ea7b8c5d6cbbbae9d947f69614f43322514070000000000000000000000000000000000000000000000000000000000000000000000000000081624323f4b57616a767f858b92959799999795938e8780796d625a4f4232281a0a000000000000000000071a2d3d566b8095a8b9cce2e0ccb8a79b8574604b45382b1e1a2c3d4b5d65788699a1b0bccdd7d7cdc9bdc9cdd7e5e1cdb9a8947f69543e2d1b070000000000000000000000000000091e32455670859aafc2d3d2c2b39e8879645c54606b8095a5b7cadec9b5a38e79644f39240f000000000000000000000000000000000000000f253a4f647a8fa7b8cce0d5c5ac97816c5b4a3b2d201d171f2530404b6075889db2c8ddd5c0ab95806b56402b160005192b3b566b8196abbccfe3d0bfb39d8878645c4f4a433a474c56606b7f95a2b3c7dee8d2bda8937d68533e2813000000000000000000000009192b3c4d5f6c8197a4b5c6d7e2cebbaa9d8776614c42311f0f00000000000000000000182d42586d8297adc2d7ecead8c7bab4b4b4b4b4b4b4bbc8c2c9ced8e5d8cebdb59f8d7c665746321c0c000000071b2e3e4b4f60606060606060606060606060606060606060606060606060606060504c402f1c090000000000000000000000071a2d3d4a4e5858585858585855504333210d0000000000000000000000000000000000000210202e3e4a5c647a899ea7b8c5d6cbbbae9d947f69614f433225140700000000000000000000000000000000000000000000000000000000000000000000000006162634424f5d65757f89949b9fabaaacaeafadaaa8a49c968b827869614b4538281b0a00000000000000000c21364a5b72879db2c6d6e7d5c4b39e897762564532281a0e2135495b657b889ca4b3bfcde1d4c6b9b4a7b4bac7d7e9d6c6b19c86715c4a36220d00000000000000000000000000000b21364b60768b9fb5cadfc9b5a4917c675b4a434b6075879db2c7ddd2c1a9947f69543f2a14000000000000000000000000000000000000000b20354b6073899eb3c8dedfcab49f8c7963594a3e3531293336434a5e6a8095a6b7cbdfd5c0ab95806b56402b1600000e23384e63798c9fb4c9dadfcbb7a69d877a6d6460545b5861687480959dafc0d0e3e8d2bda8937d68533e28130000000000000000000000000e1e30414b6074869ca8b9cde1d8c8b7a599836e604e3d2d1b0a000000000000000000182d42586d8297adc2d7ecf5e5d8cec9c9c9c9c9c9caced9d7dfe2ded3c8bbb49f947f6a5e4d392916000000000d22374b5c6475757575757575757575757575757575757575757575757575757575665e4c38230f00000000000000000000000c21364a5b636d6d6d6d6d6d6d6a62503c2813000000000000000000000000000000000000000210202d3e4a5c647a899ea7b8c5d5cbbbae9d947f69614f43322514070000000000000000000000000000000000000000000000000000000000000000000004142434445160697b88949ea8b0b5bcc9c1c3c4c2c0c3b6b2aa9f978a7e6d60564539281808000000000000000e24394e63798ea5b6cae4e0cbb7a6947f6a59483827150a0e23384e63788a9ea6b5c2cfddd1c3b7a89e929fa9bacde2dec9b5a48e79644f39240f00000000000000000000000000000e24394e63798eabbccfdbc6b19c86715f4d3d3245566d8297acc2d7d7c2ad97826d58422d1803000000000000000000000000000000000000081d3144556d8398adc1d2e2cebbaa9d8777645c4f4b443a464c5460697c8d9fb4c4d4e7d5c0ab95806b56402b1600000c2135495b6e8398abbccfe3d4c4b7a69d8c827a74717072777d87969eafbcccdeeee8d2bda8937d68533e281300000000000000000000000000121e32455663798a9eb4becfe0d4c3b2a1937e685b4a392816030000000000000000182d42586d8297adc2d7e5e5e5eae2dfdedededededfe2e2dfdbd3cac2b6aa9f93816c615040301b0b000000000f243a4f647a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7c66503b261100000000000000000000000e24394e637982828282828282806a55402b1500000000000000000000000000000000000000000210202d3e4a5c647a899ea7b8c5d5cbbbae9d947f69614f43322514070000000000000000000000000000000000000000000000000000000000000000001122324251626c7e8c9da6b3b9c6cacfdad6d9d9d7d5d3cac8bbb4a99f93827460574536251300000000000003162839556a7f94aac3d3e6ddc8b39d8875604b3b2b1a0a000c2135495b6c8197a2b4c3d3cec0b4a59d8a7d8b9fb4c9dfe5d2c2aa95806a55362513000000000000000000000000000011273c51667c91a6c9dad7c2ac97826d5740302838556a7f94aabfd4d9c4ae99846f59442f1a040000000000000000000000000000000000000114263751667c91a3b5c9ddd8c8b6a59d877a6d6560555b586167727e8c9fabbccfe2ead5c0ab95806b56402b160000061a2c3d4e647a8d9fb5c1d2e2d4c4b7ab9f978f898685878b929ca5b0bccce0e8f4e8d2bda8937d68533e28130000000000000000000000000002162838495b687d92a0b2c2d3e1cfbfb49f8b79635745321e130000000000000000182d42586d8297adc2d0d0d0d0d0d0d0d0d0d0d0d0cfd9cecac6c3b6b2a49c8b7e6c63524333221200000000000f243a4f64798f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f907b66503b2611000000000000000000000011263b50667b9097979797979786715c46311c0700000000000000000000000000000000000000000210202d3e4a5c647a899ea7b8c5d5cbbbae9d947f69614f4332251407000000000000000000000000000000000000000000000000000000000000000b1b2f404f606c80939faab7c4ccd6dfdadacfcacaced8d8dfd9cec7bab4a0978475605443301c100000000000091e32465771869bb0c6dbe7d4c4aa95806a5745321d0d0000061a2c3d4b6073849aa5b6c5beb1a29b87796e8398aec6d6e8d9c4af99846f5443301c070000000000000000000000000012273c51677c91a6c9d9d8c2ad98836d5443343343546c8297acc1d7d9c4ae99846f59442f1a04000000000000000000000000000000000000000924384c5e71859bb0bfd0e1d4c3b6a59d8c827a75717072767c85939faabbc9d9ebead5c0ab95806b56402b160000000f22364a5c6b8096a3b5c4d4e1d4c9bcb4aca79e9c9b9d9faab2b6c3c5c9ccd6e4e8d2bda8937d68533e281300000000000000000000000000000a1a2c3d4e5f6d8298a4b6c7d7e1cdbaa99c8675604b41301e0e00000000000000182d42586d8297adbbbbbbbbbbbbbbbbbbbbbbbbbbbac8bbb4b0aaa49c92867b696052453525150400000000000f243a4f64798fa4b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5a5907b66503b2611000000000000000000000011263b50667b90a5adadadad9b86715c46311c070000000000000000000000000000000000000000000210202d3e4a5c647a899ea7b8c5d5cbbbae9d947f69614f43322514050000000000000000000000000000000000000000000000000000000000031729394c5e697e939eb4bbc8d5e0d1c8c5c9bcb5b4bbc8c3cacfd9d7cdbeb1a2998372604a3e2e1b08000000000c21364b61768b9fb5cadfdfcbb7a68e79644f392816000000000f1d3144556176879ca7b9b4a097847763667b90a8b9cce1dec9b39e8974604a35200b000000000000000000000000000f253a4f647a8fabbccfdcc7b29d8773604c48464c6073869cb1c6dbd6c1ac97816c57422c170200000000000000000000000000000000000000091d2f4051667c90a1b3c3d4e1d4c3b7aa9f988f898685878a919ba3b4bbc8d8e7f1ead5c0ab95806b56402b16000000071b2d3e4b6074859ba6b6c3d2e1d9cfcac5b9b3b1b0b2b4bbc8c0b4afb3b9c5d6e8d2bda8937d68533e28130000000000000000000000000000000f1f31414b6175869ca9bacde2d7c7b6a497816d5f4d3c2c1909000000000000182d42586d8297a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a3aa9f9b958f877d73655d4f42352717070000000000000f243a4f64798fa4b9cacacacacacacacacacacacacacacacacacacacacacabba5907b66503b2611000000000000000000000011263b50667b90a5bbc2c2b19b86715c46311c07000000000000000000000000000000000000000000000210202d3e4a5c647a899ea7b8c5d5cbbbae9d947f69614f4332231301000000000000000000000000000000000000000000000000000000000a1e334657667c8c9fb4bdced8d6ccc0b4b0a8ab9f9faaa6adb4bcc9d3e1cec0b2a195806b5c4b372212000000000f24394f64798eabbccfe3ddc8b29d88735c4a361b0a000000000115273747586379899eaa9f94827461596075899eb4c9dee0ccb9a78d78634d38230e000000000000000000000000000c22374c61778b9fb4cadfcab6a5947f6c625958616b7e93a4b5c9ded1c0a9937e69543e29140000000000000000000000000000000000000000001224384c5e6f8399a5b6c6d5e1d4c8bbb4ada89e9c9b9c9faab0b5c1c7c7cad3e0ead5c0ab95806b56402b1600000000101d3144556378889da5b5c1ccd6dfdfd6ccc9c6c5c7cacec1b4a29a9ea7b9cce0d2bda8937d68533e281300000000000000000000000000000001131e324657647a8b9fb4bfcfe1d3c2b19f927d675a49372715020000000000182d42586d82909090909090909090909090909090908e8c8a86807a736760544b3f32241709000000000000000f243a4f64798fa4b9cedfdfdfdfdfece3dfd5d3d3d3d3d3d3d3d3d3d3d3d0bba5907b66503b2611000000000000000000000011263b50667b90a5bbd0c6b19b86715c46311c0700000000000000000000000000000000000000000000000210202d3e4a5c647a899ea7b8c8d9cbbbae9d947f69614f41311e0b00000000000000000000000000000000000000000000000000000005182b3b4b6175889eaabbcee2d5c5b9b3a29a928d8a8a8c91989fabb6c2d2dfcfbfaf9e8f7a644f402f1d0900000012273c52677c91a7c9daecd9c3ae99846e593e2d1b00000000000009192a3a495b667c8c9e8d7f6d6056475571869cb1c6dbe8d6c5a48f7a644f3a250f000000000000000000000000000a1f33475870859aafc2d2d4c3b49f8d8177737276808c9fb4c2d2ddc8b4a28d78624d38220d000000000000000000000000000000000000000000091d2f404c6176879da8b8c4d3e1d9cecac6b9b3b1b0b2b4bbc8c2b6b1b1b6c2d3e5d5c0ab95806b56402b160000000002152737495a6378879ba3b3b9c6cad3d5d8d9d7d6cdc9bcb4a39a85899eb3c9cacabda8937d68533e281300000000000000000000000000000000031629394a5c697e93a1b2c3d4d0cebdb39e8978635544311d1200000000000e24394e63797b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a797775716a6460544b43362e21140600000000000000000f243a4f64798fa4c4d5e4f4fff7e7dacfcac0bebebebebebebebebebebebebba5907b66503b261100000000070d0f1212121212263b50667b90a5bbd0c6b19b86715c46311c12121212120b070000000000000000000000000000000000000210202d3e4a5c647a899eaabbcee2cbbbae9d947f695f4e3a25110000000000000000000000000000000000000000000000000000000b203448596a8095a6b8c8d9d5c5b8a79e91857d787575777c838c9ca4b5c1d2ddccbcb09a85705e4c38240c00000013283e53687d93a8bdd2e8d6c1ac97816c57422c17000000000000000c1c2c3d4c5e697f897c69614b4538596e8499aec3d9e5d0bba6907b66513b26110000000000000000000000000004182a3a53687d92a4b5c9d9cfbcab9f978c88878c959faabbcedfcfbeb09a85705a4835200b00000000000000000000000000000000000000000000121f334758647a8a9da6b6c2cdd6dfdfd6ccc9c6c5c7cacec3b6a49c9ca4b6caded5c0ab95806b56402b16000000000009192c3c495a637785939ea8b2b6c3c0c3c4c1c6b9b4ab9f968576889eb3b5b5b5b5a8937d68533e281300000000000000000000000000000000000b1b2d3e4e606e8399a5b7c8bbbbbbb9a89b8574604b402f1c09000000000c21364a5b636666666666666666666666666666666563616054554f4b433630261810030000000000000000000f243a4f647a8fa6b7c6d7e6f6ecdac9bcb5aaa9a9a9a9a9a9a9a9a9a9a9a9a9a5907b66503b2611000002101b22242727272727273b50667b90a5bbd0c6b19b86715c4631272727272727201c130800000000000000000000000000000000000210202d3e4a5c64798a9fb4cadfd9cbbbae9d927d68523d28130000000000000000000000000000000000000000000000000000000d22374c62778a9eb4c4d5dac9b8a79e897c706862606061666e7a869ba3b5c5d6ddc8b4a2917c66513a2a17040000142a3f54697f94a9bed4e9d4bfaa957f6a55402a1500000000000000000f1f2f404f616977665e4f433141576c8196acc1d6e7d2bda7927d68523d281300000000000000000000000000000c20354b6074869cabbccfd9c9bcb4aca69d9d9fabb4bbc8d8d1c1b2a08f7a654f3c2b1905000000000000000000000000000000000000000000000417293a4a5c647a889ca4b4b9c6cad3d5d8d9d7d8cec9beb2a59c87869cb1c7cacac0ab95806b56402b160000000000000e1e2c3c495962737e89959ca5a9abadafaca9a89e978c807473889e9f9f9f9f9f9f937d68533e28130000000000000000000000000000000000000f2031424c6176879daaa5a5a5a5a5a5a396806b5e4c38240f00000000071a2d3d4a4e505050505050505050505050505050504e4c4b43363a3530261c140800000000000000000000000c22374c6177889da8b9c8d9ebe3cfbcab9f959393939393939393939393939393907b66503b2611000010202d36393d3d3d3d3d3d3d50667b90a5bbd0c6b19b86715c463d3d3d3d3d3d3d35302518080000000000000000000000000000000009192737445560738298aabbcee2d2c1b5a39b8576614c37210c000000000000000000000000000000000000000000000000000005192b3c556a7f95a8b9cde3cfbcab9e8979665e534d4b4a4c515c6476859ba7b9cce0d1c0af9a85705847331f0a0000152a3f546a7f94a9bfd4e9d4bfa9947f6a543f2a15000000000000000001112232424f5962594c40322b41566b8096abc0d5e8d2bda8937d68533e28130000000000000000000000000000081d314455657b8d9fb4bcc9d5cfcac4b7b3b2b5bcc9ced8cec1b5a398826d5d4b371e0e0000000000000000000000000000000000000000000000000c1c2d3e4a5c647886949ea8b2b6c3c0c3c4c2c8bbb4aea0988777859bb0b5b5b5b5ab95806b56402b16000000000000000e1e2c3b485560697780878e9396989997949189827a6b6073898a8a8a8a8a8a8a8a7e68533e281300000000000000000000000000000000000001141f334658647a8b9090909090909090908c7b66513b261100000000000f1f2d36393b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b393735302625201c1408010000000000000000000000000b1f344759647a8a9eaabbcee2dfcab59f8b807e7e7e7e7e7e7e7e7e7e7e7e7e7e7e78624d38220d00071b2d3e4a4f5252525252525252667b90a5bbd0c6b19b86715c52525252525252524a4336251300000000000000000000000000000009192737445560738298a0b2c8d9d2c1b5a39b8576615847331f0a00000000000000000000000000000000000000000000000000000b2035485a71869bb0c6d7dfcab59f8d7c665b4d40383535373e4a586278899eb3c8d8dfcab49f8b77614c37210c000014293e53697e93a8bed3e8d6c1ab96816c56412c17000000000000000000031424323b484d483b2f222d43586d8298adc2d7e7d1bca7927c67523d27120000000000000000000000000000011527374b5d687e939fabb7c4ccd5d5cbc8c7cacfdad0c7bdb1a39b8574604b3f2e1b000000000000000000000000000000000000000000000000000010202d3e4a5a62747f8a959ca5a9abadafadaaaa9f9990827770859b9f9f9f9f9f9f95806b56402b1600000000000000000e1d2b37444b59626a72797e808384827f7c766d645c4b6b73757575757575757568604e3a2611000000000000000000000000000000000000000417293a4b5c647a7b7b7b7b7b7b7b7b7b7b7a644f3a240f0000000000010f1a2124262626262626262626262626262626252422201c140f0b0801000000000000000000000000000004182a3b4a5c667c8c9fb4bccde3cfbcab9b85766969696969696969696969696969625a4835200b000d22364a5c646767676767676767677b90a5bbd0c6b19b8671676767676767676767605443301c070000000000000000000000000009192737445560738298a0b2becfd2c1b5a39b85766158473a2a170400000000000000000000000000000000000000000000000000000d22384d62788da3b5c9e4d6c5ae99836e5e4c3d30222020222d3a495a6a7f95aabbcee2cebbaa927d67523d2812000012283d52677d92a7bcd2e7d8c3ad98836e583c2b190500000000000000000006141d2b3437342b1d1a2d3d5a6f859aafc4daebd9c8a6907b66513b261100000000000000000000000000000009192e3f4e60697f8d9da6b3b8c5c6c8cccec9c7c4bfb3af9f97857762564532211000000000000000000000000000000000000000000000000000000210202d3c4956606a7780878e939698999795928a847b6d6170858a8a8a8a8a8a8a8a806b56402b160000000000000000000d1926313b484c555c64696b6e6f6c6a6761574f4a4c595e6060606060606060534e42311f0b00000000000000000000000000000000000000000c1c2e3e4b5c6466666666666666666666645c4a36220d00000000000000070c0e111111111111111111111111111111100e0c0b0801000000000000000000000000000000000000000c1d2d3e4c5e687e939eb0becfdac9b4a3998372605454545454545454545454544d483c2b1905000f24394f647a7d7c7c7c7c7c7c7c7d8096abc0d5c7b29d877d7c7c7c7c7c7c7c7c7d72604a35200b00000000000000000000000009192737445560738298a0b2becfd2c1b5a39b85766158473a2a1c0c00000000000000000000000000000000000000000000000000000013283d53687d92a8c1d2e0ccb9a78f7a654f402f1f120b0b0f1c2b3c4c61768b9fb4cadfd9c8ad98836d58432e18030010253a4f657a8fa4c3d4e6dbc6b19c86715a4835200b00000000000000000000000d18202220180d21364a5c73889db2c8dde2cebbaa8e78634e39230e00000000000000000000000000000000112131424f61697b88949ea7acb1b3b8bab4b2afa9a19a8f81746259473828160300000000000000000000000000000000000000000000000000000002101e2b38454b59626b72797e80838482807d766f665e4c677075757575757575756b62513d28140000000000000000000009141d2a34373e4a4f5456585a5754514b4639363c45494a4a4a4a4a4a4a4a3e3a3124140200000000000000000000000000000000000000000010202e3e4a4f505050505050505050504f4a3e2e1b0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010202f404e606b8096a0b2c0d1d1c1b2a196806b604f403e3e3e3e3e3e3e3e3e38352b1e0e0000162b41566b80929292929292929292969eb0c4d8cab7a59d9292929292929292928a73604b35200b000000000000000000000009192737445560738298a0b2becfd2c1b5a39b85766158473a2a1c0c00000000000000000000000000000000000000000000000000000000152b40556a8095aabfd5dec9b39e8974604b352011010000000e1f33475870859bb0c5dadac5af9a85705a45301b05000c22374c61778ca5b7cadfdec9b5a48d78624d382212000000000000000000000000050b0d0b051527374e64798ea6b7cbdfdfcab49f8a75604b36200b0000000000000000000000000000000003142432434f5d65757f8891979c9ea7a99f9d9a948e847a6c6056473b2a1a0a0000000000000000000000000000000000000000000000000000000000000e1a27313b484c565c64696b6e6f6d6a676158504c48555b606060606060606056514433210e0000000000000000000000010d181f222d36393e414344423f3c36322822293133353535353535353528261f1406000000000000000000000000000000000000000000000210202d36393b3b3b3b3b3b3b3b3b3b3a362e20100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002122231424a60728298a2b4c3d3cfbfb09e937e695e4c3e2d292929292929292220190e000000162b41566b8096a7a7a7a7a7a7a7a7abb0bccddfd4c3b7b2a7a7a7a7a7a7a7a7a08a75604b35200b0000000000000000000009192737445560738298a0b2becfd2c1b5a39b85766158473a2a1c0c0000000000000000000000000000000000000000000000000000000000172d42576c8297acc1d7dac5af9a85705544311d08000000000417293a576c8196acc1d6dcc7b29c87725d47321d08000a1f34475972879db2c7dde5d2c2a8937e685340301909000000000000000000000000000000081d3144556a7f94aac4d4e7dbc6b19b86715645311d090000000000000000000000000000000000061525323f4b57616a757c8186898b8b8a88847e796f645c4b45382a1d0d00000000000000000000000000000000000000000000000000000000000000000a151d2b34373e4a4e5456585a5855524c473a383842464a4a4a4a4a4a4a4a403d3326160400000000000000000000000000050b101b2224292b2e2f2d2a27211e160b161c1e202020202020202013110b0200000000000000000000000000000000000000000000000002101b22242626262626262626262624221b1002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004141c3043546074849ba4b6c5d5cdbcb49f8d7c665c4a3c2b1c14141414140d0b0500000000162b41566b8096abbcbcbcbcbcbcbcc0c4cddaeae1d4cac7bcbcbcbcbcbcbcb5a08a75604b35200b00000000000000000009192737445560738298a0b2bfcfd2c1b5a39b85766158473a2a1c0c0000000000000000000000000000000000000000000000000000000000001a2f44596f8499aec4d9d8c3ad98836e58372614010000000000152a3f556a7f94aabfd4dec9b49f89745f4a341f0a0004182a3a566c8196abc5d6e8dbc6b09b85715e4d3727150200000000000000000000000000031628394b6074879cb2c7dce6d4c3aa957f6a55382715020000000000000000000000000000000000000715212e39464b5760666c7173757675726f69635b4f4b3e32281a0d00000000000000000000000000000000000000000000000000000000000000000000020d1820222d36393e41434442403d37332923262e3035353535353535352b282116080000000000000000000000000000000000070d0f1416191a1715120c0903000207090b0b0b0b0b0b0b0b000000000000000000000000000000000000000000000000000000000000070d0f111111111111111111110f0d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013253645566176869ca7b8c7d7cfbcab9f8a7a645a483a291a0a00000000000000000000162b41566b8096abc0d1d1d1d1d1d1d5d8dfeaf8f1e6dfddd1d1d1d1d1d1cab5a08a75604b35200b00000000000000000a192737445560738399a1b2bfcfd2c1b5a39b85766158473a2a1c0c000000000000000000000000000000000000000000000000000000000000001a2f44596f8499aec4d9d8c3ae98836e59372614010000000000152a3f556a7f94aabfd4dec9b49f89745f4a341f0a000010253b50657b90a7b8cce0ddc9b5a3917c665544311d1300000000000000000000000001141e324557687d92a4b6cadedfcab7a58e79644e39240f000000000000000000000000000000000000000003111b293339454b51575c56606160545a544e493d372e1d150a00000000000000000000000000000000000000000000000000000000000000000000000000050b101b2224292b2e2f2d2b28211f170c13191b202020202020202016140e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000818283847586378899ea9bac9d9c9baa89d887862584638271502000000000000000000162b41566b8096abc0c4c4c4c4c4c4c6c9d2dff0e4d6cdc9c4c4c4c4c4c4c4b5a08a75604b35200b000000000000000a1a2737445560738399a1b2bfcfd2c1b5a39b85766158473a2a1c0c0000000000000000000000000000000000000000000000000000000000000000172d42576c8297acc1d7dac5af9a85705544311d080000000004172a3a576c8196acc1d6dcc7b29c87725d47321d0800000b20354b6074899eb3c9dae4d2c1b19c8674604b41311c130800000000000000000009141d32424b6075879db2c3d3e6d8c7b29d87725c4a36210d000000000000000000000000000000000000000000000b171e2832363c4238454b4c4a43363f39352c221b10020000000000000000000000000000000000000000000000000000000000000000000000000000000000070d0f1416191a1815120c0a04000004060b0b0b0b0b0b0b0b0100000000000000000000000000000000000000090e101e1e1e1e1e1e1a181208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1a2a3a495a647a8b9fabbccfd7c6b8a69c8676615645311d15050000000000000000162b41566b8096abafafafafafafafb1b5c1d2e5d6c6b9b4afafafafafafafafa08a75604b35200b0000000000000a1a2738455560738399a1b2bfcfd2c1b5a39b85766158473a2a1c0c000000000000000000000000000000000000000000000000000000000000000000152b40556a8095aabfd5dec9b39e8974604b352012010000000c1f33475870859bb0c5dadac5af9a85705a45301b050000081d3144556d8298abbccfe3decab6a496816c5f4e41302518110a03000000040a11192631424f616d8298a6b7cbe1e2cebaa996816c563d2d1a070000000000000000000000000000000000000000000000030a161e21262c273136363530252923211a0f07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003111c23263333333333332f2d25190b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1c2c3c4b5c677d8d9fb5bdcdd5c4b6a49a8474604b443323130300000000000000162b41566b80969a9a9a9a9a9a9a9a9ba3b5c9decdb9a89e9a9a9a9a9a9a9a9a9a8a74604b35200b00000000000a1a2738455660738399a1b3bfcfd2c1b5a39b85766158473a2a1c0c0000000000000000000000000000000000000000000000000000000000000000000013283d53687d92a8c1d2e0ccb9a78f7a6550402f1f120b0b101c2c3c4c61768b9fb4cadfd9c8ad98836d58432e18030000011527374e64798c9fb5c7d7e5d3c2b19f927d685f4a43362e211e17161416171f212f37444b60697f93a0b2c4d4e6d6c6b49f8b78624d38230f000000000000000000000000000000000000000000000000000003090b1117151d2021201c13140e0c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111212f383b494949494949454137291908000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1e2e3e4d5f697f949fb0bfd0d3c2b4a298826d6250413121110100000000000013283e53687e848484848484848484859bb1c6dbc9b49e8a8484848484848484848474604b35200b000000000a1a2738455660748399a1b3bfcfd2c1b5a39b85766158473a2a1c0c00000000000000000000000000000000000000000000000000000000000000000000000d22384d62788da3b5c9ddd6c5ae99836e5e4c3d30232020222d3a495a6a7f95aabbcee2cebbaa927d67523d2812000000000921364a5c6d8298a9bacde2e0cebdb49f8c7d6b60544b3f3633292b292b293337404c55606c7e8c9fb4becfe2e1ccb9a896816c5a4935200c0000000000000000000000000000000000000000000000000000000000000002090b0c0b0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1f2f3f4c505e5e5e5e5e5e5a54473725120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000102030404f616c8196a1b3c1d2d1c0b2a095806a604e3f2f1f0f00000000000011263a4e60686f6f6f6f6f6f6f6f6f7b90a5bbd0c6b19b86716f6f6f6f6f6f6f6f6f605443301c080000000a1a2738455660748399a1b3bfcfd2c1b5a39b85766158473a2a1c0c0000000000000000000000000000000000000000000000000000000000000000000000000b2034485a71869bb0c6d7dbc7b3a1907c665b4d41383635373e4a586278899eb3c8d8dfcab49f8b76614c37210c00000000071a2d3d4d62788b9fb4c2d3e3e2cebbaa9f928072655d524c4639403f403a474c525e667381939faabbcedce2d2c1b39e8977614c3c2c190600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1d2d3d4c5d657373737373736f6554412d18030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070b14141414142232434b60728399a3b5c3d4cfbeaf9e927e685d4c3d2d1d0d00000000000b1f31424e535a5a5a5a5a5a5a5a667b90a5bbd0c6b19b86715c5a5a5a5a5a5a5a5a4b4336261401000009192738455660748399a1b3bfc8c8c1b5a39b85766158473a2a1c0c0000000000000000000000000000000000000000000000000000000000000000000000000005192b3c556a7f95a8b9cde1d0bfb39e8979675f534d4b4b4c515c6476859ba8b9cce6d1c0af9a85705847331f0a00000000000f2035485a6b8196a4b6c5d6e6d8c8bbb49e95857b6f67615758565456585861676f7b86969fb4bbc8d9e5d4c4b5a3947f6a5847331e0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1a2a3b4a5b657c888888888888846f5a452f1a0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131c20292929292929293043546075859ba5b7c5d6ccbcb49f8c7b655b4a3b2b1b0b00000000021424313a3e4545454545454550667b90a5bbd0c6b19b86715c46454545454545453530261808000001142637455660748399a1b3b3b3b3b3b3a39b85766158473a2a1c0c0000000000000000000000000000000000000000000000000000000000000000000000000000000d22374c62778a9eb4c4d5e0ccb8a79e8a7c706862606062666e7a869ba3b5c6d6dac9b4a2917c66513a2a1704000000000005192b3c4c6176869ca7b8c8d8e6d8cebcafa39b8f847c76706d6b696b6d70767d84909ca4b0bdced9e6d7c7b7a69b8574604b3a2a1800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000818283847596379899e9e9e9e9e8f7b65503a251000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008182530353e3e3e3e3e3e3e3e3645576277879da7b8c7d8cebbaa9e8a79635948392919090000000006141f26282f2f2f2f2f2f3b50667b90a5bbd0c6b19b86715c46312f2f2f2f2f2f201c1408000000081d314455607483999e9e9e9e9e9e9e9e9b85766158473a2a1c0c000000000000000000000000000000000000000000000000000000000000000000000000000000000b1f3448596a8095a6b8c8d9d5c5b8a89e91857d787575777c838d9ca4b5c1d2e3cfbcab9a84705e4c381c0c000000000000000e1e3346576378899eaabbcdd7e5e2ccc1b5b0a199928a8582807e8082858b929aa2b1b6c2cde2e4d6c9baa99d8877625645321c0c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013253645566277879da7b3b3aa99836e5d4b37230e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000132536434a5454545454545454545454596379899ea9baced8c8b9a89d87776257463726140100000000020b11131a1a1a1a1a263b50667b90a5bbd0c6b19b86715c46311c1a1a1a1a1a0b0801000000000b20354b6075828988888888888888888885766158473a2a1c0c000000000000000000000000000000000000000000000000000000000000000000000000000000000005182a3b4b6175889daabbcee2d5c6b9b3a29a938d8a8a8c91989fabb6c2d2decfbeb59f8d7a644f402f1d000000000000000003172939495a657b8c9fb4bac7d4e2dfd2c9bfb3aea99f9a98959495989a9faaafb4c0c9d3e0e1d4c6b9ab9f8b7a6459483828160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003111c3043546074859ba5b7c5b49f8b79634e3f2e1c080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071c3043546069696969696969696969696969697a8b9fb4c9dfd6c6b7a59b8575615544311d0800000000000000000505050511263b50667b90a5bbd0c6b19b86715c46311c070505050500000000000000081d314455606d73737373737373737373706158473a2a1c0c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1e324657657b8c9fb4bcced8d6ccc0b4b0a8ab9f9faaa6adb5bcc9d3e1cec0b2a095806a5c4a3622120000000000000000000b1b2c3c4b5d687e929fa9b7c4d1dfe4ddd0c7c7bab4afadaba9abadb0b4bbc8c7d0dee5dfd1c3b6a89e8d7d675c4a3b2b1a0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001112131424a60728298a3b5c3b9a796816c5b493521110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354a60727e7e7e7e7e7e7e7e7e7e7e7e7e7e7e849aafc4dae4d4c3b5a3998373604b35200b00000000000000000000000011263b50667b90a5bbcac6b19b86715c46311c07000000000000000000000001142637444b585e5e5e5e5e5e5e5e5e5e5b4c473a2a1c0c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000031629394c5d697e939eb4bbc8d4e0d1c8c5c9bcb5b4bbc8c3cacfdad7cdbeb1a2988272604a3e2e1b04000000000000000000000e1e2f3f4e60687d8b9da6b4c1cad4e0e3dbd8cec9c5c2c0bec0c2c5caced8dce3e0d3cac0b4a59d8a7c675f4d3e2e1d0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1f2f3f4e606b8096a0b2c1c3b39e8977614c3d2c1a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354b60748a93939393939393939393939393939aa2b4c8dcf2e2d2c1b3a196806b56412b1601000000000000000000000011263b50667b90a5b5b5b5b19b86715c46311c07000000000000000000000000091926313542494949494949494949494637332a1c0c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1b2f3f4f606b80939faab7c4ccd6dfdadacfcacaced8d8dfd9cec7bab49f978475605443302010000000000000000000000000112131424e5f677a889ba3b2b7c3ccd6dee1e2dfdad7d5d3d5d7dadfe2e0ded5cbc3b6b2a29a8779665e4d41302010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1d2d3d4c5d687e939eb0bfcab7a5947f695847331f0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354b60758aa0a9a9a9a9a9a9a9a9a9a9a9a9a9afb4c0d1e3f7f0dfd0bfaf9a846f5a452f1a05000000000000000000000011263b50667b909f9f9f9f9f9b86715c46311c070000000000000000000000000009141d202d3333333333333333333330211f170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001121324251626b7e8c9da6b3b9c5cacfd9d6d8d9d7d5d3cac8bbb4a99f9382746057453625130200000000000000000000000003142431414d5c647785929da5b3b8c5c9cdd6dadddfe3ebe2dfddd9d6ccc9c4b8b3a59c918476635b4c40302313020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1a2a3b4a5b657b8c9fb4bccdc1b29d8775604b3a2a1801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354b60758aa0b5bebebebebebebebebebebebec4c8d1deeefffeedd9c4af9a846f5a452f1a05000000000000000000000011263b50667b8a8a8a8a8a8a8a85715c46311c07000000000000000000000000000001080b181e1e1e1e1e1e1e1e1e1e1b0c0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003142434445160687b88949ea7b0b4bcc9c1c3c4c2bfc2b6b1aa9f978a7e6d605645392818080000000000000000000000000000061423303e4a5962737d87949ea7aeb4b9c6c4c8cacfd9cecac7c4c5b9b3ada69e93877c6f61584a3d3022130500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008182838475963798a9eaabbcec9b5a3927d675645321c0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354b60758aa0b5cad3d3d3d3d3d3d3d3d3d3d3dadce3dfdfdfdfdfd9c4af9a846f5a452f1a0500000000000000000000000f23384c5e6675757575757575716756432e1a050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006162634424e5d65757f89949b9fabaaacaeaeacaaa8a49c968b827769604b4538281b0a000000000000000000000000000000000513202d3b48546067757f8992989ea8acafb2b4bcb6bbb4b2afaba79e9891887e74675f4c473a2d1f12040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013253645566277879da8b9c8cfbfb09b8572604a3828160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354b60758aa0b5cacacacacacacacacacacacacacacacacacacacacac4af9a846f5a452f1a050000000000000000000000091c2f404c50606060606060605c5649392613000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081624313f4b57606a767f858b92949799999795938d8780796c62594f4232281a0a00000000000000000000000000000000000002101d2b36434b566069767d838990969a9d9faba1aa9f9d9a969089837c766960554d41332a1c0f0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071c3043546074859ba5b7c6b5b5b2a18f7a655443301a0a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354b60758aa0b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5af9a846f5a452f1a0500000000000000000000000011222f383b4a4a4a4a4a4a4a4643392b1b0a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000614212e39454b58616970777d7f81838482807d78726b635b4d483b321d150a0000000000000000000000000000000000000000000d18263038454b5861676e757b8185888a8b8c8b8a8884817b756e6761574b4437301f180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354a60728399a39f9f9f9f9faa99836e5d4b362513000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354b60758a9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a846f5a452f1a0500000000000000000000000003111c232635353535353535312e261b0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003111b28323a474c545961676a6c6e6f6d6a68635b564e493d342b1d1402000000000000000000000000000000000000000000000008141c28323a464c525660666c6f737576777675726f6c656055524b4639312719120400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000162b41566b808a8a8a8a8a8a8a8a8a8b78634d3f2e1808000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b20354b60748a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a846f5a452f1a050000000000000000000000000000090f11202020202020201c1a130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a161e2a33373b474c52555759595755534e493d38352c20180d0000000000000000000000000000000000000000000000000000010a161e29333638454b51575a5d57606160565d5a56504b44373632291d150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014293d51626b75757575757575757574635a493521100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081d314455707575757575757575757575757575757575757575757575757575756f6654412d18030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c171f212a34373d3f42444442403e38352c23211a0f050000000000000000000000000000000000000000000000000000000000020b171f212832363b414539454b4c4b453845413b363127211e160b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e21344451566060606060606060605f4d493c2c1903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001142637445e6060606060606060606060606060606060606060606060606060605a54473725120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c181f22282a2c2e2f2d2b2823211a0e0c06000000000000000000000000000000000000000000000000000000000000000000040a0c151d20262c30283236373632282f2c26201d150c0a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041626343d414a4a4a4a4a4a4a4a4a4a38352c1e0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091926314a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4541372919080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b0c121517191a1815130e0c0600000000000000000000000000000000000000000000000000000000000000000000000000000002090b11171a161e2122211e161a17100b080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081621292b353535353535353535352320190e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141d353535353535353535353535353535353535353535353535353535352f2d25190b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020003090b0c0b09030001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e14162020202020202020201f0e0c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000108202020202020202020202020202020202020202020202020202020201a18120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 m_StreamData: + serializedVersion: 2 offset: 0 size: 0 path: diff --git a/UI/Fonts/modioSans_Arabic_Dynamic.ttf b/UI/Fonts/modioSans_Arabic_Dynamic.ttf new file mode 100644 index 0000000..0356020 Binary files /dev/null and b/UI/Fonts/modioSans_Arabic_Dynamic.ttf differ diff --git a/UI/Fonts/modioSans_Arabic_Dynamic.ttf.meta b/UI/Fonts/modioSans_Arabic_Dynamic.ttf.meta new file mode 100644 index 0000000..68ebdee --- /dev/null +++ b/UI/Fonts/modioSans_Arabic_Dynamic.ttf.meta @@ -0,0 +1,21 @@ +fileFormatVersion: 2 +guid: 7298ae5f28741ad4a957c86e7a315273 +TrueTypeFontImporter: + externalObjects: {} + serializedVersion: 4 + fontSize: 16 + forceTextureCase: -2 + characterSpacing: 0 + characterPadding: 1 + includeFontData: 1 + fontNames: + - Noto Sans Arabic + fallbackFontReferences: [] + customCharacters: + fontRenderingMode: 0 + ascentCalculationMode: 1 + useLegacyBoundsCalculation: 0 + shouldRoundAdvanceValue: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Fonts/modioSans_JP_Regular.ttf b/UI/Fonts/modioSans_JP_Regular.ttf new file mode 100644 index 0000000..1583096 Binary files /dev/null and b/UI/Fonts/modioSans_JP_Regular.ttf differ diff --git a/UI/Fonts/modioSans_JP_Regular.ttf.meta b/UI/Fonts/modioSans_JP_Regular.ttf.meta new file mode 100644 index 0000000..a189161 --- /dev/null +++ b/UI/Fonts/modioSans_JP_Regular.ttf.meta @@ -0,0 +1,21 @@ +fileFormatVersion: 2 +guid: e27c531ffb067204a8c4e50d71b37450 +TrueTypeFontImporter: + externalObjects: {} + serializedVersion: 4 + fontSize: 16 + forceTextureCase: -2 + characterSpacing: 0 + characterPadding: 1 + includeFontData: 1 + fontNames: + - Noto Sans JP + fallbackFontReferences: [] + customCharacters: + fontRenderingMode: 0 + ascentCalculationMode: 1 + useLegacyBoundsCalculation: 0 + shouldRoundAdvanceValue: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Fonts/modioSans_KR_Regular.otf b/UI/Fonts/modioSans_KR_Regular.otf new file mode 100644 index 0000000..7c5c2fa Binary files /dev/null and b/UI/Fonts/modioSans_KR_Regular.otf differ diff --git a/UI/Fonts/modioSans_KR_Regular.otf.meta b/UI/Fonts/modioSans_KR_Regular.otf.meta new file mode 100644 index 0000000..4b9fe9a --- /dev/null +++ b/UI/Fonts/modioSans_KR_Regular.otf.meta @@ -0,0 +1,21 @@ +fileFormatVersion: 2 +guid: 333a354b867f6a249a460ec234132d0b +TrueTypeFontImporter: + externalObjects: {} + serializedVersion: 4 + fontSize: 16 + forceTextureCase: -2 + characterSpacing: 0 + characterPadding: 1 + includeFontData: 1 + fontNames: + - Noto Sans KR + fallbackFontReferences: [] + customCharacters: + fontRenderingMode: 0 + ascentCalculationMode: 1 + useLegacyBoundsCalculation: 0 + shouldRoundAdvanceValue: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Fonts/modioSans_SC_Regular.otf b/UI/Fonts/modioSans_SC_Regular.otf new file mode 100644 index 0000000..d350ffa Binary files /dev/null and b/UI/Fonts/modioSans_SC_Regular.otf differ diff --git a/UI/Fonts/modioSans_SC_Regular.otf.meta b/UI/Fonts/modioSans_SC_Regular.otf.meta new file mode 100644 index 0000000..b0c69bd --- /dev/null +++ b/UI/Fonts/modioSans_SC_Regular.otf.meta @@ -0,0 +1,21 @@ +fileFormatVersion: 2 +guid: f50134ad1cc3e994687f37e122e23d7f +TrueTypeFontImporter: + externalObjects: {} + serializedVersion: 4 + fontSize: 16 + forceTextureCase: -2 + characterSpacing: 0 + characterPadding: 1 + includeFontData: 1 + fontNames: + - Noto Sans SC + fallbackFontReferences: [] + customCharacters: + fontRenderingMode: 0 + ascentCalculationMode: 1 + useLegacyBoundsCalculation: 0 + shouldRoundAdvanceValue: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Fonts/modioSans_TC_Regular.otf b/UI/Fonts/modioSans_TC_Regular.otf new file mode 100644 index 0000000..2972477 Binary files /dev/null and b/UI/Fonts/modioSans_TC_Regular.otf differ diff --git a/UI/Fonts/modioSans_TC_Regular.otf.meta b/UI/Fonts/modioSans_TC_Regular.otf.meta new file mode 100644 index 0000000..f7640a3 --- /dev/null +++ b/UI/Fonts/modioSans_TC_Regular.otf.meta @@ -0,0 +1,21 @@ +fileFormatVersion: 2 +guid: 27df649e87427ef408cd392c2b85a3b4 +TrueTypeFontImporter: + externalObjects: {} + serializedVersion: 4 + fontSize: 16 + forceTextureCase: -2 + characterSpacing: 0 + characterPadding: 1 + includeFontData: 1 + fontNames: + - Noto Sans TC + fallbackFontReferences: [] + customCharacters: + fontRenderingMode: 0 + ascentCalculationMode: 1 + useLegacyBoundsCalculation: 0 + shouldRoundAdvanceValue: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Glyphs/Menu.asset b/UI/Glyphs/Menu.asset index ce948c9..ef0adc5 100644 --- a/UI/Glyphs/Menu.asset +++ b/UI/Glyphs/Menu.asset @@ -17,7 +17,7 @@ MonoBehaviour: PC: {fileID: 21300000, guid: ea6c2bed6b5cad84aa3d9e515f40883f, type: 3} Xbox: {fileID: 21300000, guid: ea6c2bed6b5cad84aa3d9e515f40883f, type: 3} Steamdeck: {fileID: 21300000, guid: ea6c2bed6b5cad84aa3d9e515f40883f, type: 3} - Playstation4: {fileID: 21300000, guid: 29fadb9eb6d0f7941bad461200aa1cb5, type: 3} + Playstation4: {fileID: 21300000, guid: ed0d1a90057dc524ab474a999cea3b48, type: 3} Playstation5: {fileID: 21300000, guid: 29fadb9eb6d0f7941bad461200aa1cb5, type: 3} NintendoSwitch: {fileID: 21300000, guid: 4e18ed919515e1f4e96bb57f52c67f25, type: 3} NintendoSwitchSingleJoyCon: {fileID: 21300000, guid: 649fd52111778cd468e327c46300e1dd, diff --git a/UI/Glyphs/Menu_Background.asset b/UI/Glyphs/Menu_Background.asset index ebc412e..ff47878 100644 --- a/UI/Glyphs/Menu_Background.asset +++ b/UI/Glyphs/Menu_Background.asset @@ -17,7 +17,7 @@ MonoBehaviour: PC: {fileID: 21300000, guid: 38fe18e59483a2b47a24bafb02c61c33, type: 3} Xbox: {fileID: 21300000, guid: 38fe18e59483a2b47a24bafb02c61c33, type: 3} Steamdeck: {fileID: 21300000, guid: 38fe18e59483a2b47a24bafb02c61c33, type: 3} - Playstation4: {fileID: 21300000, guid: 04ac989bccda5f643a7a8cfa7a47aa49, type: 3} + Playstation4: {fileID: 21300000, guid: 88650001a84037a4286315b6c7d6f9bd, type: 3} Playstation5: {fileID: 21300000, guid: 04ac989bccda5f643a7a8cfa7a47aa49, type: 3} NintendoSwitch: {fileID: 21300000, guid: a0dc9fc60d1068c4095ab116e265f9d3, type: 3} NintendoSwitchSingleJoyCon: {fileID: 21300000, guid: a0dc9fc60d1068c4095ab116e265f9d3, diff --git a/UI/Glyphs/RS.asset b/UI/Glyphs/RS.asset index bffe7c9..8d1d9c0 100644 --- a/UI/Glyphs/RS.asset +++ b/UI/Glyphs/RS.asset @@ -17,8 +17,8 @@ MonoBehaviour: PC: {fileID: 21300000, guid: 1f5c03735f86c174ab7cf07e0de082f4, type: 3} Xbox: {fileID: 21300000, guid: 1f5c03735f86c174ab7cf07e0de082f4, type: 3} Steamdeck: {fileID: 21300000, guid: 1f5c03735f86c174ab7cf07e0de082f4, type: 3} - Playstation4: {fileID: 21300000, guid: 5b18d4362e72eb449a837a6382977c1e, type: 3} - Playstation5: {fileID: 21300000, guid: 5b18d4362e72eb449a837a6382977c1e, type: 3} + Playstation4: {fileID: 21300000, guid: 5c09ef3aae3ff0b4a8cb1ce3e11afc72, type: 3} + Playstation5: {fileID: 21300000, guid: 5c09ef3aae3ff0b4a8cb1ce3e11afc72, type: 3} NintendoSwitch: {fileID: 21300000, guid: d24a16cc5ac53e6479d5828661ba1868, type: 3} NintendoSwitchSingleJoyCon: {fileID: 21300000, guid: 5321d00f6e0e35442a526dd5cc6af230, type: 3} diff --git a/UI/Prefabs/Authentication Popup/Authentication Popup.prefab b/UI/Prefabs/Authentication Popup/Authentication Popup.prefab index 0fc97d4..f8102cb 100644 --- a/UI/Prefabs/Authentication Popup/Authentication Popup.prefab +++ b/UI/Prefabs/Authentication Popup/Authentication Popup.prefab @@ -73,6 +73,8 @@ MonoBehaviour: language: LastReceivedTermsOfUse: termsOfUse: + agreeText: + disagreeText: links: [] hash: md5hash: @@ -131,6 +133,8 @@ MonoBehaviour: AuthenticationPanelConnectViaGOGButton: {fileID: 8812471963573315342} AuthenticationPanelConnectViaXboxButton: {fileID: 925376273754343133} AuthenticationPanelConnectViaSwitchButton: {fileID: 582567568040103326} + AuthenticationPanelConnectViaGoogleButton: {fileID: 1457010151673319819} + AuthenticationPanelConnectViaAppleButton: {fileID: 6530427074305366096} AuthenticationPanelConnectViaPlayStationButton: {fileID: 8197357445277052599} AuthenticationPanelConnectViaEmailButton: {fileID: 7440308471908351179} AuthenticationPanelConnectViaExternalButton: {fileID: 4045435658514250871} @@ -142,12 +146,15 @@ MonoBehaviour: AuthenticationPanelExternalQRCode: {fileID: 3260172569307160183} AuthenticationPanelExternalCancelButton: {fileID: 3766927352085899061} AuthenticationPanelAgreeButton: {fileID: 7440308470102128942} + AuthenticationPanelAgreeText: {fileID: 8391957879287067084} AuthenticationPanelSendCodeButton: {fileID: 7440308471569427063} AuthenticationPanelSubmitButton: {fileID: 7440308471499131697} AuthenticationPanelCompletedButton: {fileID: 7440308471022637707} AuthenticationPanelLogoutButton: {fileID: 124410400454291110} AuthenticationPanelTOSButton: {fileID: 202241233843684505} + AuthenticationPanelTOSText: {fileID: 202241233843684583} AuthenticationPanelPrivacyPolicyButton: {fileID: 202241233593690200} + AuthenticationPanelPrivacyPolicyText: {fileID: 202241233593690278} AuthenticationPanelCancelButton: {fileID: 7436085604402578084} AuthenticationPanelTermsOfUseLinks: {fileID: 202241234799659893} AuthenticationPanelTitleText: {fileID: 202241233691803950} @@ -288,6 +295,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.05490196, g: 0.0627451, b: 0.105882354, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -376,6 +384,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.02745098, g: 0.75686276, b: 0.84705883, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -414,7 +423,6 @@ GameObject: - component: {fileID: 202241233593690275} - component: {fileID: 202241233593690279} - component: {fileID: 202241233593690278} - - component: {fileID: 202241233593690276} - component: {fileID: 202241233593690200} m_Layer: 5 m_Name: Privacy @@ -465,6 +473,7 @@ MonoBehaviour: 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: @@ -539,20 +548,6 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &202241233593690276 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 202241233593690274} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalFit: 0 - m_VerticalFit: 2 --- !u!114 &202241233593690200 MonoBehaviour: m_ObjectHideFlags: 0 @@ -567,6 +562,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 4 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 7440308470102128942} m_SelectOnLeft: {fileID: 202241233843684505} @@ -597,6 +593,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 2449351027646029983} + m_TargetAssemblyTypeName: m_MethodName: HyperLinkToPrivacyPolicy m_Mode: 1 m_Arguments: @@ -708,6 +705,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.05490196, g: 0.0627451, b: 0.105882354, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -783,6 +781,7 @@ MonoBehaviour: 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: @@ -881,7 +880,6 @@ GameObject: - component: {fileID: 202241233843684580} - component: {fileID: 202241233843684504} - component: {fileID: 202241233843684583} - - component: {fileID: 202241233843684581} - component: {fileID: 202241233843684505} m_Layer: 5 m_Name: TOS @@ -932,6 +930,7 @@ MonoBehaviour: 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: @@ -1006,20 +1005,6 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &202241233843684581 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 202241233843684579} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalFit: 0 - m_VerticalFit: 2 --- !u!114 &202241233843684505 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1034,6 +1019,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 4 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 124410400035020010} m_SelectOnLeft: {fileID: 0} @@ -1064,6 +1050,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 2449351027646029983} + m_TargetAssemblyTypeName: m_MethodName: HyperLinkToTOS m_Mode: 1 m_Arguments: @@ -1224,6 +1211,7 @@ MonoBehaviour: 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: @@ -1298,6 +1286,7 @@ MonoBehaviour: 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: @@ -1418,6 +1407,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -1580,6 +1570,7 @@ MonoBehaviour: 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: @@ -1743,6 +1734,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.05490196, g: 0.0627451, b: 0.105882354, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1876,6 +1868,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &202241234486310503 GameObject: m_ObjectHideFlags: 0 @@ -1937,6 +1930,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.02745098, g: 0.75686276, b: 0.84705883, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2025,6 +2019,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -2186,6 +2181,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -2347,6 +2343,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.02745098, g: 0.75686276, b: 0.84705883, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2438,6 +2435,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!114 &202241234745432291 MonoBehaviour: m_ObjectHideFlags: 0 @@ -2513,6 +2511,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -2676,6 +2675,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &202241234852567058 GameObject: m_ObjectHideFlags: 0 @@ -2774,6 +2774,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.02745098, g: 0.75686276, b: 0.84705883, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2937,6 +2938,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -3101,6 +3103,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &867845943392545203 GameObject: m_ObjectHideFlags: 0 @@ -3162,6 +3165,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.4509804, g: 0.4627451, b: 0.5176471, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -3250,6 +3254,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.05490196, g: 0.0627451, b: 0.105882354, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -3277,21 +3282,6 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: type: 2 ---- !u!114 &3381100307164060962 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1254262398035219862} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} - m_Name: - m_EditorClassIdentifier: - reference: Connect with Switch - text: {fileID: 1955338516196476284} - translatedLanguageFontPairingOverrides: {fileID: 0} --- !u!1 &1273232295214613154 GameObject: m_ObjectHideFlags: 0 @@ -3354,6 +3344,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -3456,47 +3447,6 @@ MonoBehaviour: reference: Scan the code and we'll magically sign you in text: {fileID: 6959384239748742309} translatedLanguageFontPairingOverrides: {fileID: 0} ---- !u!114 &1493014684774305236 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1561099587769769685} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} - m_Name: - m_EditorClassIdentifier: - reference: Connect with Xbox - text: {fileID: 2297091763963530815} - translatedLanguageFontPairingOverrides: {fileID: 0} ---- !u!114 &7221019454328133884 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1712258811662060485} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0bb7d01b14ae58d489b1d0e368d78625, type: 3} - m_Name: - m_EditorClassIdentifier: - type: 2 ---- !u!114 &7221019452982900952 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1712258811935632354} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0bb7d01b14ae58d489b1d0e368d78625, type: 3} - m_Name: - m_EditorClassIdentifier: - type: 2 --- !u!1 &1775208627588697191 GameObject: m_ObjectHideFlags: 0 @@ -3560,36 +3510,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 ---- !u!114 &8752962373264156985 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1784627790428423394} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} - m_Name: - m_EditorClassIdentifier: - reference: Back - text: {fileID: 1337162824535102472} - translatedLanguageFontPairingOverrides: {fileID: 0} ---- !u!114 &4727339176155115028 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1784627790847702702} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} - m_Name: - m_EditorClassIdentifier: - reference: Log out - text: {fileID: 1337162824115775044} - translatedLanguageFontPairingOverrides: {fileID: 0} + m_ReverseArrangement: 0 --- !u!1 &1818487537537753355 GameObject: m_ObjectHideFlags: 0 @@ -3653,6 +3574,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -3830,6 +3752,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.05490196, g: 0.0627451, b: 0.105882354, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -3920,6 +3843,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &2232735289343915140 GameObject: m_ObjectHideFlags: 0 @@ -3981,6 +3905,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.4509804, g: 0.4627451, b: 0.5176471, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -4070,6 +3995,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -4232,6 +4158,7 @@ MonoBehaviour: 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: @@ -4283,21 +4210,6 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 140, y: 64} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &6539703578772491714 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2403230398898627711} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} - m_Name: - m_EditorClassIdentifier: - reference: Connect with device - text: {fileID: 3103884305349670037} - translatedLanguageFontPairingOverrides: {fileID: 0} --- !u!1 &2414081813668121149 GameObject: m_ObjectHideFlags: 0 @@ -4360,6 +4272,7 @@ MonoBehaviour: 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: @@ -4576,6 +4489,7 @@ MonoBehaviour: 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: @@ -4738,6 +4652,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.05490196, g: 0.0627451, b: 0.105882354, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -4815,47 +4730,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 ---- !u!114 &231705565195708834 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2989552656439798532} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} - m_Name: - m_EditorClassIdentifier: - reference: Connect with Epic - text: {fileID: 2537722628595547118} - translatedLanguageFontPairingOverrides: {fileID: 0} ---- !u!114 &7221019452982900953 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3123872398336138190} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0bb7d01b14ae58d489b1d0e368d78625, type: 3} - m_Name: - m_EditorClassIdentifier: - type: 2 ---- !u!114 &7221019454328133885 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3123872398599519209} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0bb7d01b14ae58d489b1d0e368d78625, type: 3} - m_Name: - m_EditorClassIdentifier: - type: 2 + m_ReverseArrangement: 0 --- !u!1 &3152123193406966828 GameObject: m_ObjectHideFlags: 0 @@ -4919,6 +4794,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -5095,6 +4971,7 @@ MonoBehaviour: 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: @@ -5168,21 +5045,6 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &5878038377405095203 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3259316864240402237} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} - m_Name: - m_EditorClassIdentifier: - reference: Cancel - text: {fileID: 2842229240143687639} - translatedLanguageFontPairingOverrides: {fileID: 0} --- !u!1 &3430078737957267641 GameObject: m_ObjectHideFlags: 0 @@ -5244,6 +5106,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.05490196, g: 0.0627451, b: 0.105882354, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -5335,6 +5198,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &3809105641321399456 GameObject: m_ObjectHideFlags: 0 @@ -5401,6 +5265,7 @@ MonoBehaviour: 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: @@ -5467,6 +5332,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &3812269862899274302 GameObject: m_ObjectHideFlags: 0 @@ -5531,6 +5397,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &4039789438546893994 GameObject: m_ObjectHideFlags: 0 @@ -5593,6 +5460,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -5756,6 +5624,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.05490196, g: 0.0627451, b: 0.105882354, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -5844,6 +5713,7 @@ MonoBehaviour: 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: @@ -5999,6 +5869,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -6199,6 +6070,7 @@ MonoBehaviour: 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: @@ -6301,6 +6173,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -6331,6 +6204,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 2449351027646029983} + m_TargetAssemblyTypeName: m_MethodName: HyperLinkToExternalLogin m_Mode: 1 m_Arguments: @@ -6445,6 +6319,7 @@ MonoBehaviour: 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: @@ -6473,6 +6348,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -6504,6 +6380,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 2449351027646029983} + m_TargetAssemblyTypeName: m_MethodName: CopyExternalAuthenticationCodeToClipboard m_Mode: 1 m_Arguments: @@ -6629,6 +6506,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.05490196, g: 0.0627451, b: 0.105882354, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -6717,6 +6595,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.05490196, g: 0.0627451, b: 0.105882354, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -6806,6 +6685,7 @@ MonoBehaviour: 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: @@ -6970,6 +6850,7 @@ MonoBehaviour: 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: @@ -7137,6 +7018,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!114 &3694843698288525498 MonoBehaviour: m_ObjectHideFlags: 0 @@ -7151,21 +7033,95 @@ MonoBehaviour: m_EditorClassIdentifier: m_HorizontalFit: 0 m_VerticalFit: 2 ---- !u!114 &7846716019158388149 +--- !u!1 &6955089396152103337 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5548126352622203954} + - component: {fileID: 778698556375920895} + - component: {fileID: 3214584186900244684} + - component: {fileID: 2990411232640433259} + m_Layer: 5 + m_Name: Google logo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5548126352622203954 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6955089396152103337} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8196235051710579998} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 24, y: 0} + m_SizeDelta: {x: 40, y: 40} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &778698556375920895 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6955089396152103337} + m_CullTransparentMesh: 0 +--- !u!114 &3214584186900244684 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7147647550602166022} + m_GameObject: {fileID: 6955089396152103337} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: - reference: Connect with GOG - text: {fileID: 7600739817341988844} - translatedLanguageFontPairingOverrides: {fileID: 0} + m_Material: {fileID: 0} + m_Color: {r: 0.05490196, g: 0.0627451, b: 0.105882354, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: b2419e5ec30d3cb41b93f83cb35a0dca, type: 3} + m_Type: 0 + 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 &2990411232640433259 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6955089396152103337} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0bb7d01b14ae58d489b1d0e368d78625, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 2 --- !u!1 &7177056060131747970 GameObject: m_ObjectHideFlags: 0 @@ -7229,6 +7185,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &7221019452665931258 GameObject: m_ObjectHideFlags: 0 @@ -7290,6 +7247,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -7440,6 +7398,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -7555,6 +7514,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.02745098, g: 0.75686276, b: 0.84705883, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -7762,6 +7722,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.02745098, g: 0.75686276, b: 0.84705883, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -7849,6 +7810,7 @@ MonoBehaviour: 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: @@ -7983,6 +7945,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -8106,6 +8069,8 @@ RectTransform: - {fileID: 1460409225402694178} - {fileID: 7588899111424954952} - {fileID: 7895660361775405323} + - {fileID: 8196235051710579998} + - {fileID: 4550337164191222981} - {fileID: 200408515680790622} - {fileID: 6747220268395030754} - {fileID: 200408516428869051} @@ -8147,6 +8112,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &7221019453120733502 GameObject: m_ObjectHideFlags: 0 @@ -8261,6 +8227,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.05490196, g: 0.0627451, b: 0.105882354, a: 0.78431374} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -8302,6 +8269,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -8332,6 +8300,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 2449351027646029983} + m_TargetAssemblyTypeName: m_MethodName: Close m_Mode: 1 m_Arguments: @@ -8509,6 +8478,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -8685,6 +8655,7 @@ MonoBehaviour: 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: @@ -8818,6 +8789,7 @@ MonoBehaviour: 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: @@ -8952,6 +8924,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -9099,6 +9072,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -9246,6 +9220,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.02745098, g: 0.75686276, b: 0.84705883, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -9342,6 +9317,7 @@ MonoBehaviour: 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: @@ -9408,6 +9384,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &7221019454128316331 GameObject: m_ObjectHideFlags: 0 @@ -9468,6 +9445,7 @@ MonoBehaviour: 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: @@ -9602,6 +9580,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -9749,6 +9728,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.05490196, g: 0.0627451, b: 0.105882354, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -9838,6 +9818,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -10000,6 +9981,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -10147,6 +10129,7 @@ MonoBehaviour: 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: @@ -10295,6 +10278,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -10507,6 +10491,7 @@ MonoBehaviour: 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: @@ -10580,23 +10565,8 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &2968332245270186637 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7547863885195327167} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} - m_Name: - m_EditorClassIdentifier: - reference: Connect with PlayStation - text: {fileID: 7130796017981728341} - translatedLanguageFontPairingOverrides: {fileID: 0} ---- !u!1 &7690102183321807943 -GameObject: +--- !u!1 &7690102183321807943 +GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -10659,32 +10629,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 ---- !u!114 &7221019452982900958 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7733431735248138522} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0bb7d01b14ae58d489b1d0e368d78625, type: 3} - m_Name: - m_EditorClassIdentifier: - type: 2 ---- !u!114 &7221019454328133858 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7733431736593305917} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0bb7d01b14ae58d489b1d0e368d78625, type: 3} - m_Name: - m_EditorClassIdentifier: - type: 2 + m_ReverseArrangement: 0 --- !u!1 &8500900914818273053 GameObject: m_ObjectHideFlags: 0 @@ -10746,6 +10691,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.05490196, g: 0.0627451, b: 0.105882354, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -10834,6 +10780,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 0 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -10900,6 +10847,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 8072680918941051845} + m_TargetAssemblyTypeName: m_MethodName: OnEndEditHiddenInput m_Mode: 1 m_Arguments: @@ -10945,7 +10893,7 @@ MonoBehaviour: inputFieldPlaceholderText: keyboardtype: 0 inputField: {fileID: 5750130964817376437} ---- !u!1 &9052827075301148354 +--- !u!1 &8974710529674051259 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -10953,63 +10901,65 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 610085933077977184} - - component: {fileID: 1625286380816519775} - - component: {fileID: 1815684015370506723} + - component: {fileID: 1164976937627558961} + - component: {fileID: 2475230738188149739} + - component: {fileID: 3466559428681136881} + - component: {fileID: 7434821241979566066} m_Layer: 5 - m_Name: cog + m_Name: Apple logo m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &610085933077977184 +--- !u!224 &1164976937627558961 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9052827075301148354} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_GameObject: {fileID: 8974710529674051259} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 1201539441966453206} + m_Father: {fileID: 4550337164191222981} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0.5} m_AnchorMax: {x: 0, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 48, y: 48} + m_AnchoredPosition: {x: 24, y: 0} + m_SizeDelta: {x: 40, y: 40} m_Pivot: {x: 0, y: 0.5} ---- !u!222 &1625286380816519775 +--- !u!222 &2475230738188149739 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9052827075301148354} + m_GameObject: {fileID: 8974710529674051259} m_CullTransparentMesh: 0 ---- !u!114 &1815684015370506723 +--- !u!114 &3466559428681136881 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9052827075301148354} + m_GameObject: {fileID: 8974710529674051259} 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_Color: {r: 0.05490196, g: 0.0627451, b: 0.105882354, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 5b5bfdc18aea28047bb94f3d28cfdf59, type: 3} + m_Sprite: {fileID: 21300000, guid: 29e88308418d442029a2a842d3067c90, type: 3} m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 @@ -11019,126 +10969,94 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!114 &924589906675696546 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9096411698320947213} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} - m_Name: - m_EditorClassIdentifier: - reference: Connect with Steam - text: {fileID: 8391957879382583527} - translatedLanguageFontPairingOverrides: {fileID: 0} ---- !u!114 &308873402302498911 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9096411698561098022} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} - m_Name: - m_EditorClassIdentifier: - reference: I agree - text: {fileID: 8391957879287067084} - translatedLanguageFontPairingOverrides: {fileID: 0} ---- !u!114 &8166884529219205168 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9096411698767352633} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} - m_Name: - m_EditorClassIdentifier: - reference: Submit - text: {fileID: 8391957881087280083} - translatedLanguageFontPairingOverrides: {fileID: 0} ---- !u!114 &1802035630556114926 +--- !u!114 &7434821241979566066 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9096411698965574271} + m_GameObject: {fileID: 8974710529674051259} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} + m_Script: {fileID: 11500000, guid: 0bb7d01b14ae58d489b1d0e368d78625, type: 3} m_Name: m_EditorClassIdentifier: - reference: Send code - text: {fileID: 8391957881017066133} - translatedLanguageFontPairingOverrides: {fileID: 0} ---- !u!114 &1194345398132380068 -MonoBehaviour: + type: 2 +--- !u!1 &9052827075301148354 +GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9096411699171845315} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} - m_Name: - m_EditorClassIdentifier: - reference: Connect with email - text: {fileID: 8391957880686474281} - translatedLanguageFontPairingOverrides: {fileID: 0} ---- !u!114 &6104442173454707330 -MonoBehaviour: + serializedVersion: 6 + m_Component: + - component: {fileID: 610085933077977184} + - component: {fileID: 1625286380816519775} + - component: {fileID: 1815684015370506723} + m_Layer: 5 + m_Name: cog + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &610085933077977184 +RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9096411699388317824} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} - m_Name: - m_EditorClassIdentifier: - reference: Cancel - text: {fileID: 8391957880466346090} - translatedLanguageFontPairingOverrides: {fileID: 0} ---- !u!114 &2043301180424606819 -MonoBehaviour: + m_GameObject: {fileID: 9052827075301148354} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1201539441966453206} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 48, y: 48} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &1625286380816519775 +CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9096411699477940867} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} - m_Name: - m_EditorClassIdentifier: - reference: Continue browsing - text: {fileID: 8391957880505637481} - translatedLanguageFontPairingOverrides: {fileID: 0} ---- !u!114 &5636756960497751154 + m_GameObject: {fileID: 9052827075301148354} + m_CullTransparentMesh: 0 +--- !u!114 &1815684015370506723 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9101761004999187116} + m_GameObject: {fileID: 9052827075301148354} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: - reference: Cancel - text: {fileID: 8360150324471237190} - translatedLanguageFontPairingOverrides: {fileID: 0} + 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: 21300000, guid: 5b5bfdc18aea28047bb94f3d28cfdf59, type: 3} + m_Type: 0 + 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!1001 &197454710412531303 PrefabInstance: m_ObjectHideFlags: 0 @@ -11156,7 +11074,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_RootOrder - value: 15 + value: 17 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchorMax.x @@ -11364,6 +11282,18 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} +--- !u!114 &8360150324471237190 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + m_PrefabInstance: {fileID: 197454710412531303} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9101761004999187116} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &9101761004999187116 stripped GameObject: m_CorrespondingSourceObject: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, @@ -11388,18 +11318,21 @@ RectTransform: type: 3} m_PrefabInstance: {fileID: 197454710412531303} m_PrefabAsset: {fileID: 0} ---- !u!114 &8360150324471237190 stripped +--- !u!114 &5636756960497751154 MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, - type: 3} - m_PrefabInstance: {fileID: 197454710412531303} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 9101761004999187116} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} m_Name: m_EditorClassIdentifier: + reference: Cancel + text: {fileID: 8360150324471237190} + translatedLanguageFontPairingOverrides: {fileID: 0} --- !u!1001 &202241233508124232 PrefabInstance: m_ObjectHideFlags: 0 @@ -11417,7 +11350,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_RootOrder - value: 13 + value: 15 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchorMax.x @@ -11625,12 +11558,6 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} ---- !u!1 &9096411699477940867 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, - type: 3} - m_PrefabInstance: {fileID: 202241233508124232} - m_PrefabAsset: {fileID: 0} --- !u!114 &8391957880505637481 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, @@ -11643,9 +11570,9 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!224 &200408514937652766 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, +--- !u!1 &9096411699477940867 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} m_PrefabInstance: {fileID: 202241233508124232} m_PrefabAsset: {fileID: 0} @@ -11661,8 +11588,29 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d5ce6686d7065cf4986b2ed3e2773c96, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1001 &202241233548528715 -PrefabInstance: +--- !u!224 &200408514937652766 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + m_PrefabInstance: {fileID: 202241233508124232} + m_PrefabAsset: {fileID: 0} +--- !u!114 &2043301180424606819 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9096411699477940867} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} + m_Name: + m_EditorClassIdentifier: + reference: Continue browsing + text: {fileID: 8391957880505637481} + translatedLanguageFontPairingOverrides: {fileID: 0} +--- !u!1001 &202241233548528715 +PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: @@ -11925,6 +11873,21 @@ RectTransform: type: 3} m_PrefabInstance: {fileID: 202241233548528715} m_PrefabAsset: {fileID: 0} +--- !u!114 &6104442173454707330 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9096411699388317824} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} + m_Name: + m_EditorClassIdentifier: + reference: Cancel + text: {fileID: 8391957880466346090} + translatedLanguageFontPairingOverrides: {fileID: 0} --- !u!1001 &202241233874003976 PrefabInstance: m_ObjectHideFlags: 0 @@ -11942,7 +11905,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_RootOrder - value: 8 + value: 10 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchorMax.x @@ -12105,15 +12068,21 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} ---- !u!1 &9096411699171845315 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, +--- !u!114 &8391957880686474281 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} m_PrefabInstance: {fileID: 202241233874003976} m_PrefabAsset: {fileID: 0} ---- !u!224 &200408515680790622 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, + m_GameObject: {fileID: 9096411699171845315} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &9096411699171845315 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} m_PrefabInstance: {fileID: 202241233874003976} m_PrefabAsset: {fileID: 0} @@ -12129,18 +12098,27 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d5ce6686d7065cf4986b2ed3e2773c96, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!114 &8391957880686474281 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, +--- !u!224 &200408515680790622 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} m_PrefabInstance: {fileID: 202241233874003976} m_PrefabAsset: {fileID: 0} +--- !u!114 &1194345398132380068 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 9096411699171845315} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} m_Name: m_EditorClassIdentifier: + reference: Connect with email + text: {fileID: 8391957880686474281} + translatedLanguageFontPairingOverrides: {fileID: 0} --- !u!1001 &202241234069864116 PrefabInstance: m_ObjectHideFlags: 0 @@ -12158,7 +12136,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_RootOrder - value: 11 + value: 13 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchorMax.x @@ -12311,12 +12289,6 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} ---- !u!1 &9096411698965574271 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, - type: 3} - m_PrefabInstance: {fileID: 202241234069864116} - m_PrefabAsset: {fileID: 0} --- !u!114 &7440308471569427063 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, @@ -12329,9 +12301,9 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d5ce6686d7065cf4986b2ed3e2773c96, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!224 &200408515482320610 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, +--- !u!1 &9096411698965574271 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} m_PrefabInstance: {fileID: 202241234069864116} m_PrefabAsset: {fileID: 0} @@ -12347,6 +12319,27 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!224 &200408515482320610 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + m_PrefabInstance: {fileID: 202241234069864116} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1802035630556114926 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9096411698965574271} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} + m_Name: + m_EditorClassIdentifier: + reference: Send code + text: {fileID: 8391957881017066133} + translatedLanguageFontPairingOverrides: {fileID: 0} --- !u!1001 &202241234270101490 PrefabInstance: m_ObjectHideFlags: 0 @@ -12364,7 +12357,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_RootOrder - value: 12 + value: 14 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchorMax.x @@ -12517,18 +12510,12 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} ---- !u!114 &7440308471499131697 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, +--- !u!224 &200408515552599972 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} m_PrefabInstance: {fileID: 202241234270101490} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d5ce6686d7065cf4986b2ed3e2773c96, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!114 &8391957881087280083 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, @@ -12541,18 +12528,39 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!224 &200408515552599972 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, - type: 3} - m_PrefabInstance: {fileID: 202241234270101490} - m_PrefabAsset: {fileID: 0} --- !u!1 &9096411698767352633 stripped GameObject: m_CorrespondingSourceObject: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} m_PrefabInstance: {fileID: 202241234270101490} m_PrefabAsset: {fileID: 0} +--- !u!114 &7440308471499131697 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + m_PrefabInstance: {fileID: 202241234270101490} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5ce6686d7065cf4986b2ed3e2773c96, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &8166884529219205168 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9096411698767352633} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} + m_Name: + m_EditorClassIdentifier: + reference: Submit + text: {fileID: 8391957881087280083} + translatedLanguageFontPairingOverrides: {fileID: 0} --- !u!1001 &202241234466926061 PrefabInstance: m_ObjectHideFlags: 0 @@ -12570,7 +12578,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_RootOrder - value: 10 + value: 12 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchorMax.x @@ -12723,12 +12731,18 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} ---- !u!224 &200408516428869051 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, +--- !u!114 &8391957879287067084 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} m_PrefabInstance: {fileID: 202241234466926061} m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!114 &7440308470102128942 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, @@ -12741,24 +12755,12 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d5ce6686d7065cf4986b2ed3e2773c96, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1 &9096411698561098022 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, - type: 3} - m_PrefabInstance: {fileID: 202241234466926061} - m_PrefabAsset: {fileID: 0} ---- !u!114 &8391957879287067084 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, +--- !u!224 &200408516428869051 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} m_PrefabInstance: {fileID: 202241234466926061} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9096411698561098022} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!1001 &202241234629555398 PrefabInstance: m_ObjectHideFlags: 0 @@ -12949,18 +12951,6 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} ---- !u!114 &8391957879382583527 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, - type: 3} - m_PrefabInstance: {fileID: 202241234629555398} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9096411698320947213} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!1 &9096411698320947213 stripped GameObject: m_CorrespondingSourceObject: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, @@ -12985,6 +12975,33 @@ RectTransform: type: 3} m_PrefabInstance: {fileID: 202241234629555398} m_PrefabAsset: {fileID: 0} +--- !u!114 &8391957879382583527 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + m_PrefabInstance: {fileID: 202241234629555398} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9096411698320947213} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &924589906675696546 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9096411698320947213} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} + m_Name: + m_EditorClassIdentifier: + reference: Connect with Steam + text: {fileID: 8391957879382583527} + translatedLanguageFontPairingOverrides: {fileID: 0} --- !u!1001 &1462848942708783732 PrefabInstance: m_ObjectHideFlags: 0 @@ -13195,12 +13212,18 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} ---- !u!1 &7547863885195327167 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, +--- !u!114 &8197357445277052599 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} m_PrefabInstance: {fileID: 1462848942708783732} m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5ce6686d7065cf4986b2ed3e2773c96, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!114 &7130796017981728341 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, @@ -13213,37 +13236,46 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!114 &8197357445277052599 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, +--- !u!1 &7547863885195327167 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} m_PrefabInstance: {fileID: 1462848942708783732} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d5ce6686d7065cf4986b2ed3e2773c96, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!224 &1460409225402694178 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} m_PrefabInstance: {fileID: 1462848942708783732} m_PrefabAsset: {fileID: 0} ---- !u!1001 &2288946786874848205 -PrefabInstance: +--- !u!114 &2968332245270186637 +MonoBehaviour: m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 7221019453091957966} - m_Modifications: - - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_Pivot.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_Pivot.y + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7547863885195327167} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} + m_Name: + m_EditorClassIdentifier: + reference: Connect with PlayStation + text: {fileID: 7130796017981728341} + translatedLanguageFontPairingOverrides: {fileID: 0} +--- !u!1001 &2288946786874848205 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 7221019453091957966} + m_Modifications: + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_Pivot.y value: 1 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} @@ -13421,12 +13453,6 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} ---- !u!224 &2290792716777337755 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, - type: 3} - m_PrefabInstance: {fileID: 2288946786874848205} - m_PrefabAsset: {fileID: 0} --- !u!114 &7600739817341988844 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, @@ -13457,44 +13483,65 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d5ce6686d7065cf4986b2ed3e2773c96, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1001 &5893267980558169078 +--- !u!224 &2290792716777337755 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + m_PrefabInstance: {fileID: 2288946786874848205} + m_PrefabAsset: {fileID: 0} +--- !u!114 &7846716019158388149 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7147647550602166022} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} + m_Name: + m_EditorClassIdentifier: + reference: Connect with GOG + text: {fileID: 7600739817341988844} + translatedLanguageFontPairingOverrides: {fileID: 0} +--- !u!1001 &4552986003853446291 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: - m_TransformParent: {fileID: 3922792490083673787} + m_TransformParent: {fileID: 7221019453091957966} m_Modifications: - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_Pivot.x - value: 0.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_Pivot.y - value: 0.5 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_RootOrder - value: 0 + value: 9 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchorMax.x - value: 0.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchorMax.y - value: 0.5 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchorMin.x - value: 0.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchorMin.y - value: 0.5 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_SizeDelta.x - value: 190 + value: 240 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_SizeDelta.y @@ -13518,23 +13565,23 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_LocalRotation.x - value: -0 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_LocalRotation.y - value: -0 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_LocalRotation.z - value: -0 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 280 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -4 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -13562,77 +13609,42 @@ PrefabInstance: - target: {fileID: 3050362772334548697, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_Name - value: Cancel Button + value: Connect with Apple objectReference: {fileID: 0} - target: {fileID: 3050362772334548697, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, - type: 3} - propertyPath: scheme - value: + value: 0 objectReference: {fileID: 0} - - target: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, + - target: {fileID: 5802092550609450754, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_Interactable + propertyPath: m_AnchorMax.x value: 1 objectReference: {fileID: 0} - - target: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, - type: 3} - propertyPath: m_TargetGraphic - value: - objectReference: {fileID: 2842229240143687639} - - target: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, - type: 3} - propertyPath: m_Navigation.m_Mode - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, + - target: {fileID: 5802092550609450754, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size + propertyPath: m_AnchorMax.y value: 1 objectReference: {fileID: 0} - - target: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, + - target: {fileID: 5802092550609450754, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode - value: 1 + propertyPath: m_AnchorMin.y + value: 0 objectReference: {fileID: 0} - - target: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target - value: - objectReference: {fileID: 2449351027646029983} - - target: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, + - target: {fileID: 5802092550609450754, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_CallState - value: 2 + propertyPath: m_SizeDelta.x + value: -40 objectReference: {fileID: 0} - - target: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, + - target: {fileID: 5802092550609450754, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName - value: CancelExternalAuthenticationRequest + propertyPath: m_AnchoredPosition.x + value: 20 objectReference: {fileID: 0} - target: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName - value: UnityEngine.Object, UnityEngine - objectReference: {fileID: 0} - - target: {fileID: 7500801496791559709, guid: 9bde00a16f32d6d42a1280198365e78b, - type: 3} - propertyPath: m_Color.b - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7500801496791559709, guid: 9bde00a16f32d6d42a1280198365e78b, - type: 3} - propertyPath: m_Color.g - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7500801496791559709, guid: 9bde00a16f32d6d42a1280198365e78b, - type: 3} - propertyPath: m_Color.r - value: 1 + propertyPath: scheme + value: objectReference: {fileID: 0} - target: {fileID: 7873473676537387376, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} @@ -13648,32 +13660,27 @@ PrefabInstance: - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_text - value: Cancel - objectReference: {fileID: 0} - - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, - type: 3} - propertyPath: m_fontColor.b - value: 0.105882354 + value: Connect with Apple objectReference: {fileID: 0} - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_fontColor.g - value: 0.0627451 + propertyPath: m_RaycastTarget + value: 0 objectReference: {fileID: 0} - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_fontColor.r - value: 0.05490196 + propertyPath: m_textAlignment + value: 65535 objectReference: {fileID: 0} - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_RaycastTarget - value: 0 + propertyPath: m_TextStyleHashCode + value: -1183493901 objectReference: {fileID: 0} - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_fontColor32.rgba - value: 4279963662 + propertyPath: m_VerticalAlignment + value: 512 objectReference: {fileID: 0} - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} @@ -13688,99 +13695,114 @@ PrefabInstance: - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_textInfo.wordCount - value: 1 + value: 3 objectReference: {fileID: 0} - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_textInfo.spaceCount - value: 0 + propertyPath: m_HorizontalAlignment + value: 2 objectReference: {fileID: 0} - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_textInfo.characterCount - value: 4 + propertyPath: m_textInfo.spaceCount + value: 2 objectReference: {fileID: 0} - - target: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, + - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_IsActive - value: 1 + propertyPath: m_textInfo.characterCount + value: 19 objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} ---- !u!114 &3766927352085899061 stripped +--- !u!224 &4550337164191222981 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + m_PrefabInstance: {fileID: 4552986003853446291} + m_PrefabAsset: {fileID: 0} +--- !u!114 &5302932260996436146 stripped MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, + m_CorrespondingSourceObject: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - m_PrefabInstance: {fileID: 5893267980558169078} + m_PrefabInstance: {fileID: 4552986003853446291} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} + m_GameObject: {fileID: 4890073358972338264} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d5ce6686d7065cf4986b2ed3e2773c96, type: 3} + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1 &3259316864240402237 stripped +--- !u!1 &4890073358972338264 stripped GameObject: m_CorrespondingSourceObject: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - m_PrefabInstance: {fileID: 5893267980558169078} + m_PrefabInstance: {fileID: 4552986003853446291} m_PrefabAsset: {fileID: 0} ---- !u!114 &2842229240143687639 stripped +--- !u!114 &6530427074305366096 stripped MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, + m_CorrespondingSourceObject: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - m_PrefabInstance: {fileID: 5893267980558169078} + m_PrefabInstance: {fileID: 4552986003853446291} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3259316864240402237} + m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Script: {fileID: 11500000, guid: d5ce6686d7065cf4986b2ed3e2773c96, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!224 &5890821760801616800 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, - type: 3} - m_PrefabInstance: {fileID: 5893267980558169078} +--- !u!114 &3053486199516840524 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} ---- !u!1001 &6165275226336405455 + m_GameObject: {fileID: 4890073358972338264} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} + m_Name: + m_EditorClassIdentifier: + reference: Connect with Apple + text: {fileID: 5302932260996436146} + translatedLanguageFontPairingOverrides: {fileID: 0} +--- !u!1001 &5893267980558169078 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: - m_TransformParent: {fileID: 7221019453091957966} + m_TransformParent: {fileID: 3922792490083673787} m_Modifications: - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_Pivot.x - value: 0 + value: 0.5 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_Pivot.y - value: 1 + value: 0.5 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_RootOrder - value: 3 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchorMax.x - value: 0 + value: 0.5 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0.5 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchorMin.x - value: 0 + value: 0.5 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0.5 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_SizeDelta.x - value: 240 + value: 190 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_SizeDelta.y @@ -13804,23 +13826,23 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_LocalRotation.y - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchoredPosition.x - value: 412 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchoredPosition.y - value: -4 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -13848,42 +13870,77 @@ PrefabInstance: - target: {fileID: 3050362772334548697, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_Name - value: Connect with Epic + value: Cancel Button objectReference: {fileID: 0} - target: {fileID: 3050362772334548697, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_IsActive - value: 0 + value: 1 objectReference: {fileID: 0} - - target: {fileID: 5802092550609450754, guid: 9bde00a16f32d6d42a1280198365e78b, + - target: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_AnchorMax.x - value: 1 + propertyPath: scheme + value: objectReference: {fileID: 0} - - target: {fileID: 5802092550609450754, guid: 9bde00a16f32d6d42a1280198365e78b, + - target: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_AnchorMax.y + propertyPath: m_Interactable value: 1 objectReference: {fileID: 0} - - target: {fileID: 5802092550609450754, guid: 9bde00a16f32d6d42a1280198365e78b, + - target: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_AnchorMin.y - value: 0 + propertyPath: m_TargetGraphic + value: + objectReference: {fileID: 2842229240143687639} + - target: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_Navigation.m_Mode + value: 4 objectReference: {fileID: 0} - - target: {fileID: 5802092550609450754, guid: 9bde00a16f32d6d42a1280198365e78b, + - target: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_SizeDelta.x - value: -40 + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size + value: 1 objectReference: {fileID: 0} - - target: {fileID: 5802092550609450754, guid: 9bde00a16f32d6d42a1280198365e78b, + - target: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_AnchoredPosition.x - value: 20 + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 1 objectReference: {fileID: 0} - target: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: scheme + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target value: + objectReference: {fileID: 2449351027646029983} + - target: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: CancelExternalAuthenticationRequest + objectReference: {fileID: 0} + - target: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 7500801496791559709, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_Color.b + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7500801496791559709, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_Color.g + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7500801496791559709, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_Color.r + value: 1 objectReference: {fileID: 0} - target: {fileID: 7873473676537387376, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} @@ -13899,13 +13956,33 @@ PrefabInstance: - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_text - value: Connect with Epic + value: Cancel + objectReference: {fileID: 0} + - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_fontColor.b + value: 0.105882354 + objectReference: {fileID: 0} + - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_fontColor.g + value: 0.0627451 + objectReference: {fileID: 0} + - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_fontColor.r + value: 0.05490196 objectReference: {fileID: 0} - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_RaycastTarget value: 0 objectReference: {fileID: 0} + - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_fontColor32.rgba + value: 4279963662 + objectReference: {fileID: 0} - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_textInfo.lineCount @@ -13919,43 +13996,54 @@ PrefabInstance: - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_textInfo.wordCount - value: 3 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_textInfo.spaceCount - value: 2 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_textInfo.characterCount - value: 18 + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_IsActive + value: 1 objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} ---- !u!1 &2989552656439798532 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, +--- !u!224 &5890821760801616800 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - m_PrefabInstance: {fileID: 6165275226336405455} + m_PrefabInstance: {fileID: 5893267980558169078} m_PrefabAsset: {fileID: 0} ---- !u!114 &2537722628595547118 stripped +--- !u!114 &2842229240143687639 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - m_PrefabInstance: {fileID: 6165275226336405455} + m_PrefabInstance: {fileID: 5893267980558169078} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2989552656439798532} + m_GameObject: {fileID: 3259316864240402237} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!114 &3458972671975240460 stripped +--- !u!1 &3259316864240402237 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + m_PrefabInstance: {fileID: 5893267980558169078} + m_PrefabAsset: {fileID: 0} +--- !u!114 &3766927352085899061 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - m_PrefabInstance: {fileID: 6165275226336405455} + m_PrefabInstance: {fileID: 5893267980558169078} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 @@ -13963,13 +14051,22 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d5ce6686d7065cf4986b2ed3e2773c96, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!224 &6162624170999867289 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, - type: 3} - m_PrefabInstance: {fileID: 6165275226336405455} +--- !u!114 &5878038377405095203 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} ---- !u!1001 &6749644850127349940 + m_GameObject: {fileID: 3259316864240402237} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} + m_Name: + m_EditorClassIdentifier: + reference: Cancel + text: {fileID: 2842229240143687639} + translatedLanguageFontPairingOverrides: {fileID: 0} +--- !u!1001 &6165275226336405455 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 @@ -13986,7 +14083,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_RootOrder - value: 9 + value: 3 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchorMax.x @@ -14074,13 +14171,28 @@ PrefabInstance: - target: {fileID: 3050362772334548697, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_Name - value: Connect with External device + value: Connect with Epic objectReference: {fileID: 0} - target: {fileID: 3050362772334548697, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_IsActive value: 0 objectReference: {fileID: 0} + - target: {fileID: 5802092550609450754, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5802092550609450754, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5802092550609450754, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 5802092550609450754, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_SizeDelta.x @@ -14110,7 +14222,7 @@ PrefabInstance: - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_text - value: Connect with device + value: Connect with Epic objectReference: {fileID: 0} - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} @@ -14135,43 +14247,26 @@ PrefabInstance: - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_textInfo.spaceCount - value: 3 + value: 2 objectReference: {fileID: 0} - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_textInfo.characterCount - value: 19 - objectReference: {fileID: 0} - - target: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, - type: 3} - propertyPath: m_IsActive - value: 1 + value: 18 objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} ---- !u!114 &3103884305349670037 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, - type: 3} - m_PrefabInstance: {fileID: 6749644850127349940} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2403230398898627711} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!1 &2403230398898627711 stripped +--- !u!1 &2989552656439798532 stripped GameObject: m_CorrespondingSourceObject: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - m_PrefabInstance: {fileID: 6749644850127349940} + m_PrefabInstance: {fileID: 6165275226336405455} m_PrefabAsset: {fileID: 0} ---- !u!114 &4045435658514250871 stripped +--- !u!114 &3458972671975240460 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - m_PrefabInstance: {fileID: 6749644850127349940} + m_PrefabInstance: {fileID: 6165275226336405455} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 @@ -14179,38 +14274,296 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d5ce6686d7065cf4986b2ed3e2773c96, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!224 &6747220268395030754 stripped +--- !u!224 &6162624170999867289 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - m_PrefabInstance: {fileID: 6749644850127349940} + m_PrefabInstance: {fileID: 6165275226336405455} m_PrefabAsset: {fileID: 0} ---- !u!1001 &7221019452982900931 +--- !u!114 &2537722628595547118 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + m_PrefabInstance: {fileID: 6165275226336405455} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2989552656439798532} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &231705565195708834 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2989552656439798532} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} + m_Name: + m_EditorClassIdentifier: + reference: Connect with Epic + text: {fileID: 2537722628595547118} + translatedLanguageFontPairingOverrides: {fileID: 0} +--- !u!1001 &6749644850127349940 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: - m_TransformParent: {fileID: 202241233879630559} + m_TransformParent: {fileID: 7221019453091957966} m_Modifications: - - target: {fileID: 5454772385634733754, guid: d5fdf02cff5c92349853772a91817fbc, - type: 3} - propertyPath: m_Color.a + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_Pivot.y value: 1 objectReference: {fileID: 0} - - target: {fileID: 5454772385634733754, guid: d5fdf02cff5c92349853772a91817fbc, - type: 3} - propertyPath: m_Color.b - value: 0.105882354 + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_RootOrder + value: 11 objectReference: {fileID: 0} - - target: {fileID: 5454772385634733754, guid: d5fdf02cff5c92349853772a91817fbc, - type: 3} - propertyPath: m_Color.g - value: 0.0627451 + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_AnchorMax.x + value: 0 objectReference: {fileID: 0} - - target: {fileID: 5454772385634733754, guid: d5fdf02cff5c92349853772a91817fbc, - type: 3} - propertyPath: m_Color.r - value: 0.05490196 + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_SizeDelta.x + value: 240 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_SizeDelta.y + value: 40 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_AnchoredPosition.x + value: 412 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_AnchoredPosition.y + value: -4 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1100119940201048372, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 55f176a6fe560d24bb3e650f8677edaa, + type: 3} + - target: {fileID: 1100119940201048372, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_RaycastTarget + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3050362772334548697, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_Name + value: Connect with External device + objectReference: {fileID: 0} + - target: {fileID: 3050362772334548697, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5802092550609450754, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_SizeDelta.x + value: -40 + objectReference: {fileID: 0} + - target: {fileID: 5802092550609450754, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: scheme + value: + objectReference: {fileID: 0} + - target: {fileID: 7873473676537387376, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_Type + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7873473676537387376, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: db199e15a6375aa4ba43bbda0d9c8354, + type: 3} + - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_text + value: Connect with device + objectReference: {fileID: 0} + - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_RaycastTarget + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_textInfo.lineCount + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_textInfo.pageCount + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_textInfo.wordCount + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_textInfo.spaceCount + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_textInfo.characterCount + value: 19 + objectReference: {fileID: 0} + - target: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} +--- !u!224 &6747220268395030754 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + m_PrefabInstance: {fileID: 6749644850127349940} + m_PrefabAsset: {fileID: 0} +--- !u!114 &4045435658514250871 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + m_PrefabInstance: {fileID: 6749644850127349940} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5ce6686d7065cf4986b2ed3e2773c96, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &2403230398898627711 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + m_PrefabInstance: {fileID: 6749644850127349940} + m_PrefabAsset: {fileID: 0} +--- !u!114 &3103884305349670037 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + m_PrefabInstance: {fileID: 6749644850127349940} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2403230398898627711} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &6539703578772491714 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2403230398898627711} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} + m_Name: + m_EditorClassIdentifier: + reference: Connect with device + text: {fileID: 3103884305349670037} + translatedLanguageFontPairingOverrides: {fileID: 0} +--- !u!1001 &7221019452982900931 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 202241233879630559} + m_Modifications: + - target: {fileID: 5454772385634733754, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + propertyPath: m_Color.a + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5454772385634733754, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + propertyPath: m_Color.b + value: 0.105882354 + objectReference: {fileID: 0} + - target: {fileID: 5454772385634733754, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + propertyPath: m_Color.g + value: 0.0627451 + objectReference: {fileID: 0} + - target: {fileID: 5454772385634733754, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + propertyPath: m_Color.r + value: 0.05490196 objectReference: {fileID: 0} - target: {fileID: 5454772385634733754, guid: d5fdf02cff5c92349853772a91817fbc, type: 3} @@ -14384,9 +14737,9 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: d5fdf02cff5c92349853772a91817fbc, type: 3} ---- !u!1 &1712258811935632354 stripped +--- !u!1 &7733431735248138522 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 8355616287565517601, guid: d5fdf02cff5c92349853772a91817fbc, + m_CorrespondingSourceObject: {fileID: 1109184991508138457, guid: d5fdf02cff5c92349853772a91817fbc, type: 3} m_PrefabInstance: {fileID: 7221019452982900931} m_PrefabAsset: {fileID: 0} @@ -14396,23 +14749,62 @@ GameObject: type: 3} m_PrefabInstance: {fileID: 7221019452982900931} m_PrefabAsset: {fileID: 0} ---- !u!1 &7733431735248138522 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 1109184991508138457, guid: d5fdf02cff5c92349853772a91817fbc, - type: 3} - m_PrefabInstance: {fileID: 7221019452982900931} - m_PrefabAsset: {fileID: 0} --- !u!224 &2997179153476893617 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 5597455781261280114, guid: d5fdf02cff5c92349853772a91817fbc, type: 3} m_PrefabInstance: {fileID: 7221019452982900931} m_PrefabAsset: {fileID: 0} ---- !u!1001 &7221019453832772197 -PrefabInstance: +--- !u!1 &1712258811935632354 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 8355616287565517601, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + m_PrefabInstance: {fileID: 7221019452982900931} + m_PrefabAsset: {fileID: 0} +--- !u!114 &7221019452982900952 +MonoBehaviour: m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1712258811935632354} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0bb7d01b14ae58d489b1d0e368d78625, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 2 +--- !u!114 &7221019452982900953 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3123872398336138190} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0bb7d01b14ae58d489b1d0e368d78625, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 2 +--- !u!114 &7221019452982900958 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7733431735248138522} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0bb7d01b14ae58d489b1d0e368d78625, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 2 +--- !u!1001 &7221019453832772197 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: m_TransformParent: {fileID: 7221019453091957966} m_Modifications: - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} @@ -14425,7 +14817,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_RootOrder - value: 14 + value: 16 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchorMax.x @@ -14608,6 +15000,12 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} +--- !u!1 &1784627790847702702 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + m_PrefabInstance: {fileID: 7221019453832772197} + m_PrefabAsset: {fileID: 0} --- !u!114 &1337162824115775044 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, @@ -14626,12 +15024,6 @@ RectTransform: type: 3} m_PrefabInstance: {fileID: 7221019453832772197} m_PrefabAsset: {fileID: 0} ---- !u!1 &1784627790847702702 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, - type: 3} - m_PrefabInstance: {fileID: 7221019453832772197} - m_PrefabAsset: {fileID: 0} --- !u!114 &124410400454291110 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, @@ -14644,6 +15036,21 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d5ce6686d7065cf4986b2ed3e2773c96, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!114 &4727339176155115028 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1784627790847702702} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} + m_Name: + m_EditorClassIdentifier: + reference: Log out + text: {fileID: 1337162824115775044} + translatedLanguageFontPairingOverrides: {fileID: 0} --- !u!1001 &7221019454218537001 PrefabInstance: m_ObjectHideFlags: 0 @@ -14850,6 +15257,21 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!114 &8752962373264156985 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1784627790428423394} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} + m_Name: + m_EditorClassIdentifier: + reference: Back + text: {fileID: 1337162824535102472} + translatedLanguageFontPairingOverrides: {fileID: 0} --- !u!1001 &7221019454328133860 PrefabInstance: m_ObjectHideFlags: 0 @@ -14962,108 +15384,388 @@ PrefabInstance: propertyPath: m_AnchoredPosition.x value: 50.5 objectReference: {fileID: 0} - - target: {fileID: 5597455781261280114, guid: d5fdf02cff5c92349853772a91817fbc, + - target: {fileID: 5597455781261280114, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -24 + objectReference: {fileID: 0} + - target: {fileID: 5597455781261280114, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5597455781261280114, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5597455781261280114, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5722289367893068467, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + propertyPath: m_Color.b + value: 0.105882354 + objectReference: {fileID: 0} + - target: {fileID: 5722289367893068467, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + propertyPath: m_Color.g + value: 0.0627451 + objectReference: {fileID: 0} + - target: {fileID: 5722289367893068467, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + propertyPath: m_Color.r + value: 0.05490196 + objectReference: {fileID: 0} + - target: {fileID: 5722289367893068467, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + propertyPath: m_RaycastTarget + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6519440083403100060, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + propertyPath: m_Color.b + value: 0.105882354 + objectReference: {fileID: 0} + - target: {fileID: 6519440083403100060, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + propertyPath: m_Color.g + value: 0.0627451 + objectReference: {fileID: 0} + - target: {fileID: 6519440083403100060, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + propertyPath: m_Color.r + value: 0.05490196 + objectReference: {fileID: 0} + - target: {fileID: 6519440083403100060, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + propertyPath: m_RaycastTarget + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8497503018571144132, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + propertyPath: m_Name + value: Loading Icon + objectReference: {fileID: 0} + - target: {fileID: 8497503018571144132, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9004829202920558610, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + propertyPath: m_UpdateMode + value: 2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: d5fdf02cff5c92349853772a91817fbc, type: 3} +--- !u!1 &7733431736593305917 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 1109184991508138457, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + m_PrefabInstance: {fileID: 7221019454328133860} + m_PrefabAsset: {fileID: 0} +--- !u!224 &2997179151600901014 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 5597455781261280114, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + m_PrefabInstance: {fileID: 7221019454328133860} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1712258811662060485 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 8355616287565517601, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + m_PrefabInstance: {fileID: 7221019454328133860} + m_PrefabAsset: {fileID: 0} +--- !u!1 &3123872398599519209 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 5722966312418943757, guid: d5fdf02cff5c92349853772a91817fbc, + type: 3} + m_PrefabInstance: {fileID: 7221019454328133860} + m_PrefabAsset: {fileID: 0} +--- !u!114 &7221019454328133884 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1712258811662060485} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0bb7d01b14ae58d489b1d0e368d78625, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 2 +--- !u!114 &7221019454328133885 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3123872398599519209} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0bb7d01b14ae58d489b1d0e368d78625, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 2 +--- !u!114 &7221019454328133858 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7733431736593305917} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0bb7d01b14ae58d489b1d0e368d78625, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 2 +--- !u!1001 &7590905852943520286 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 7221019453091957966} + m_Modifications: + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_Pivot.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_SizeDelta.x + value: 240 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_SizeDelta.y + value: 40 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_AnchoredPosition.x + value: 412 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_AnchoredPosition.y + value: -4 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1100119940201048372, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 55f176a6fe560d24bb3e650f8677edaa, + type: 3} + - target: {fileID: 1100119940201048372, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_RaycastTarget + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3050362772334548697, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_AnchoredPosition.y - value: -24 + propertyPath: m_Name + value: Connect with Xbox objectReference: {fileID: 0} - - target: {fileID: 5597455781261280114, guid: d5fdf02cff5c92349853772a91817fbc, + - target: {fileID: 3050362772334548697, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_LocalEulerAnglesHint.x + propertyPath: m_IsActive value: 0 objectReference: {fileID: 0} - - target: {fileID: 5597455781261280114, guid: d5fdf02cff5c92349853772a91817fbc, + - target: {fileID: 5802092550609450754, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 + propertyPath: m_AnchorMax.x + value: 1 objectReference: {fileID: 0} - - target: {fileID: 5597455781261280114, guid: d5fdf02cff5c92349853772a91817fbc, + - target: {fileID: 5802092550609450754, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_LocalEulerAnglesHint.z + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5802092550609450754, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_AnchorMin.y value: 0 objectReference: {fileID: 0} - - target: {fileID: 5722289367893068467, guid: d5fdf02cff5c92349853772a91817fbc, + - target: {fileID: 5802092550609450754, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_Color.b - value: 0.105882354 + propertyPath: m_SizeDelta.x + value: -40 objectReference: {fileID: 0} - - target: {fileID: 5722289367893068467, guid: d5fdf02cff5c92349853772a91817fbc, + - target: {fileID: 5802092550609450754, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_Color.g - value: 0.0627451 + propertyPath: m_AnchoredPosition.x + value: 20 objectReference: {fileID: 0} - - target: {fileID: 5722289367893068467, guid: d5fdf02cff5c92349853772a91817fbc, + - target: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_Color.r - value: 0.05490196 + propertyPath: scheme + value: objectReference: {fileID: 0} - - target: {fileID: 5722289367893068467, guid: d5fdf02cff5c92349853772a91817fbc, + - target: {fileID: 7873473676537387376, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_RaycastTarget + propertyPath: m_Type value: 0 objectReference: {fileID: 0} - - target: {fileID: 6519440083403100060, guid: d5fdf02cff5c92349853772a91817fbc, + - target: {fileID: 7873473676537387376, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_Color.b - value: 0.105882354 - objectReference: {fileID: 0} - - target: {fileID: 6519440083403100060, guid: d5fdf02cff5c92349853772a91817fbc, + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: db199e15a6375aa4ba43bbda0d9c8354, type: 3} - propertyPath: m_Color.g - value: 0.0627451 - objectReference: {fileID: 0} - - target: {fileID: 6519440083403100060, guid: d5fdf02cff5c92349853772a91817fbc, + - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_Color.r - value: 0.05490196 + propertyPath: m_text + value: Connect with Xbox objectReference: {fileID: 0} - - target: {fileID: 6519440083403100060, guid: d5fdf02cff5c92349853772a91817fbc, + - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_RaycastTarget value: 0 objectReference: {fileID: 0} - - target: {fileID: 8497503018571144132, guid: d5fdf02cff5c92349853772a91817fbc, + - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_Name - value: Loading Icon + propertyPath: m_textInfo.lineCount + value: 1 objectReference: {fileID: 0} - - target: {fileID: 8497503018571144132, guid: d5fdf02cff5c92349853772a91817fbc, + - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_IsActive - value: 0 + propertyPath: m_textInfo.pageCount + value: 1 objectReference: {fileID: 0} - - target: {fileID: 9004829202920558610, guid: d5fdf02cff5c92349853772a91817fbc, + - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - propertyPath: m_UpdateMode + propertyPath: m_textInfo.wordCount + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_textInfo.spaceCount value: 2 objectReference: {fileID: 0} + - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_textInfo.characterCount + value: 17 + objectReference: {fileID: 0} m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: d5fdf02cff5c92349853772a91817fbc, type: 3} ---- !u!224 &2997179151600901014 stripped + m_SourcePrefab: {fileID: 100100000, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} +--- !u!224 &7588899111424954952 stripped RectTransform: - m_CorrespondingSourceObject: {fileID: 5597455781261280114, guid: d5fdf02cff5c92349853772a91817fbc, + m_CorrespondingSourceObject: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - m_PrefabInstance: {fileID: 7221019454328133860} + m_PrefabInstance: {fileID: 7590905852943520286} m_PrefabAsset: {fileID: 0} ---- !u!1 &3123872398599519209 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 5722966312418943757, guid: d5fdf02cff5c92349853772a91817fbc, +--- !u!114 &925376273754343133 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - m_PrefabInstance: {fileID: 7221019454328133860} + m_PrefabInstance: {fileID: 7590905852943520286} m_PrefabAsset: {fileID: 0} ---- !u!1 &7733431736593305917 stripped + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5ce6686d7065cf4986b2ed3e2773c96, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1561099587769769685 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 1109184991508138457, guid: d5fdf02cff5c92349853772a91817fbc, + m_CorrespondingSourceObject: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - m_PrefabInstance: {fileID: 7221019454328133860} + m_PrefabInstance: {fileID: 7590905852943520286} m_PrefabAsset: {fileID: 0} ---- !u!1 &1712258811662060485 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 8355616287565517601, guid: d5fdf02cff5c92349853772a91817fbc, +--- !u!114 &2297091763963530815 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - m_PrefabInstance: {fileID: 7221019454328133860} + m_PrefabInstance: {fileID: 7590905852943520286} m_PrefabAsset: {fileID: 0} ---- !u!1001 &7590905852943520286 + m_GameObject: {fileID: 1561099587769769685} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1493014684774305236 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1561099587769769685} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} + m_Name: + m_EditorClassIdentifier: + reference: Connect with Xbox + text: {fileID: 2297091763963530815} + translatedLanguageFontPairingOverrides: {fileID: 0} +--- !u!1001 &7897759496764889437 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 @@ -15080,7 +15782,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_RootOrder - value: 6 + value: 7 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchorMax.x @@ -15136,7 +15838,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchoredPosition.x - value: 412 + value: 280 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchoredPosition.y @@ -15168,7 +15870,7 @@ PrefabInstance: - target: {fileID: 3050362772334548697, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_Name - value: Connect with Xbox + value: Connect with Switch objectReference: {fileID: 0} - target: {fileID: 3050362772334548697, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} @@ -15219,13 +15921,28 @@ PrefabInstance: - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_text - value: Connect with Xbox + value: Connect with Switch objectReference: {fileID: 0} - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_RaycastTarget value: 0 objectReference: {fileID: 0} + - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_textAlignment + value: 65535 + objectReference: {fileID: 0} + - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_TextStyleHashCode + value: -1183493901 + objectReference: {fileID: 0} + - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_VerticalAlignment + value: 512 + objectReference: {fileID: 0} - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_textInfo.lineCount @@ -15241,6 +15958,11 @@ PrefabInstance: propertyPath: m_textInfo.wordCount value: 3 objectReference: {fileID: 0} + - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + propertyPath: m_HorizontalAlignment + value: 2 + objectReference: {fileID: 0} - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_textInfo.spaceCount @@ -15249,47 +15971,62 @@ PrefabInstance: - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_textInfo.characterCount - value: 17 + value: 19 objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} ---- !u!224 &7588899111424954952 stripped +--- !u!224 &7895660361775405323 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - m_PrefabInstance: {fileID: 7590905852943520286} + m_PrefabInstance: {fileID: 7897759496764889437} m_PrefabAsset: {fileID: 0} ---- !u!114 &2297091763963530815 stripped +--- !u!114 &582567568040103326 stripped MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, + m_CorrespondingSourceObject: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - m_PrefabInstance: {fileID: 7590905852943520286} + m_PrefabInstance: {fileID: 7897759496764889437} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1561099587769769685} + m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Script: {fileID: 11500000, guid: d5ce6686d7065cf4986b2ed3e2773c96, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1 &1561099587769769685 stripped +--- !u!1 &1254262398035219862 stripped GameObject: m_CorrespondingSourceObject: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - m_PrefabInstance: {fileID: 7590905852943520286} + m_PrefabInstance: {fileID: 7897759496764889437} m_PrefabAsset: {fileID: 0} ---- !u!114 &925376273754343133 stripped +--- !u!114 &1955338516196476284 stripped MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, + m_CorrespondingSourceObject: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - m_PrefabInstance: {fileID: 7590905852943520286} + m_PrefabInstance: {fileID: 7897759496764889437} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} + m_GameObject: {fileID: 1254262398035219862} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d5ce6686d7065cf4986b2ed3e2773c96, type: 3} + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1001 &7897759496764889437 +--- !u!114 &3381100307164060962 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1254262398035219862} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} + m_Name: + m_EditorClassIdentifier: + reference: Connect with Switch + text: {fileID: 1955338516196476284} + translatedLanguageFontPairingOverrides: {fileID: 0} +--- !u!1001 &8194193374907090248 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 @@ -15306,7 +16043,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_RootOrder - value: 7 + value: 8 objectReference: {fileID: 0} - target: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_AnchorMax.x @@ -15394,7 +16131,7 @@ PrefabInstance: - target: {fileID: 3050362772334548697, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_Name - value: Connect with Switch + value: Connect with Google objectReference: {fileID: 0} - target: {fileID: 3050362772334548697, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} @@ -15445,7 +16182,7 @@ PrefabInstance: - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} propertyPath: m_text - value: Connect with Switch + value: Connect with Google objectReference: {fileID: 0} - target: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} @@ -15499,29 +16236,35 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} ---- !u!224 &7895660361775405323 stripped +--- !u!224 &8196235051710579998 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 2673114980991062, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - m_PrefabInstance: {fileID: 7897759496764889437} + m_PrefabInstance: {fileID: 8194193374907090248} m_PrefabAsset: {fileID: 0} ---- !u!114 &1955338516196476284 stripped +--- !u!114 &508668283920456041 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 8554790275978124321, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - m_PrefabInstance: {fileID: 7897759496764889437} + m_PrefabInstance: {fileID: 8194193374907090248} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1254262398035219862} + m_GameObject: {fileID: 956430117131061635} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!114 &582567568040103326 stripped +--- !u!1 &956430117131061635 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, + type: 3} + m_PrefabInstance: {fileID: 8194193374907090248} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1457010151673319819 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 7318288332265493699, guid: 9bde00a16f32d6d42a1280198365e78b, type: 3} - m_PrefabInstance: {fileID: 7897759496764889437} + m_PrefabInstance: {fileID: 8194193374907090248} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 @@ -15529,9 +16272,18 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d5ce6686d7065cf4986b2ed3e2773c96, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1 &1254262398035219862 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 9003385506253720779, guid: 9bde00a16f32d6d42a1280198365e78b, - type: 3} - m_PrefabInstance: {fileID: 7897759496764889437} +--- !u!114 &2180465400561802758 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 956430117131061635} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9649349969635e94ab9545060496a7ee, type: 3} + m_Name: + m_EditorClassIdentifier: + reference: Connect with Google + text: {fileID: 508668283920456041} + translatedLanguageFontPairingOverrides: {fileID: 0} diff --git a/UI/Prefabs/Log In & Settings/Log in & settings.prefab b/UI/Prefabs/Log In & Settings/Log in & settings.prefab index f4e1023..20eea4d 100644 --- a/UI/Prefabs/Log In & Settings/Log in & settings.prefab +++ b/UI/Prefabs/Log In & Settings/Log in & settings.prefab @@ -915,7 +915,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: image: {fileID: 4350200811587321609} - config: {fileID: 11400000, guid: b84b9b55d5fe5d34ab014b1eee895eb1, type: 2} + config: {fileID: 11400000, guid: 39a46c89e1cfb8d4c91c13db830e3b5c, type: 2} --- !u!1 &4286792684075734315 GameObject: m_ObjectHideFlags: 0 @@ -1006,7 +1006,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: image: {fileID: 5209677839979513398} - config: {fileID: 11400000, guid: 34d5a2682375b1b4cb4ed887d7f0c032, type: 2} + config: {fileID: 11400000, guid: e0420b28badf13c4aacb5ff5743e5fdd, type: 2} --- !u!1 &4785763858148713969 GameObject: m_ObjectHideFlags: 0 diff --git a/UI/Scripts/Browser.cs b/UI/Scripts/Browser.cs index 2c3d011..2502831 100644 --- a/UI/Scripts/Browser.cs +++ b/UI/Scripts/Browser.cs @@ -1,6 +1,5 @@ using System; using System.Reflection; -using System.Threading.Tasks; using ModIO; using ModIO.Implementation; using ModIO.Util; @@ -11,7 +10,6 @@ namespace ModIOBrowser { - /// /// The main handler for opening and closing the mod IO Browser. /// Use Browser.Open() to open and Browser.Close() to close. @@ -106,9 +104,9 @@ void Update() { // If the user has indicated that they wish to open the Browser but we haven't been // initialized yet, keep checking until we have been initialized - if(openOnInitialize) + if (openOnInitialize) { - if(ModIOUnity.IsInitialized()) + if (ModIOUnity.IsInitialized()) { openOnInitialize = false; IsInitialized(); @@ -120,7 +118,7 @@ void Update() // mod management operation to be run via the UpdateProgressState() method void LateUpdate() { - if(BrowserCanvas.activeSelf) + if (BrowserCanvas.activeSelf) { Mods.UpdateProgressState(); } @@ -151,14 +149,14 @@ public static void Open(Action onClose) { OnClose = onClose; - if(!ModIOUnity.IsInitialized()) + if (!ModIOUnity.IsInitialized()) { openOnInitialize = true; } else { IsInitialized(); - //Turn on selection manager and exampleinpute capture? + //Turn on selection manager and exampleinput capture? } } @@ -203,7 +201,7 @@ public static string EncodeEncryptedSteamAppTicket(byte[] ticketData, uint ticke { base64Ticket = Convert.ToBase64String(trimmedTicket); } - catch(Exception exception) + catch (Exception exception) { Debug.LogError($"[mod.io Browser] Unable to convert the app ticket to a " + $"base64 string, caught exception: {exception.Message} - " @@ -245,6 +243,46 @@ public static void SetupSwitchAuthenticationOption(RetrieveAuthenticationCodeDel }); } + /// + /// Using this method will enable an option in the Authentication modal for a user to + /// log in with their Google credentials. Simply provide the token and the user's email + /// address and the authentication flow for Google will be available. + /// + /// delegate for retrieving the google token + /// (Optional) provide the users email address + public static void SetupGoogleAuthenticationOption(RetrieveAuthenticationCodeDelegate getGoogleTokenDelegate, string userEmail = null) + { + try + { + MonoDispatcher.Instance.Run(() => + { + Authentication.getGoogleToken = getGoogleTokenDelegate; + Authentication.optionalThirdPartyEmailAddressUsedForAuthentication = userEmail; + }); + } + catch (Exception e) + { + Console.WriteLine(e); + throw; + } + } + + /// + /// Using this method will enable an option in the Authentication modal for a user to + /// log in with their Apple credentials. Simply provide the token and the user's email + /// address and the authentication flow for Apple will be available. + /// + /// delegate for retrieving the Apple token + /// (Optional) provide the users email address + public static void SetupAppleAuthenticationOption(RetrieveAuthenticationCodeDelegate getAppleTokenDelegate, string userEmail = null) + { + MonoDispatcher.Instance.Run(() => + { + Authentication.getAppleToken = getAppleTokenDelegate; + Authentication.optionalThirdPartyEmailAddressUsedForAuthentication = userEmail; + }); + } + /// /// Using this method will enable an option in the Authentication modal for a user to /// log in with their steam credentials. Simply provide the steam ticket (base 64 encoded) @@ -316,7 +354,7 @@ public void SetBrowserRowSearchFilters(SearchFilter[] searchFilters) private void SetModRowFilterDefaults() { - if(this.FeaturedSearchFilter == null) + if (this.FeaturedSearchFilter == null) { this.FeaturedSearchFilter = new SearchFilter(); FeaturedSearchFilter.RevenueType = RevenueType.Free; @@ -327,7 +365,7 @@ private void SetModRowFilterDefaults() this.FeaturedSearchFilter.SetToAscending(true); } - if(browserRowSearchFilters == null || browserRowSearchFilters.Length == 0) + if (browserRowSearchFilters == null || browserRowSearchFilters.Length == 0) { browserRowSearchFilters = new SearchFilter[4]; @@ -368,9 +406,9 @@ private void SetModRowFilterDefaults() } else { - foreach(var filter in this.browserRowSearchFilters) + foreach (var filter in this.browserRowSearchFilters) { - if(filter.RevenueType == RevenueType.FreeAndPaid || filter.RevenueType == RevenueType.Paid) + if (filter.RevenueType == RevenueType.FreeAndPaid || filter.RevenueType == RevenueType.Paid) filter.RevenueType = RevenueType.Free; filter.SetPageIndex(0); filter.SetPageSize(20); @@ -378,10 +416,10 @@ private void SetModRowFilterDefaults() } } - #endregion // Frontend methods #region Initialization + /// /// We use this to check initialization if the plugin hasn't been initialized we will first /// attempt to initialize it ourselves, based on the current config file. @@ -389,9 +427,9 @@ private void SetModRowFilterDefaults() /// static void OnInitialize(Result result) { - if(result.Succeeded()) + if (result.Succeeded()) { - if(openOnInitialize) + if (openOnInitialize) { IsInitialized(); } @@ -408,7 +446,7 @@ static async void IsInitialized() { openOnInitialize = false; - if(Instance == null) + if (Instance == null) { Debug.LogWarning("[mod.io Browser] Could not open because the Browser.cs" + " singleton hasn't been set yet. (Check the gameObject holding" @@ -420,7 +458,7 @@ static async void IsInitialized() Instance.SingletonAwakener.AttemptInitilization(); // Activate the Canvas - if(!Instance.BrowserCanvas.activeSelf) + if (!Instance.BrowserCanvas.activeSelf) { Instance.BrowserCanvas.SetActive(true); IsOpen = true; @@ -433,7 +471,7 @@ static async void IsInitialized() // wait and check if we're authenticated, we need to know if our access token is still valid var isAuthed = await ModIOUnityAsync.IsAuthenticated(); - if(isAuthed.Succeeded()) + if (isAuthed.Succeeded()) { Authentication.Instance.IsAuthenticated = true; ModIOUnity.FetchUpdates(delegate { }); @@ -461,19 +499,20 @@ static async void IsInitialized() public void OpenMenuProfile() => Navigating.OpenMenuProfile(); - #endregion +#endregion #region Editor helpers + public void CheckForMissingReferencesInScene() { Debug.LogWarning("This function may give false positives, mostly in the case of text input fields and dropdowns"); MonoBehaviour[] components = Resources.FindObjectsOfTypeAll(); - foreach(MonoBehaviour component in components) + foreach (MonoBehaviour component in components) { var fields = component.GetType().GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); - foreach(var field in fields) + foreach (var field in fields) { - if(field.FieldType == typeof(GameObject) && field.GetValue(component) == null) + if (field.FieldType == typeof( GameObject ) && field.GetValue(component) == null) { //Debug.LogError("Missing reference on " + component.name + " of object: " + component.gameObject.name); Debug.LogError("Missing reference at: " + component.transform.FullPath()); @@ -481,6 +520,7 @@ public void CheckForMissingReferencesInScene() } } } + #endregion } } diff --git a/UI/Scripts/ExampleSettingsPanel.cs b/UI/Scripts/ExampleSettingsPanel.cs index 8d21f34..668853d 100644 --- a/UI/Scripts/ExampleSettingsPanel.cs +++ b/UI/Scripts/ExampleSettingsPanel.cs @@ -1,5 +1,4 @@ using System; -using ModIOBrowser.Implementation; using TMPro; using UnityEngine; using UnityEngine.UI; @@ -9,8 +8,11 @@ namespace ModIO.Implementation public class ExampleSettingsPanel : MonoBehaviour { [SerializeField] TMP_InputField gameIdInputField; + [SerializeField] TMP_InputField apiKeyInputField; + [SerializeField] TMP_InputField initUserInputField; + [SerializeField] TextMeshProUGUI currentServerUrlText; [SerializeField] TextMeshProUGUI currentGameIdText; [SerializeField] Button[] buttons; @@ -23,9 +25,11 @@ public void ActivatePanel(bool isActive) currentServerUrlText.text = $"Server Url: {Settings.server.serverURL}"; currentGameIdText.text = $"Game Id: {Settings.server.gameId}"; + ((TextMeshProUGUI)gameIdInputField.placeholder).text = $"Game Id: {Settings.server.gameId}"; + ((TextMeshProUGUI)apiKeyInputField.placeholder).text = $"Api Key: {Settings.server.gameKey}"; gameObject.SetActive(isActive); - + LayoutRebuilder.ForceRebuildLayoutImmediate(transform as RectTransform); LayoutRebuilder.ForceRebuildLayoutImmediate(transform as RectTransform); } @@ -82,6 +86,9 @@ public async void SaveSettings() currentServerUrlText.text = $"Server Url: {urlToUse}"; currentGameIdText.text = $"Game Id: {Settings.server.gameId}"; + ((TextMeshProUGUI)gameIdInputField.placeholder).text = $"Game Id: {Settings.server.gameId}"; + ((TextMeshProUGUI)apiKeyInputField.placeholder).text = $"Api Key: {Settings.server.gameKey}"; + ((TextMeshProUGUI)initUserInputField.placeholder).text = $"User: {user}"; } catch(Exception e) { diff --git a/UI/Scripts/Panels/Authentication.cs b/UI/Scripts/Panels/Authentication.cs index b05a5ff..2afe024 100644 --- a/UI/Scripts/Panels/Authentication.cs +++ b/UI/Scripts/Panels/Authentication.cs @@ -16,9 +16,11 @@ public partial class Authentication : SelfInstancingMonoSingleton + { + MonoDispatcher.Instance.Run(() => + { + if(string.IsNullOrEmpty(authCode)) + { + currentAuthenticationPortal = UserPortal.None; + AuthenticationPanels.Instance.OpenPanel_Problem("We were unable to validate your credentials with the mod.io server."); + return; + } + + ModIOUnity.AuthenticateUserViaApple(authCode, + optionalThirdPartyEmailAddressUsedForAuthentication, + LastReceivedTermsOfUse.hash, + delegate (Result result) + { + ThirdPartyAuthenticationSubmitted(result, UserPortal.Apple); + }); + }); + }); + } + + public void SubmitGoogleAuthenticationRequest() + { + AuthenticationPanels.Instance.OpenPanel_Waiting(); + Debug.Log($"getGoogleToken is {(getGoogleToken == null ? "Null":"Valid")}"); + getGoogleToken((authCode) => + { + MonoDispatcher.Instance.Run(() => + { + if(string.IsNullOrEmpty(authCode)) + { + currentAuthenticationPortal = UserPortal.None; + AuthenticationPanels.Instance.OpenPanel_Problem("We were unable to validate your credentials with the mod.io server."); + return; + } + + Debug.Log($"AuthenticateUserViaGoogle called"); + ModIOUnity.AuthenticateUserViaGoogle(authCode, + optionalThirdPartyEmailAddressUsedForAuthentication, + LastReceivedTermsOfUse.hash, + delegate (Result result) + { + ThirdPartyAuthenticationSubmitted(result, UserPortal.Nintendo); + }); + }); + }); + } internal void SubmitPlayStationAuthenticationRequest() { @@ -294,7 +348,7 @@ internal void ReceiveTermsOfUse(ResultAnd resultAndTermsOfUse) if(resultAndTermsOfUse.result.Succeeded()) { CacheTermsOfUseAndLinks(resultAndTermsOfUse.value); - AuthenticationPanels.Instance.OpenPanel_TermsOfUse(resultAndTermsOfUse.value.termsOfUse); + AuthenticationPanels.Instance.OpenPanel_TermsOfUse(resultAndTermsOfUse.value); } else { @@ -326,7 +380,7 @@ public void CodeSubmitted(Result result) } } } - + public static async Task GetNewAccessToken() { //Re-cache the TOS because we need the hash @@ -461,7 +515,7 @@ void ThirdPartyAuthenticationSubmitted(Result result, UserPortal authenticationP if(result.Succeeded()) { Home.Instance.RefreshHomePanel(); - + currentAuthenticationPortal = authenticationPortal; AuthenticationPanels.Instance.OpenPanel_Complete(); } diff --git a/UI/Scripts/Panels/Authentication/AuthenticationPanels.cs b/UI/Scripts/Panels/Authentication/AuthenticationPanels.cs index f41347c..9be3758 100644 --- a/UI/Scripts/Panels/Authentication/AuthenticationPanels.cs +++ b/UI/Scripts/Panels/Authentication/AuthenticationPanels.cs @@ -35,6 +35,8 @@ public class AuthenticationPanels : SelfInstancingMonoSingleton + { + Authentication.Instance.GetTermsOfUse(); + authenticationMethodAfterAgreeingToTheTOS = Authentication.Instance.SubmitGoogleAuthenticationRequest; + }); + platformButton = AuthenticationPanelConnectViaGoogleButton; + + InputNavigation.Instance.Select(AuthenticationPanelConnectViaGoogleButton); + } + else if(Authentication.getAppleToken != null) + { + AuthenticationPanelConnectViaAppleButton.gameObject.SetActive(true); + AuthenticationPanelConnectViaAppleButton.onClick.RemoveAllListeners(); + AuthenticationPanelConnectViaAppleButton.onClick.AddListener(() => + { + Authentication.Instance.GetTermsOfUse(); + authenticationMethodAfterAgreeingToTheTOS = Authentication.Instance.SubmitAppleAuthenticationRequest; + }); + platformButton = AuthenticationPanelConnectViaAppleButton; + + InputNavigation.Instance.Select(AuthenticationPanelConnectViaAppleButton); + } else if(Authentication.getPlayStationAuthCode != null) { AuthenticationPanelConnectViaPlayStationButton.gameObject.SetActive(true); @@ -369,6 +406,8 @@ void HideAllPanels() AuthenticationPanelConnectViaEmailButton.gameObject.SetActive(false); AuthenticationPanelConnectViaSteamButton.gameObject.SetActive(false); AuthenticationPanelConnectViaXboxButton.gameObject.SetActive(false); + AuthenticationPanelConnectViaGoogleButton.gameObject.SetActive(false); + AuthenticationPanelConnectViaAppleButton.gameObject.SetActive(false); AuthenticationPanelConnectViaSwitchButton.gameObject.SetActive(false); AuthenticationPanelConnectViaPlayStationButton.gameObject.SetActive(false); AuthenticationPanelConnectViaGOGButton.gameObject.SetActive(false); @@ -511,7 +550,7 @@ public void OpenPanel_Problem(string problemTranslationKey = null, string titleT public void OpenPanel_TermsOfUse() => OpenPanel_TermsOfUse(null); - public void OpenPanel_TermsOfUse(string TOS = null) + public void OpenPanel_TermsOfUse(TermsOfUse? termsOfUse) { HideAllPanels(); AuthenticationPanel.SetActive(true); @@ -524,9 +563,14 @@ public void OpenPanel_TermsOfUse(string TOS = null) AuthenticationPanelInfoText.gameObject.SetActive(true); - if(TOS != null) + if (termsOfUse.HasValue) _lastTermsOfUse = termsOfUse; + if (_lastTermsOfUse.HasValue) { - AuthenticationPanelInfoText.text = TOS; + AuthenticationPanelInfoText.text = _lastTermsOfUse.Value.termsOfUse; + AuthenticationPanelTOSText.text = _lastTermsOfUse.Value.links[1].name; + AuthenticationPanelPrivacyPolicyText.text = _lastTermsOfUse.Value.links[2].name; + AuthenticationPanelBackButtonText.text = _lastTermsOfUse.Value.disagreeText; + AuthenticationPanelAgreeText.text = _lastTermsOfUse.Value.agreeText; } AuthenticationPanelBackButton.gameObject.SetActive(true); diff --git a/UI/Scripts/Panels/Authentication/Avatar.cs b/UI/Scripts/Panels/Authentication/Avatar.cs index 1adb5fe..070472b 100644 --- a/UI/Scripts/Panels/Authentication/Avatar.cs +++ b/UI/Scripts/Panels/Authentication/Avatar.cs @@ -5,10 +5,10 @@ using UnityEngine.UI; namespace ModIOBrowser.Implementation -{ - +{ + public class Avatar : SelfInstancingMonoSingleton - { + { [SerializeField] public Image Avatar_Main; [SerializeField] public Image AvatarDownloadBar; @@ -19,30 +19,27 @@ public class Avatar : SelfInstancingMonoSingleton [SerializeField] public Sprite SteamAvatar; [SerializeField] public Sprite XboxAvatar; [SerializeField] public Sprite PlayStationAvatar; - + private async Task GetSprite(UserPortal currentAuthenticationPortal, UserProfile currentUserProfile) { switch(currentAuthenticationPortal) { case UserPortal.Nintendo: return switchAvatar; - + case UserPortal.Steam: return SteamAvatar; - + case UserPortal.XboxLive: return XboxAvatar; - - case UserPortal.PlayStationNetwork: - return PlayStationAvatar; } currentUserProfile = await GetCurrentUser(currentUserProfile); - var sprite = await DownloadSprite(currentUserProfile.avatar_50x50); + var sprite = await DownloadSprite(currentUserProfile.avatar_50x50); return sprite; } - - public void SetupUser() => + + public void SetupUser() => SetupUser(Authentication.Instance.currentAuthenticationPortal, Authentication.Instance.currentUserProfile); @@ -55,7 +52,7 @@ private async void SetupUser(UserPortal currentAuthenticationPortal, UserProfile ShowDefaultAvatar(); return; } - + if(currentAuthenticationPortal == UserPortal.None) { PlatformFree(sprite); @@ -107,7 +104,7 @@ private void Platform(Sprite sprite) internal async Task GetCurrentUser(UserProfile currentUserProfile) { ResultAnd resultAnd = await ModIOUnityAsync.GetCurrentUser(); - + return resultAnd.result.Succeeded() ? resultAnd.value : currentUserProfile; } @@ -127,6 +124,6 @@ private async Task DownloadSprite(DownloadReference reference) } internal void UpdateDownloadProgressBar(ProgressHandle handle) - => AvatarDownloadBar.fillAmount = handle == null ? 0f : handle.Progress; + => AvatarDownloadBar.fillAmount = handle == null ? 0f : handle.Progress; } } diff --git a/UI/Scripts/Panels/ModioContextMenu.cs b/UI/Scripts/Panels/ModioContextMenu.cs index adf2c6d..cc7e01e 100644 --- a/UI/Scripts/Panels/ModioContextMenu.cs +++ b/UI/Scripts/Panels/ModioContextMenu.cs @@ -122,7 +122,7 @@ void Update() { // if we detect a scroll, left or right mouse click, check if mouse is inside context // menu bounds. If not, then close context menu - if(IsMouseInUse()) + if(InputNavigation.Instance.mouseNavigation && IsMouseInUse()) { // check if the mouse is within the bounds of the contextMenu RectTransform contextRect = transform as RectTransform; diff --git a/UI/Sprites/Backgrounds.meta b/UI/Sprites/Backgrounds.meta new file mode 100644 index 0000000..0b82181 --- /dev/null +++ b/UI/Sprites/Backgrounds.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9079c77afda517a4cabf4b0284513cab +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Backgrounds/background_V1.jpg b/UI/Sprites/Backgrounds/background_V1.jpg new file mode 100644 index 0000000..878f380 Binary files /dev/null and b/UI/Sprites/Backgrounds/background_V1.jpg differ diff --git a/UI/Sprites/Backgrounds/background_V1.jpg.meta b/UI/Sprites/Backgrounds/background_V1.jpg.meta new file mode 100644 index 0000000..911fff6 --- /dev/null +++ b/UI/Sprites/Backgrounds/background_V1.jpg.meta @@ -0,0 +1,181 @@ +fileFormatVersion: 2 +guid: 5f81cfc13bd9afe43aee072f59ceb4a8 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Backgrounds/background_V2.jpg b/UI/Sprites/Backgrounds/background_V2.jpg new file mode 100644 index 0000000..d618c47 Binary files /dev/null and b/UI/Sprites/Backgrounds/background_V2.jpg differ diff --git a/UI/Sprites/Backgrounds/background_V2.jpg.meta b/UI/Sprites/Backgrounds/background_V2.jpg.meta new file mode 100644 index 0000000..43c01f0 --- /dev/null +++ b/UI/Sprites/Backgrounds/background_V2.jpg.meta @@ -0,0 +1,181 @@ +fileFormatVersion: 2 +guid: d1191db97d91d0e4cb9b0bc03a55ae3b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Backgrounds/background_V3.jpg b/UI/Sprites/Backgrounds/background_V3.jpg new file mode 100644 index 0000000..c720098 Binary files /dev/null and b/UI/Sprites/Backgrounds/background_V3.jpg differ diff --git a/UI/Sprites/Backgrounds/background_V3.jpg.meta b/UI/Sprites/Backgrounds/background_V3.jpg.meta new file mode 100644 index 0000000..124318a --- /dev/null +++ b/UI/Sprites/Backgrounds/background_V3.jpg.meta @@ -0,0 +1,181 @@ +fileFormatVersion: 2 +guid: 64d67717e3005c34c83b13fe437d0da0 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Backgrounds/controller.png b/UI/Sprites/Backgrounds/controller.png new file mode 100644 index 0000000..786a3c5 Binary files /dev/null and b/UI/Sprites/Backgrounds/controller.png differ diff --git a/UI/Sprites/Backgrounds/controller.png.meta b/UI/Sprites/Backgrounds/controller.png.meta new file mode 100644 index 0000000..3d70133 --- /dev/null +++ b/UI/Sprites/Backgrounds/controller.png.meta @@ -0,0 +1,181 @@ +fileFormatVersion: 2 +guid: 0c782f67c4dddbe4cbb5a5105e19076e +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 16384 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Backgrounds/tagline.png b/UI/Sprites/Backgrounds/tagline.png new file mode 100644 index 0000000..11d3e6d Binary files /dev/null and b/UI/Sprites/Backgrounds/tagline.png differ diff --git a/UI/Sprites/Backgrounds/tagline.png.meta b/UI/Sprites/Backgrounds/tagline.png.meta new file mode 100644 index 0000000..2f9b617 --- /dev/null +++ b/UI/Sprites/Backgrounds/tagline.png.meta @@ -0,0 +1,181 @@ +fileFormatVersion: 2 +guid: 2703bb80b2531484e8ac94780773fb5d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/Icon_Library.png b/UI/Sprites/Icons/Icon_Library.png new file mode 100644 index 0000000..25ea5d6 Binary files /dev/null and b/UI/Sprites/Icons/Icon_Library.png differ diff --git a/UI/Sprites/Icons/Icon_Library.png.meta b/UI/Sprites/Icons/Icon_Library.png.meta new file mode 100644 index 0000000..7b86d8f --- /dev/null +++ b/UI/Sprites/Icons/Icon_Library.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: e3e67c92e653e4f42a5cd5e0417b582f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/Icon_downloads_40x40.png b/UI/Sprites/Icons/Icon_downloads_40x40.png new file mode 100644 index 0000000..a1b531a Binary files /dev/null and b/UI/Sprites/Icons/Icon_downloads_40x40.png differ diff --git a/UI/Sprites/Icons/Icon_downloads_40x40.png.meta b/UI/Sprites/Icons/Icon_downloads_40x40.png.meta new file mode 100644 index 0000000..e6c8b60 --- /dev/null +++ b/UI/Sprites/Icons/Icon_downloads_40x40.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: af275c633fcb2a5418a777c718ef8482 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/Icon_filter_40x40.png b/UI/Sprites/Icons/Icon_filter_40x40.png new file mode 100644 index 0000000..83c62db Binary files /dev/null and b/UI/Sprites/Icons/Icon_filter_40x40.png differ diff --git a/UI/Sprites/Icons/Icon_filter_40x40.png.meta b/UI/Sprites/Icons/Icon_filter_40x40.png.meta new file mode 100644 index 0000000..159df1b --- /dev/null +++ b/UI/Sprites/Icons/Icon_filter_40x40.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: 2bf2366f8b2b82548b1b410629fabe2d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/Icon_flag_40x40.png b/UI/Sprites/Icons/Icon_flag_40x40.png new file mode 100644 index 0000000..4da9a74 Binary files /dev/null and b/UI/Sprites/Icons/Icon_flag_40x40.png differ diff --git a/UI/Sprites/Icons/Icon_flag_40x40.png.meta b/UI/Sprites/Icons/Icon_flag_40x40.png.meta new file mode 100644 index 0000000..cc23a2a --- /dev/null +++ b/UI/Sprites/Icons/Icon_flag_40x40.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: cdfe74ac571a28e4a909978658e8262f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/Icon_folder_40x40.png b/UI/Sprites/Icons/Icon_folder_40x40.png new file mode 100644 index 0000000..201156a Binary files /dev/null and b/UI/Sprites/Icons/Icon_folder_40x40.png differ diff --git a/UI/Sprites/Icons/Icon_folder_40x40.png.meta b/UI/Sprites/Icons/Icon_folder_40x40.png.meta new file mode 100644 index 0000000..07b5920 --- /dev/null +++ b/UI/Sprites/Icons/Icon_folder_40x40.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: 29600b4663eb0584385e48880430bf2b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/Icon_tag_40x40.png b/UI/Sprites/Icons/Icon_tag_40x40.png new file mode 100644 index 0000000..b5edf17 Binary files /dev/null and b/UI/Sprites/Icons/Icon_tag_40x40.png differ diff --git a/UI/Sprites/Icons/Icon_tag_40x40.png.meta b/UI/Sprites/Icons/Icon_tag_40x40.png.meta new file mode 100644 index 0000000..5e59186 --- /dev/null +++ b/UI/Sprites/Icons/Icon_tag_40x40.png.meta @@ -0,0 +1,169 @@ +fileFormatVersion: 2 +guid: beb39f46b47a62746943f13fb8494254 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/Platform Icons/Nintendo Switch.png b/UI/Sprites/Icons/Platform Icons/Nintendo Switch.png deleted file mode 100644 index 3682df7..0000000 Binary files a/UI/Sprites/Icons/Platform Icons/Nintendo Switch.png and /dev/null differ diff --git a/UI/Sprites/Icons/Platform Icons/Nintendo.png b/UI/Sprites/Icons/Platform Icons/Nintendo.png deleted file mode 100644 index 43fcdb5..0000000 Binary files a/UI/Sprites/Icons/Platform Icons/Nintendo.png and /dev/null differ diff --git a/UI/Sprites/Icons/Platform Icons/Playstation.png b/UI/Sprites/Icons/Platform Icons/Playstation.png deleted file mode 100644 index 2841312..0000000 Binary files a/UI/Sprites/Icons/Platform Icons/Playstation.png and /dev/null differ diff --git a/UI/Sprites/Icons/Platform Icons/Xbox.png b/UI/Sprites/Icons/Platform Icons/Xbox.png deleted file mode 100644 index f7052b0..0000000 Binary files a/UI/Sprites/Icons/Platform Icons/Xbox.png and /dev/null differ diff --git a/UI/Sprites/Icons/X_icon.png b/UI/Sprites/Icons/X_icon.png index f36528b..53f41cc 100644 Binary files a/UI/Sprites/Icons/X_icon.png and b/UI/Sprites/Icons/X_icon.png differ diff --git a/UI/Sprites/Icons/avatar.png b/UI/Sprites/Icons/avatar.png new file mode 100644 index 0000000..2fb7aba Binary files /dev/null and b/UI/Sprites/Icons/avatar.png differ diff --git a/UI/Sprites/Icons/avatar.png.meta b/UI/Sprites/Icons/avatar.png.meta new file mode 100644 index 0000000..75f6fee --- /dev/null +++ b/UI/Sprites/Icons/avatar.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: 3dde4f9d7919aa440bafb6d0a1fa5720 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/avatar_Icon_40x40.png b/UI/Sprites/Icons/avatar_Icon_40x40.png new file mode 100644 index 0000000..d0d37e5 Binary files /dev/null and b/UI/Sprites/Icons/avatar_Icon_40x40.png differ diff --git a/UI/Sprites/Icons/avatar_Icon_40x40.png.meta b/UI/Sprites/Icons/avatar_Icon_40x40.png.meta new file mode 100644 index 0000000..3de9dfd --- /dev/null +++ b/UI/Sprites/Icons/avatar_Icon_40x40.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: 297c2ef96d7459e41a376b2fbc6dc833 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/avatar_pc_Icon_40x40.png b/UI/Sprites/Icons/avatar_pc_Icon_40x40.png new file mode 100644 index 0000000..ff1f652 Binary files /dev/null and b/UI/Sprites/Icons/avatar_pc_Icon_40x40.png differ diff --git a/UI/Sprites/Icons/avatar_pc_Icon_40x40.png.meta b/UI/Sprites/Icons/avatar_pc_Icon_40x40.png.meta new file mode 100644 index 0000000..fc0e3b9 --- /dev/null +++ b/UI/Sprites/Icons/avatar_pc_Icon_40x40.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: e4de86cd38510ac4e9b487d0a2c9f969 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/bin_Icon_40x40.png b/UI/Sprites/Icons/bin_Icon_40x40.png new file mode 100644 index 0000000..f5c63b3 Binary files /dev/null and b/UI/Sprites/Icons/bin_Icon_40x40.png differ diff --git a/UI/Sprites/Icons/bin_Icon_40x40.png.meta b/UI/Sprites/Icons/bin_Icon_40x40.png.meta new file mode 100644 index 0000000..16b83b2 --- /dev/null +++ b/UI/Sprites/Icons/bin_Icon_40x40.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: 029058620f071424c8d14607f21456ce +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/browse_Icon_40x40.png b/UI/Sprites/Icons/browse_Icon_40x40.png new file mode 100644 index 0000000..c9b5d6e Binary files /dev/null and b/UI/Sprites/Icons/browse_Icon_40x40.png differ diff --git a/UI/Sprites/Icons/browse_Icon_40x40.png.meta b/UI/Sprites/Icons/browse_Icon_40x40.png.meta new file mode 100644 index 0000000..47a4538 --- /dev/null +++ b/UI/Sprites/Icons/browse_Icon_40x40.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: 1b4826362aea6a24aad38a202babee87 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/checkmark_black_Icon_40x40.png b/UI/Sprites/Icons/checkmark_black_Icon_40x40.png new file mode 100644 index 0000000..c9ad3a4 Binary files /dev/null and b/UI/Sprites/Icons/checkmark_black_Icon_40x40.png differ diff --git a/UI/Sprites/Icons/checkmark_black_Icon_40x40.png.meta b/UI/Sprites/Icons/checkmark_black_Icon_40x40.png.meta new file mode 100644 index 0000000..90ae086 --- /dev/null +++ b/UI/Sprites/Icons/checkmark_black_Icon_40x40.png.meta @@ -0,0 +1,181 @@ +fileFormatVersion: 2 +guid: 1e8b7ec6f272486418fdaa56ef1132fe +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/discord_icon_40x40.png b/UI/Sprites/Icons/discord_icon_40x40.png new file mode 100644 index 0000000..aa7f2b6 Binary files /dev/null and b/UI/Sprites/Icons/discord_icon_40x40.png differ diff --git a/UI/Sprites/Icons/discord_icon_40x40.png.meta b/UI/Sprites/Icons/discord_icon_40x40.png.meta new file mode 100644 index 0000000..ce1317a --- /dev/null +++ b/UI/Sprites/Icons/discord_icon_40x40.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: 1f8771d0c279a1241a2ec03f62447488 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/downloads_Icon_40x40.png b/UI/Sprites/Icons/downloads_Icon_40x40.png new file mode 100644 index 0000000..434741d Binary files /dev/null and b/UI/Sprites/Icons/downloads_Icon_40x40.png differ diff --git a/UI/Sprites/Icons/downloads_Icon_40x40.png.meta b/UI/Sprites/Icons/downloads_Icon_40x40.png.meta new file mode 100644 index 0000000..85a33cf --- /dev/null +++ b/UI/Sprites/Icons/downloads_Icon_40x40.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: 21a6391d559a54a468a3b2db1818e175 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/google_icon_40x40.png b/UI/Sprites/Icons/google_icon_40x40.png new file mode 100644 index 0000000..74d0a44 Binary files /dev/null and b/UI/Sprites/Icons/google_icon_40x40.png differ diff --git a/UI/Sprites/Icons/google_icon_40x40.png.meta b/UI/Sprites/Icons/google_icon_40x40.png.meta new file mode 100644 index 0000000..b02fe5b --- /dev/null +++ b/UI/Sprites/Icons/google_icon_40x40.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: 296a2d72cc58fad47ae32bd1cd37c338 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/gradient.png b/UI/Sprites/Icons/gradient.png new file mode 100644 index 0000000..baed78a Binary files /dev/null and b/UI/Sprites/Icons/gradient.png differ diff --git a/UI/Sprites/Icons/gradient.png.meta b/UI/Sprites/Icons/gradient.png.meta new file mode 100644 index 0000000..6223136 --- /dev/null +++ b/UI/Sprites/Icons/gradient.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: 983aaca574881764a954bc14b2ca97bf +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/icon_40x40_arrow_l.png b/UI/Sprites/Icons/icon_40x40_arrow_l.png new file mode 100644 index 0000000..fd261f3 Binary files /dev/null and b/UI/Sprites/Icons/icon_40x40_arrow_l.png differ diff --git a/UI/Sprites/Icons/Platform Icons/Nintendo Switch.png.meta b/UI/Sprites/Icons/icon_40x40_arrow_l.png.meta similarity index 69% rename from UI/Sprites/Icons/Platform Icons/Nintendo Switch.png.meta rename to UI/Sprites/Icons/icon_40x40_arrow_l.png.meta index fe845f0..2b6c4e6 100644 --- a/UI/Sprites/Icons/Platform Icons/Nintendo Switch.png.meta +++ b/UI/Sprites/Icons/icon_40x40_arrow_l.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 039788403b804a44988a679592c09620 +guid: 2313f2f4378134995b468a35f1747356 TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 9 + serializedVersion: 12 mipmaps: mipMapMode: 0 enableMipMap: 0 @@ -23,6 +23,7 @@ TextureImporter: isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +32,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 + filterMode: 1 + aniso: 1 + mipBias: 0 wrapU: 1 wrapV: 1 - wrapW: -1 + wrapW: 0 nPOTScale: 0 lightmap: 0 compressionQuality: 50 @@ -54,11 +55,16 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 platformSettings: - - serializedVersion: 2 + - serializedVersion: 3 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -69,17 +75,32 @@ TextureImporter: allowsAlphaSplitting: 0 overridden: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] physicsShape: [] bones: [] - spriteID: 025bb532fd078a64db953fc1c5bd967c + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 vertices: [] indices: edges: [] weights: [] + secondaryTextures: [] spritePackingTag: pSDRemoveMatte: 0 pSDShowRemoveMatteOption: 0 diff --git a/UI/Sprites/Icons/icon_40x40_arrow_r.png b/UI/Sprites/Icons/icon_40x40_arrow_r.png new file mode 100644 index 0000000..7a69a49 Binary files /dev/null and b/UI/Sprites/Icons/icon_40x40_arrow_r.png differ diff --git a/UI/Sprites/Icons/Platform Icons/Nintendo.png.meta b/UI/Sprites/Icons/icon_40x40_arrow_r.png.meta similarity index 69% rename from UI/Sprites/Icons/Platform Icons/Nintendo.png.meta rename to UI/Sprites/Icons/icon_40x40_arrow_r.png.meta index 0e4e293..e4d16d7 100644 --- a/UI/Sprites/Icons/Platform Icons/Nintendo.png.meta +++ b/UI/Sprites/Icons/icon_40x40_arrow_r.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 414f4e81374260440b9e822c8d833957 +guid: ca8a6374739c24723891a776576deb86 TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 9 + serializedVersion: 12 mipmaps: mipMapMode: 0 enableMipMap: 0 @@ -23,6 +23,7 @@ TextureImporter: isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +32,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 + filterMode: 1 + aniso: 1 + mipBias: 0 wrapU: 1 wrapV: 1 - wrapW: -1 + wrapW: 0 nPOTScale: 0 lightmap: 0 compressionQuality: 50 @@ -54,11 +55,16 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 platformSettings: - - serializedVersion: 2 + - serializedVersion: 3 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -69,17 +75,32 @@ TextureImporter: allowsAlphaSplitting: 0 overridden: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] physicsShape: [] bones: [] - spriteID: 32c70fa4daab8174ab34af864a1107ee + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 vertices: [] indices: edges: [] weights: [] + secondaryTextures: [] spritePackingTag: pSDRemoveMatte: 0 pSDShowRemoveMatteOption: 0 diff --git a/UI/Sprites/Icons/icon_40x40_circle_check.png b/UI/Sprites/Icons/icon_40x40_circle_check.png new file mode 100644 index 0000000..1055e41 Binary files /dev/null and b/UI/Sprites/Icons/icon_40x40_circle_check.png differ diff --git a/UI/Sprites/Icons/Platform Icons/Playstation.png.meta b/UI/Sprites/Icons/icon_40x40_circle_check.png.meta similarity index 68% rename from UI/Sprites/Icons/Platform Icons/Playstation.png.meta rename to UI/Sprites/Icons/icon_40x40_circle_check.png.meta index 7824696..e0d7807 100644 --- a/UI/Sprites/Icons/Platform Icons/Playstation.png.meta +++ b/UI/Sprites/Icons/icon_40x40_circle_check.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: df059c317d9d7e14f929e2f13aec1a7d +guid: 74360b0defa0f4b8ba202f4c142df4be TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 9 + serializedVersion: 12 mipmaps: mipMapMode: 0 enableMipMap: 0 @@ -23,6 +23,7 @@ TextureImporter: isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +32,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 + filterMode: 1 + aniso: 1 + mipBias: 0 wrapU: 1 wrapV: 1 - wrapW: -1 + wrapW: 0 nPOTScale: 0 lightmap: 0 compressionQuality: 50 @@ -54,32 +55,52 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 platformSettings: - - serializedVersion: 2 + - serializedVersion: 3 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 - textureCompression: 1 + textureCompression: 2 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] physicsShape: [] bones: [] - spriteID: 63ba135f97087314482ddaa5f5cd5933 + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 vertices: [] indices: edges: [] weights: [] + secondaryTextures: [] spritePackingTag: pSDRemoveMatte: 0 pSDShowRemoveMatteOption: 0 diff --git a/UI/Sprites/Icons/icon_40x40_circle_cross.png b/UI/Sprites/Icons/icon_40x40_circle_cross.png new file mode 100644 index 0000000..54b6398 Binary files /dev/null and b/UI/Sprites/Icons/icon_40x40_circle_cross.png differ diff --git a/UI/Sprites/Icons/Platform Icons/Xbox.png.meta b/UI/Sprites/Icons/icon_40x40_circle_cross.png.meta similarity index 68% rename from UI/Sprites/Icons/Platform Icons/Xbox.png.meta rename to UI/Sprites/Icons/icon_40x40_circle_cross.png.meta index 713e202..3d01ae2 100644 --- a/UI/Sprites/Icons/Platform Icons/Xbox.png.meta +++ b/UI/Sprites/Icons/icon_40x40_circle_cross.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 7469d4b74c68de041b524683e4783f04 +guid: 1319fdb610584411799bad93aba83bfe TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 9 + serializedVersion: 12 mipmaps: mipMapMode: 0 enableMipMap: 0 @@ -23,6 +23,7 @@ TextureImporter: isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +32,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 + filterMode: 1 + aniso: 1 + mipBias: 0 wrapU: 1 wrapV: 1 - wrapW: -1 + wrapW: 0 nPOTScale: 0 lightmap: 0 compressionQuality: 50 @@ -54,32 +55,52 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 platformSettings: - - serializedVersion: 2 + - serializedVersion: 3 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 - textureCompression: 1 + textureCompression: 2 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] physicsShape: [] bones: [] - spriteID: ac976da3c3d831a4392f883c1e98013b + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 vertices: [] indices: edges: [] weights: [] + secondaryTextures: [] spritePackingTag: pSDRemoveMatte: 0 pSDShowRemoveMatteOption: 0 diff --git a/UI/Sprites/Icons/icon_40x40_elipsis.png b/UI/Sprites/Icons/icon_40x40_elipsis.png new file mode 100644 index 0000000..a388100 Binary files /dev/null and b/UI/Sprites/Icons/icon_40x40_elipsis.png differ diff --git a/UI/Sprites/Icons/icon_40x40_elipsis.png.meta b/UI/Sprites/Icons/icon_40x40_elipsis.png.meta new file mode 100644 index 0000000..437dbf1 --- /dev/null +++ b/UI/Sprites/Icons/icon_40x40_elipsis.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: 89b349d01f31b7547931d3bf304f55ff +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/icon_40x40_file-size.png b/UI/Sprites/Icons/icon_40x40_file-size.png new file mode 100644 index 0000000..9c352f2 Binary files /dev/null and b/UI/Sprites/Icons/icon_40x40_file-size.png differ diff --git a/UI/Sprites/Icons/icon_40x40_file-size.png.meta b/UI/Sprites/Icons/icon_40x40_file-size.png.meta new file mode 100644 index 0000000..bbd16c9 --- /dev/null +++ b/UI/Sprites/Icons/icon_40x40_file-size.png.meta @@ -0,0 +1,181 @@ +fileFormatVersion: 2 +guid: 0c2f5cd2c4fdb364c803017336cbdc88 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/icon_40x40_thumbsdown.png b/UI/Sprites/Icons/icon_40x40_thumbsdown.png new file mode 100644 index 0000000..af7b1de Binary files /dev/null and b/UI/Sprites/Icons/icon_40x40_thumbsdown.png differ diff --git a/UI/Sprites/Icons/icon_40x40_thumbsdown.png.meta b/UI/Sprites/Icons/icon_40x40_thumbsdown.png.meta new file mode 100644 index 0000000..9834365 --- /dev/null +++ b/UI/Sprites/Icons/icon_40x40_thumbsdown.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 40de620402f6f41ad8fb011eab740305 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/icon_40x40_thumbsup.png b/UI/Sprites/Icons/icon_40x40_thumbsup.png new file mode 100644 index 0000000..24c268d Binary files /dev/null and b/UI/Sprites/Icons/icon_40x40_thumbsup.png differ diff --git a/UI/Sprites/Icons/icon_40x40_thumbsup.png.meta b/UI/Sprites/Icons/icon_40x40_thumbsup.png.meta new file mode 100644 index 0000000..4388a3f --- /dev/null +++ b/UI/Sprites/Icons/icon_40x40_thumbsup.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 755b28280a8ab4584839a67394157334 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/icon_40x40_token.png b/UI/Sprites/Icons/icon_40x40_token.png new file mode 100644 index 0000000..6ebf1f8 Binary files /dev/null and b/UI/Sprites/Icons/icon_40x40_token.png differ diff --git a/UI/Sprites/Icons/icon_40x40_token.png.meta b/UI/Sprites/Icons/icon_40x40_token.png.meta new file mode 100644 index 0000000..b9f5a65 --- /dev/null +++ b/UI/Sprites/Icons/icon_40x40_token.png.meta @@ -0,0 +1,181 @@ +fileFormatVersion: 2 +guid: 7db755964c440a846a249d05db849c0f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/icon_40x40_user_psn.png b/UI/Sprites/Icons/icon_40x40_user_psn.png new file mode 100644 index 0000000..95c3c96 Binary files /dev/null and b/UI/Sprites/Icons/icon_40x40_user_psn.png differ diff --git a/UI/Sprites/Icons/icon_40x40_user_psn.png.meta b/UI/Sprites/Icons/icon_40x40_user_psn.png.meta new file mode 100644 index 0000000..47ee6cf --- /dev/null +++ b/UI/Sprites/Icons/icon_40x40_user_psn.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 16bfef61705b14e2dba969eed60f2193 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/icon_40x40_user_xbox.png b/UI/Sprites/Icons/icon_40x40_user_xbox.png new file mode 100644 index 0000000..f3743fc Binary files /dev/null and b/UI/Sprites/Icons/icon_40x40_user_xbox.png differ diff --git a/UI/Sprites/Icons/icon_40x40_user_xbox.png.meta b/UI/Sprites/Icons/icon_40x40_user_xbox.png.meta new file mode 100644 index 0000000..32edca1 --- /dev/null +++ b/UI/Sprites/Icons/icon_40x40_user_xbox.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: e57b4fb84b10d4622be06c1a38a89bbc +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/icon_check-circle.png b/UI/Sprites/Icons/icon_check-circle.png new file mode 100644 index 0000000..32cee90 Binary files /dev/null and b/UI/Sprites/Icons/icon_check-circle.png differ diff --git a/UI/Sprites/Icons/icon_check-circle.png.meta b/UI/Sprites/Icons/icon_check-circle.png.meta new file mode 100644 index 0000000..74cbf34 --- /dev/null +++ b/UI/Sprites/Icons/icon_check-circle.png.meta @@ -0,0 +1,169 @@ +fileFormatVersion: 2 +guid: 67da511e67587754ba4ea4713e2b3f29 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/icon_premium.png b/UI/Sprites/Icons/icon_premium.png new file mode 100644 index 0000000..d53cbd3 Binary files /dev/null and b/UI/Sprites/Icons/icon_premium.png differ diff --git a/UI/Sprites/Icons/icon_premium.png.meta b/UI/Sprites/Icons/icon_premium.png.meta new file mode 100644 index 0000000..617a8be --- /dev/null +++ b/UI/Sprites/Icons/icon_premium.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 87939b84024d4491ab5560866f49620d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/icon_sort_40x40.png b/UI/Sprites/Icons/icon_sort_40x40.png new file mode 100644 index 0000000..f67cec2 Binary files /dev/null and b/UI/Sprites/Icons/icon_sort_40x40.png differ diff --git a/UI/Sprites/Icons/icon_sort_40x40.png.meta b/UI/Sprites/Icons/icon_sort_40x40.png.meta new file mode 100644 index 0000000..d2bef82 --- /dev/null +++ b/UI/Sprites/Icons/icon_sort_40x40.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: 3acbda39b3dc5104e843c80df18911fa +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/lock.png b/UI/Sprites/Icons/lock.png new file mode 100644 index 0000000..d49b57f Binary files /dev/null and b/UI/Sprites/Icons/lock.png differ diff --git a/UI/Sprites/Icons/lock.png.meta b/UI/Sprites/Icons/lock.png.meta new file mode 100644 index 0000000..6f4be1f --- /dev/null +++ b/UI/Sprites/Icons/lock.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: ac54b36690653c64eaa1feeb61ba6d80 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/log-out.png b/UI/Sprites/Icons/log-out.png new file mode 100644 index 0000000..a728c17 Binary files /dev/null and b/UI/Sprites/Icons/log-out.png differ diff --git a/UI/Sprites/Icons/log-out.png.meta b/UI/Sprites/Icons/log-out.png.meta new file mode 100644 index 0000000..52f9585 --- /dev/null +++ b/UI/Sprites/Icons/log-out.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: 20841fe18ae2fef4093f4ab28d147585 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/mail_Icon_40x40.png b/UI/Sprites/Icons/mail_Icon_40x40.png new file mode 100644 index 0000000..041fd11 Binary files /dev/null and b/UI/Sprites/Icons/mail_Icon_40x40.png differ diff --git a/UI/Sprites/Icons/mail_Icon_40x40.png.meta b/UI/Sprites/Icons/mail_Icon_40x40.png.meta new file mode 100644 index 0000000..c5dcb99 --- /dev/null +++ b/UI/Sprites/Icons/mail_Icon_40x40.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: 5068e627fc15d8f4fa24705c9b9a3154 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/retry_Icon_40x40.png b/UI/Sprites/Icons/retry_Icon_40x40.png new file mode 100644 index 0000000..eeef18e Binary files /dev/null and b/UI/Sprites/Icons/retry_Icon_40x40.png differ diff --git a/UI/Sprites/Icons/retry_Icon_40x40.png.meta b/UI/Sprites/Icons/retry_Icon_40x40.png.meta new file mode 100644 index 0000000..5155c94 --- /dev/null +++ b/UI/Sprites/Icons/retry_Icon_40x40.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: a3875ce8397067c4888244e0e6559afd +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/search_Icon_40x40.png b/UI/Sprites/Icons/search_Icon_40x40.png new file mode 100644 index 0000000..a214ff3 Binary files /dev/null and b/UI/Sprites/Icons/search_Icon_40x40.png differ diff --git a/UI/Sprites/Icons/search_Icon_40x40.png.meta b/UI/Sprites/Icons/search_Icon_40x40.png.meta new file mode 100644 index 0000000..15b4d44 --- /dev/null +++ b/UI/Sprites/Icons/search_Icon_40x40.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: 6b9c57c8845a95940a761456d4f856e4 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/thumbsup_Icon_40x40.png b/UI/Sprites/Icons/thumbsup_Icon_40x40.png new file mode 100644 index 0000000..0f70390 Binary files /dev/null and b/UI/Sprites/Icons/thumbsup_Icon_40x40.png differ diff --git a/UI/Sprites/Icons/thumbsup_Icon_40x40.png.meta b/UI/Sprites/Icons/thumbsup_Icon_40x40.png.meta new file mode 100644 index 0000000..f327e6a --- /dev/null +++ b/UI/Sprites/Icons/thumbsup_Icon_40x40.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: 0122f5cff9629664e9a9685389bd79b7 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Icons/time_Icon_40x40.png b/UI/Sprites/Icons/time_Icon_40x40.png new file mode 100644 index 0000000..2fc1f1c Binary files /dev/null and b/UI/Sprites/Icons/time_Icon_40x40.png differ diff --git a/UI/Sprites/Icons/time_Icon_40x40.png.meta b/UI/Sprites/Icons/time_Icon_40x40.png.meta new file mode 100644 index 0000000..f48c04a --- /dev/null +++ b/UI/Sprites/Icons/time_Icon_40x40.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: 99cc6d38837fa0a4486fc80871bbe840 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs.meta b/UI/Sprites/Inputs.meta new file mode 100644 index 0000000..06834df --- /dev/null +++ b/UI/Sprites/Inputs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dc5b1c7fcb3ab416dab69ae5f9e185a4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck.meta b/UI/Sprites/Inputs/SteamDeck.meta new file mode 100644 index 0000000..f08cece --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fb0a962f6c7724e26aae56cdc6b47975 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_a.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_a.png new file mode 100644 index 0000000..281f3e6 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_a.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_a.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_a.png.meta new file mode 100644 index 0000000..e8c322c --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_a.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 05dc84c52ddf5482e999d43ef9b2b0b3 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_b.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_b.png new file mode 100644 index 0000000..91175bb Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_b.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_b.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_b.png.meta new file mode 100644 index 0000000..4c8d2b7 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_b.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: a9a5d61c81625456f9f9244233d6db8a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_guide.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_guide.png new file mode 100644 index 0000000..9c1d5fe Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_guide.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_guide.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_guide.png.meta new file mode 100644 index 0000000..3be78c1 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_guide.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: fa4b40a1e304f4f01a3b0adaa128d5ac +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l1.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l1.png new file mode 100644 index 0000000..c0d6166 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l1.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l1.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l1.png.meta new file mode 100644 index 0000000..6367119 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l1.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 24aabdfacceb14ee19730480a7901f5a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l2.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l2.png new file mode 100644 index 0000000..12c5e17 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l2.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l2.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l2.png.meta new file mode 100644 index 0000000..70030d0 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l2.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 5915807ebb0f642779f86173d5d2bc57 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l4.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l4.png new file mode 100644 index 0000000..f39ca35 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l4.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l4.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l4.png.meta new file mode 100644 index 0000000..10f885a --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l4.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: cb2017ea2043d465b8b37361ddabac0f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l5.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l5.png new file mode 100644 index 0000000..df83276 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l5.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l5.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l5.png.meta new file mode 100644 index 0000000..a020378 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_l5.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: cadbe3d83f1d249de858bbf930a92b21 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_options.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_options.png new file mode 100644 index 0000000..624ad5c Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_options.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_options.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_options.png.meta new file mode 100644 index 0000000..660b09e --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_options.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 8fc175858728b46ccb0d7c3e6192c22b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_quickaccess.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_quickaccess.png new file mode 100644 index 0000000..341b26e Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_quickaccess.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_quickaccess.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_quickaccess.png.meta new file mode 100644 index 0000000..e660d06 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_quickaccess.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 15c9eb9ef86b04889b12b014a4f880a9 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r1.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r1.png new file mode 100644 index 0000000..1cc1874 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r1.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r1.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r1.png.meta new file mode 100644 index 0000000..d0078c5 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r1.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: fbe8c4d1294a24ac5a4bf96128f15efe +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r2.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r2.png new file mode 100644 index 0000000..c2ca75d Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r2.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r2.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r2.png.meta new file mode 100644 index 0000000..5056381 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r2.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 9d033291597804dc6adc27c22f1c1a9b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r4.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r4.png new file mode 100644 index 0000000..0418c26 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r4.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r4.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r4.png.meta new file mode 100644 index 0000000..e13c887 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r4.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: b24cff774ff87401cac9c691494a32b4 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r5.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r5.png new file mode 100644 index 0000000..1cbf42c Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r5.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r5.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r5.png.meta new file mode 100644 index 0000000..b344ac4 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_r5.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 8a791ff6735b8432ea89ddebb9299054 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_view.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_view.png new file mode 100644 index 0000000..c73a64b Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_view.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_view.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_view.png.meta new file mode 100644 index 0000000..6386f39 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_view.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 91de74b0032394c27b300a1825877555 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_x.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_x.png new file mode 100644 index 0000000..b29ede3 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_x.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_x.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_x.png.meta new file mode 100644 index 0000000..55e3529 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_x.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 0eb6af43e0aad47e7ab49bbc63581a36 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_y.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_y.png new file mode 100644 index 0000000..737632d Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_y.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_button_y.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_y.png.meta new file mode 100644 index 0000000..1974009 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_button_y.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 125c61f9de23a4e7297a48cbd16a5e56 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad.png new file mode 100644 index 0000000..9a148b3 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad.png.meta new file mode 100644 index 0000000..0f09136 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 65797eca1ac114a19a7a816e3c9827d8 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_all.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_all.png new file mode 100644 index 0000000..37737e9 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_all.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_all.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_all.png.meta new file mode 100644 index 0000000..2507b40 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_all.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 3935d386755384d08aa61485711cd2bc +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_down.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_down.png new file mode 100644 index 0000000..52868c1 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_down.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_down.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_down.png.meta new file mode 100644 index 0000000..634249d --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_down.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 416d44d159603432e975dc15eb8ce923 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_horizontal.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_horizontal.png new file mode 100644 index 0000000..5556ed7 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_horizontal.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_horizontal.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_horizontal.png.meta new file mode 100644 index 0000000..871df40 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_horizontal.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 14f1aa0a639264de09f6d5e96d43e42b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_left.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_left.png new file mode 100644 index 0000000..8fa2372 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_left.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_left.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_left.png.meta new file mode 100644 index 0000000..1ff936a --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_left.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 06e1bb59fb70b4553a0da47b73d015ab +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_none.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_none.png new file mode 100644 index 0000000..88fad8f Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_none.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_none.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_none.png.meta new file mode 100644 index 0000000..fc7e526 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_none.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 6b55c2c2f1f4c4b879c8ca24f179e9ed +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_right.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_right.png new file mode 100644 index 0000000..d5b597a Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_right.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_right.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_right.png.meta new file mode 100644 index 0000000..e66c376 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_right.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: d41dc678c476043aabf7c0440f06acd7 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_up.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_up.png new file mode 100644 index 0000000..24cd8fc Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_up.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_up.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_up.png.meta new file mode 100644 index 0000000..3ce4ca5 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_up.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 08267e70b5e8e4cf0a2ce51f919a9b27 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_vertical.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_vertical.png new file mode 100644 index 0000000..2c2400e Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_vertical.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_vertical.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_vertical.png.meta new file mode 100644 index 0000000..b160da7 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_dpad_vertical.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 89d65ac085b0042b1892368eb48d4a80 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l.png new file mode 100644 index 0000000..e04bbf3 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l.png.meta new file mode 100644 index 0000000..5c7efc2 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: e6f822aab459c4920ba0a0e68aa9b9d9 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_down.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_down.png new file mode 100644 index 0000000..184733d Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_down.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_down.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_down.png.meta new file mode 100644 index 0000000..fc7e200 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_down.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 97db3d521742a4f50a71c26a56baa7b3 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_horizontal.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_horizontal.png new file mode 100644 index 0000000..7d3ea53 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_horizontal.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_horizontal.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_horizontal.png.meta new file mode 100644 index 0000000..9cc618f --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_horizontal.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: e805bb62286084806b6d4efb60671f5b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_left.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_left.png new file mode 100644 index 0000000..0fa8948 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_left.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_left.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_left.png.meta new file mode 100644 index 0000000..426e12b --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_left.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 99e3de3bb68d54efc8a7a6b23e8582c0 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_press.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_press.png new file mode 100644 index 0000000..9f998e6 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_press.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_press.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_press.png.meta new file mode 100644 index 0000000..cf19fa2 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_press.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 5e629f851ba0046bd924c86b795de6b0 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_right.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_right.png new file mode 100644 index 0000000..53df6eb Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_right.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_right.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_right.png.meta new file mode 100644 index 0000000..5af7028 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_right.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: e6ded913704e747e8bc7d8949a5ca0a7 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_up.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_up.png new file mode 100644 index 0000000..297a435 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_up.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_up.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_up.png.meta new file mode 100644 index 0000000..b3fbbee --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_up.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: ac0ff9bc5e01f44c2aa600b1b66008cf +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_vertical.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_vertical.png new file mode 100644 index 0000000..b727722 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_vertical.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_vertical.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_vertical.png.meta new file mode 100644 index 0000000..108e212 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_l_vertical.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: b2657e54ffb004de4b311d89b47e5fe4 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r.png new file mode 100644 index 0000000..bdeaf51 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r.png.meta new file mode 100644 index 0000000..586d9a8 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 54ab8f2b02f094a99ae244010bc621cb +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_down.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_down.png new file mode 100644 index 0000000..0e6e24a Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_down.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_down.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_down.png.meta new file mode 100644 index 0000000..9a38e50 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_down.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 50371758bb2574d1599388db80b404ad +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_horizontal.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_horizontal.png new file mode 100644 index 0000000..7bf0547 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_horizontal.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_horizontal.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_horizontal.png.meta new file mode 100644 index 0000000..d3b9366 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_horizontal.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 84d7268692e6e41a595f27f11d8621ce +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_left.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_left.png new file mode 100644 index 0000000..86418ac Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_left.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_left.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_left.png.meta new file mode 100644 index 0000000..b83f729 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_left.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: dc826f97b78be4937984d9bfa1e6821c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_press.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_press.png new file mode 100644 index 0000000..83f148f Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_press.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_press.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_press.png.meta new file mode 100644 index 0000000..df9d60a --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_press.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 029f282e964ce48249f94b78bc985315 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_right.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_right.png new file mode 100644 index 0000000..43814dc Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_right.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_right.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_right.png.meta new file mode 100644 index 0000000..ca04c07 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_right.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 092c9bd709af54c6285901238fffcc43 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_up.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_up.png new file mode 100644 index 0000000..5d8541f Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_up.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_up.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_up.png.meta new file mode 100644 index 0000000..59eb49a --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_up.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: b31aaff00f8964c82ad84a894a3de721 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_vertical.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_vertical.png new file mode 100644 index 0000000..95d07d3 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_vertical.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_vertical.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_vertical.png.meta new file mode 100644 index 0000000..d70ba6d --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_r_vertical.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 8d761947eb7e341d3b8e4248e366405a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_side_l.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_side_l.png new file mode 100644 index 0000000..ef5bdb2 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_side_l.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_side_l.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_side_l.png.meta new file mode 100644 index 0000000..6547ec7 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_side_l.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 2b2fc436673ec4d768885371f74a0126 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_side_r.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_side_r.png new file mode 100644 index 0000000..1481761 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_side_r.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_side_r.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_side_r.png.meta new file mode 100644 index 0000000..a6aaee4 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_side_r.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: ea043dc26bf5d470991aa37c3cba97c3 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_top_l.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_top_l.png new file mode 100644 index 0000000..c64c00f Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_top_l.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_top_l.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_top_l.png.meta new file mode 100644 index 0000000..d8557c0 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_top_l.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: b26de53bd002d4856900ce4e1fa390a3 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_top_r.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_top_r.png new file mode 100644 index 0000000..da1adb3 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_top_r.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_top_r.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_top_r.png.meta new file mode 100644 index 0000000..d7931c9 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_stick_top_r.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 0edaeb547bcd84f0dbb1aa67fa6a4586 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad.png new file mode 100644 index 0000000..a79120f Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad.png.meta new file mode 100644 index 0000000..198af0c --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: a536e70efbea0406cb67ae0e7410226c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_all.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_all.png new file mode 100644 index 0000000..bc04149 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_all.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_all.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_all.png.meta new file mode 100644 index 0000000..7e5f2c7 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_all.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 994c2119b17484078a4e165d012c1019 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_down.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_down.png new file mode 100644 index 0000000..5afd627 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_down.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_down.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_down.png.meta new file mode 100644 index 0000000..3ecb7f3 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_down.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 8c724209063034d3cbefe078deb54ca8 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_horizontal.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_horizontal.png new file mode 100644 index 0000000..8265aa2 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_horizontal.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_horizontal.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_horizontal.png.meta new file mode 100644 index 0000000..e31d648 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_horizontal.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: b8ce525f3ee2a442284928bba3b1cb89 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l.png new file mode 100644 index 0000000..7919bdd Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l.png.meta new file mode 100644 index 0000000..5c760bd --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: b0528db2c719348f5b3adb0244150e9e +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_all.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_all.png new file mode 100644 index 0000000..337613a Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_all.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_all.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_all.png.meta new file mode 100644 index 0000000..b752aeb --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_all.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: ddb0df4ccf5b54b0a9b90d8e04d2d6c2 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_down.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_down.png new file mode 100644 index 0000000..cc0390c Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_down.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_down.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_down.png.meta new file mode 100644 index 0000000..9ebe56f --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_down.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 1f71e3677df564c75b59f7399e3d291d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_horizontal.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_horizontal.png new file mode 100644 index 0000000..2f34d1a Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_horizontal.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_horizontal.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_horizontal.png.meta new file mode 100644 index 0000000..9542453 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_horizontal.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: c416afba94d5a42cd933798de052d938 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_left.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_left.png new file mode 100644 index 0000000..6a0aea4 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_left.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_left.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_left.png.meta new file mode 100644 index 0000000..b277610 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_left.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 812fb3ec9b91c4f22a1a835e585f28f5 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_right.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_right.png new file mode 100644 index 0000000..ea107cd Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_right.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_right.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_right.png.meta new file mode 100644 index 0000000..bd29a0a --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_right.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 9f547f60630684bcfb866f948ce3d003 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_up.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_up.png new file mode 100644 index 0000000..ba94a7d Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_up.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_up.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_up.png.meta new file mode 100644 index 0000000..d6eb6fb --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_up.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: f0116bc5563024602a22e80d18b1e17b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_vertical.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_vertical.png new file mode 100644 index 0000000..fa52081 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_vertical.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_vertical.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_vertical.png.meta new file mode 100644 index 0000000..5dc72f9 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_l_vertical.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: c4c66a1dd45524dfeb479fa0c969a4cf +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_left.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_left.png new file mode 100644 index 0000000..a6e9e4d Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_left.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_left.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_left.png.meta new file mode 100644 index 0000000..d0e3269 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_left.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: a6f9867ecb4ea49f9a914e9403a1eb4d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r.png new file mode 100644 index 0000000..fd5ffbf Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r.png.meta new file mode 100644 index 0000000..c383b8e --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: d4981200c16184492931e1840e1bd174 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_all.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_all.png new file mode 100644 index 0000000..984bef8 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_all.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_all.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_all.png.meta new file mode 100644 index 0000000..b67ed52 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_all.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 4a5df82e075e94be095992154c5af8c6 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_down.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_down.png new file mode 100644 index 0000000..a82efe9 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_down.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_down.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_down.png.meta new file mode 100644 index 0000000..eb02b69 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_down.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: e6ba40ef78bcb496aa75235d7f08a260 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_horizontal.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_horizontal.png new file mode 100644 index 0000000..4f43c34 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_horizontal.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_horizontal.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_horizontal.png.meta new file mode 100644 index 0000000..b5c4c00 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_horizontal.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 7c3a9c5abc1cb4154bf07834646c3eab +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_left.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_left.png new file mode 100644 index 0000000..9bf8cdc Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_left.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_left.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_left.png.meta new file mode 100644 index 0000000..6befa2b --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_left.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: ad8cc2010acbb450f8de1e7f2c5f4732 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_right.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_right.png new file mode 100644 index 0000000..bea7039 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_right.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_right.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_right.png.meta new file mode 100644 index 0000000..03af739 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_right.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: e1244ac7a1a4346968738ea6a839125f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_up.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_up.png new file mode 100644 index 0000000..4069681 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_up.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_up.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_up.png.meta new file mode 100644 index 0000000..6047ba1 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_up.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 14673868f44e14cca8b0b732773ae2c4 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_vertical.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_vertical.png new file mode 100644 index 0000000..6585de6 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_vertical.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_vertical.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_vertical.png.meta new file mode 100644 index 0000000..648aae2 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_r_vertical.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: f7785479bb9fd4ace8a7daa66ef28577 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_right.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_right.png new file mode 100644 index 0000000..2a932c1 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_right.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_right.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_right.png.meta new file mode 100644 index 0000000..beed8d8 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_right.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 007a40de98040456a8cda4d77beee1ea +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_up.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_up.png new file mode 100644 index 0000000..fcdc5a1 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_up.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_up.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_up.png.meta new file mode 100644 index 0000000..ff685ab --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_up.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 8dd97115ef2fb44a68a9ae62566aa178 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_vertical.png b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_vertical.png new file mode 100644 index 0000000..b090029 Binary files /dev/null and b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_vertical.png differ diff --git a/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_vertical.png.meta b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_vertical.png.meta new file mode 100644 index 0000000..8d41653 --- /dev/null +++ b/UI/Sprites/Inputs/SteamDeck/steamdeck_trackpad_vertical.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 9a609788cf33144ab9120ba4190fac02 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm.meta b/UI/Sprites/Inputs/kbm.meta new file mode 100644 index 0000000..d8b0a93 --- /dev/null +++ b/UI/Sprites/Inputs/kbm.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7bd17929e18084431902e5bf2ef00bf0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrow_down.png b/UI/Sprites/Inputs/kbm/keyboard_arrow_down.png new file mode 100644 index 0000000..08f49a6 Binary files /dev/null and b/UI/Sprites/Inputs/kbm/keyboard_arrow_down.png differ diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrow_down.png.meta b/UI/Sprites/Inputs/kbm/keyboard_arrow_down.png.meta new file mode 100644 index 0000000..8e2b6b5 --- /dev/null +++ b/UI/Sprites/Inputs/kbm/keyboard_arrow_down.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 1ef318e055852490495184e673182e56 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrow_left.png b/UI/Sprites/Inputs/kbm/keyboard_arrow_left.png new file mode 100644 index 0000000..88bdf43 Binary files /dev/null and b/UI/Sprites/Inputs/kbm/keyboard_arrow_left.png differ diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrow_left.png.meta b/UI/Sprites/Inputs/kbm/keyboard_arrow_left.png.meta new file mode 100644 index 0000000..6047872 --- /dev/null +++ b/UI/Sprites/Inputs/kbm/keyboard_arrow_left.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: de609f29e544c4fc7b4f116f2cb48a1b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrow_right.png b/UI/Sprites/Inputs/kbm/keyboard_arrow_right.png new file mode 100644 index 0000000..144c3ab Binary files /dev/null and b/UI/Sprites/Inputs/kbm/keyboard_arrow_right.png differ diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrow_right.png.meta b/UI/Sprites/Inputs/kbm/keyboard_arrow_right.png.meta new file mode 100644 index 0000000..4e919f3 --- /dev/null +++ b/UI/Sprites/Inputs/kbm/keyboard_arrow_right.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: d2f3431d18abc486b9646e135c462785 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrow_up.png b/UI/Sprites/Inputs/kbm/keyboard_arrow_up.png new file mode 100644 index 0000000..944adfe Binary files /dev/null and b/UI/Sprites/Inputs/kbm/keyboard_arrow_up.png differ diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrow_up.png.meta b/UI/Sprites/Inputs/kbm/keyboard_arrow_up.png.meta new file mode 100644 index 0000000..b15ceaa --- /dev/null +++ b/UI/Sprites/Inputs/kbm/keyboard_arrow_up.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: cdae3c5b715e64394b37b217e2ecc21a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrows.png b/UI/Sprites/Inputs/kbm/keyboard_arrows.png new file mode 100644 index 0000000..ed461e3 Binary files /dev/null and b/UI/Sprites/Inputs/kbm/keyboard_arrows.png differ diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrows.png.meta b/UI/Sprites/Inputs/kbm/keyboard_arrows.png.meta new file mode 100644 index 0000000..9ff89ec --- /dev/null +++ b/UI/Sprites/Inputs/kbm/keyboard_arrows.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 1d418d9081b134ceeae91c0898c12ce0 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrows_all.png b/UI/Sprites/Inputs/kbm/keyboard_arrows_all.png new file mode 100644 index 0000000..9d1978f Binary files /dev/null and b/UI/Sprites/Inputs/kbm/keyboard_arrows_all.png differ diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrows_all.png.meta b/UI/Sprites/Inputs/kbm/keyboard_arrows_all.png.meta new file mode 100644 index 0000000..563d7e1 --- /dev/null +++ b/UI/Sprites/Inputs/kbm/keyboard_arrows_all.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 67c52a6d19dc54d13961d54fdc89b6c4 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrows_down.png b/UI/Sprites/Inputs/kbm/keyboard_arrows_down.png new file mode 100644 index 0000000..6aa93ad Binary files /dev/null and b/UI/Sprites/Inputs/kbm/keyboard_arrows_down.png differ diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrows_down.png.meta b/UI/Sprites/Inputs/kbm/keyboard_arrows_down.png.meta new file mode 100644 index 0000000..586197b --- /dev/null +++ b/UI/Sprites/Inputs/kbm/keyboard_arrows_down.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 25329875280254253a917f33e9ea28a1 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrows_horizontal.png b/UI/Sprites/Inputs/kbm/keyboard_arrows_horizontal.png new file mode 100644 index 0000000..26936da Binary files /dev/null and b/UI/Sprites/Inputs/kbm/keyboard_arrows_horizontal.png differ diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrows_horizontal.png.meta b/UI/Sprites/Inputs/kbm/keyboard_arrows_horizontal.png.meta new file mode 100644 index 0000000..0eb368d --- /dev/null +++ b/UI/Sprites/Inputs/kbm/keyboard_arrows_horizontal.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 79fa2678269304dfc9b41d6a62bba038 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrows_left.png b/UI/Sprites/Inputs/kbm/keyboard_arrows_left.png new file mode 100644 index 0000000..ac27651 Binary files /dev/null and b/UI/Sprites/Inputs/kbm/keyboard_arrows_left.png differ diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrows_left.png.meta b/UI/Sprites/Inputs/kbm/keyboard_arrows_left.png.meta new file mode 100644 index 0000000..2fe37a0 --- /dev/null +++ b/UI/Sprites/Inputs/kbm/keyboard_arrows_left.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: eb2728a1ea3f14ff49be263adc618808 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrows_none.png b/UI/Sprites/Inputs/kbm/keyboard_arrows_none.png new file mode 100644 index 0000000..b27d691 Binary files /dev/null and b/UI/Sprites/Inputs/kbm/keyboard_arrows_none.png differ diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrows_none.png.meta b/UI/Sprites/Inputs/kbm/keyboard_arrows_none.png.meta new file mode 100644 index 0000000..e75da1d --- /dev/null +++ b/UI/Sprites/Inputs/kbm/keyboard_arrows_none.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: ad9bfe7c38d0b45d08069408a0bcc171 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrows_right.png b/UI/Sprites/Inputs/kbm/keyboard_arrows_right.png new file mode 100644 index 0000000..bdf2f3e Binary files /dev/null and b/UI/Sprites/Inputs/kbm/keyboard_arrows_right.png differ diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrows_right.png.meta b/UI/Sprites/Inputs/kbm/keyboard_arrows_right.png.meta new file mode 100644 index 0000000..6e66c4a --- /dev/null +++ b/UI/Sprites/Inputs/kbm/keyboard_arrows_right.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 4ac21ebf6669d4a29912d0b42eda59de +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrows_up.png b/UI/Sprites/Inputs/kbm/keyboard_arrows_up.png new file mode 100644 index 0000000..5332ac7 Binary files /dev/null and b/UI/Sprites/Inputs/kbm/keyboard_arrows_up.png differ diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrows_up.png.meta b/UI/Sprites/Inputs/kbm/keyboard_arrows_up.png.meta new file mode 100644 index 0000000..dde7949 --- /dev/null +++ b/UI/Sprites/Inputs/kbm/keyboard_arrows_up.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 987d1fca5905244aab6a9be8e4f9b273 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrows_vertical.png b/UI/Sprites/Inputs/kbm/keyboard_arrows_vertical.png new file mode 100644 index 0000000..4509fc1 Binary files /dev/null and b/UI/Sprites/Inputs/kbm/keyboard_arrows_vertical.png differ diff --git a/UI/Sprites/Inputs/kbm/keyboard_arrows_vertical.png.meta b/UI/Sprites/Inputs/kbm/keyboard_arrows_vertical.png.meta new file mode 100644 index 0000000..907fa4b --- /dev/null +++ b/UI/Sprites/Inputs/kbm/keyboard_arrows_vertical.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 323b7c38cc56d4f0c9525404f2a938df +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/keyboard_return.png b/UI/Sprites/Inputs/kbm/keyboard_return.png new file mode 100644 index 0000000..4cbc61d Binary files /dev/null and b/UI/Sprites/Inputs/kbm/keyboard_return.png differ diff --git a/UI/Sprites/Inputs/kbm/keyboard_return.png.meta b/UI/Sprites/Inputs/kbm/keyboard_return.png.meta new file mode 100644 index 0000000..360ac9a --- /dev/null +++ b/UI/Sprites/Inputs/kbm/keyboard_return.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 20f10d893b5174eea90a13e347a6d8d8 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/keyboard_tab.png b/UI/Sprites/Inputs/kbm/keyboard_tab.png new file mode 100644 index 0000000..a9124b6 Binary files /dev/null and b/UI/Sprites/Inputs/kbm/keyboard_tab.png differ diff --git a/UI/Sprites/Inputs/kbm/keyboard_tab.png.meta b/UI/Sprites/Inputs/kbm/keyboard_tab.png.meta new file mode 100644 index 0000000..f3f13b8 --- /dev/null +++ b/UI/Sprites/Inputs/kbm/keyboard_tab.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 34dd01b3acbd34010b499f84119253ad +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/keyboard_tab_icon.png b/UI/Sprites/Inputs/kbm/keyboard_tab_icon.png new file mode 100644 index 0000000..e988830 Binary files /dev/null and b/UI/Sprites/Inputs/kbm/keyboard_tab_icon.png differ diff --git a/UI/Sprites/Inputs/kbm/keyboard_tab_icon.png.meta b/UI/Sprites/Inputs/kbm/keyboard_tab_icon.png.meta new file mode 100644 index 0000000..7e2d3e5 --- /dev/null +++ b/UI/Sprites/Inputs/kbm/keyboard_tab_icon.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 289eb4f3e73e047109bb8a30104335ee +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/mouse.png b/UI/Sprites/Inputs/kbm/mouse.png new file mode 100644 index 0000000..82e1e70 Binary files /dev/null and b/UI/Sprites/Inputs/kbm/mouse.png differ diff --git a/UI/Sprites/Inputs/kbm/mouse.png.meta b/UI/Sprites/Inputs/kbm/mouse.png.meta new file mode 100644 index 0000000..5038e4e --- /dev/null +++ b/UI/Sprites/Inputs/kbm/mouse.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 2f3e9f448b8cb44b58ed197d65719f14 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/mouse_horizontal.png b/UI/Sprites/Inputs/kbm/mouse_horizontal.png new file mode 100644 index 0000000..71a1c54 Binary files /dev/null and b/UI/Sprites/Inputs/kbm/mouse_horizontal.png differ diff --git a/UI/Sprites/Inputs/kbm/mouse_horizontal.png.meta b/UI/Sprites/Inputs/kbm/mouse_horizontal.png.meta new file mode 100644 index 0000000..2989890 --- /dev/null +++ b/UI/Sprites/Inputs/kbm/mouse_horizontal.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: fc88b7b048d8b4ea1920b69cbc8cfaa4 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/mouse_left.png b/UI/Sprites/Inputs/kbm/mouse_left.png new file mode 100644 index 0000000..a288544 Binary files /dev/null and b/UI/Sprites/Inputs/kbm/mouse_left.png differ diff --git a/UI/Sprites/Inputs/kbm/mouse_left.png.meta b/UI/Sprites/Inputs/kbm/mouse_left.png.meta new file mode 100644 index 0000000..7b95c73 --- /dev/null +++ b/UI/Sprites/Inputs/kbm/mouse_left.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 5c51034cb36534ae2bc3f4fb645ac24c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/mouse_move.png b/UI/Sprites/Inputs/kbm/mouse_move.png new file mode 100644 index 0000000..9b71ff6 Binary files /dev/null and b/UI/Sprites/Inputs/kbm/mouse_move.png differ diff --git a/UI/Sprites/Inputs/kbm/mouse_move.png.meta b/UI/Sprites/Inputs/kbm/mouse_move.png.meta new file mode 100644 index 0000000..1034f1d --- /dev/null +++ b/UI/Sprites/Inputs/kbm/mouse_move.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 86fda61bf81a04c3baf65586eb6dbf6c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/mouse_right.png b/UI/Sprites/Inputs/kbm/mouse_right.png new file mode 100644 index 0000000..f27951a Binary files /dev/null and b/UI/Sprites/Inputs/kbm/mouse_right.png differ diff --git a/UI/Sprites/Inputs/kbm/mouse_right.png.meta b/UI/Sprites/Inputs/kbm/mouse_right.png.meta new file mode 100644 index 0000000..4066e82 --- /dev/null +++ b/UI/Sprites/Inputs/kbm/mouse_right.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 224f42ccc76c04ed6af6aeca78de216f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/mouse_scroll.png b/UI/Sprites/Inputs/kbm/mouse_scroll.png new file mode 100644 index 0000000..10aa54a Binary files /dev/null and b/UI/Sprites/Inputs/kbm/mouse_scroll.png differ diff --git a/UI/Sprites/Inputs/kbm/mouse_scroll.png.meta b/UI/Sprites/Inputs/kbm/mouse_scroll.png.meta new file mode 100644 index 0000000..e9ac950 --- /dev/null +++ b/UI/Sprites/Inputs/kbm/mouse_scroll.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 2ce1bb5ded05e4f0bb4b6ece2eb627c3 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/mouse_scroll_down.png b/UI/Sprites/Inputs/kbm/mouse_scroll_down.png new file mode 100644 index 0000000..dfaa6c7 Binary files /dev/null and b/UI/Sprites/Inputs/kbm/mouse_scroll_down.png differ diff --git a/UI/Sprites/Inputs/kbm/mouse_scroll_down.png.meta b/UI/Sprites/Inputs/kbm/mouse_scroll_down.png.meta new file mode 100644 index 0000000..cb593c2 --- /dev/null +++ b/UI/Sprites/Inputs/kbm/mouse_scroll_down.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: b25b044f5c2cb4df2bbd90795ee68150 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/mouse_scroll_up.png b/UI/Sprites/Inputs/kbm/mouse_scroll_up.png new file mode 100644 index 0000000..3330118 Binary files /dev/null and b/UI/Sprites/Inputs/kbm/mouse_scroll_up.png differ diff --git a/UI/Sprites/Inputs/kbm/mouse_scroll_up.png.meta b/UI/Sprites/Inputs/kbm/mouse_scroll_up.png.meta new file mode 100644 index 0000000..c800438 --- /dev/null +++ b/UI/Sprites/Inputs/kbm/mouse_scroll_up.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: d7b12f4c54d734c268b31b2e5f75d337 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/mouse_scroll_vertical.png b/UI/Sprites/Inputs/kbm/mouse_scroll_vertical.png new file mode 100644 index 0000000..f97aef3 Binary files /dev/null and b/UI/Sprites/Inputs/kbm/mouse_scroll_vertical.png differ diff --git a/UI/Sprites/Inputs/kbm/mouse_scroll_vertical.png.meta b/UI/Sprites/Inputs/kbm/mouse_scroll_vertical.png.meta new file mode 100644 index 0000000..c76d257 --- /dev/null +++ b/UI/Sprites/Inputs/kbm/mouse_scroll_vertical.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 7d5a83595395442249925c59a9ef8387 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/mouse_small.png b/UI/Sprites/Inputs/kbm/mouse_small.png new file mode 100644 index 0000000..efd9054 Binary files /dev/null and b/UI/Sprites/Inputs/kbm/mouse_small.png differ diff --git a/UI/Sprites/Inputs/kbm/mouse_small.png.meta b/UI/Sprites/Inputs/kbm/mouse_small.png.meta new file mode 100644 index 0000000..ca03414 --- /dev/null +++ b/UI/Sprites/Inputs/kbm/mouse_small.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: ff71a08d12b0d4ca9b4b3362997e96b7 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/kbm/mouse_vertical.png b/UI/Sprites/Inputs/kbm/mouse_vertical.png new file mode 100644 index 0000000..9e20180 Binary files /dev/null and b/UI/Sprites/Inputs/kbm/mouse_vertical.png differ diff --git a/UI/Sprites/Inputs/kbm/mouse_vertical.png.meta b/UI/Sprites/Inputs/kbm/mouse_vertical.png.meta new file mode 100644 index 0000000..3fdb652 --- /dev/null +++ b/UI/Sprites/Inputs/kbm/mouse_vertical.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: d00389f8b2b724237ae37ea1cb4eb07c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps.meta b/UI/Sprites/Inputs/ps.meta new file mode 100644 index 0000000..4d55c71 --- /dev/null +++ b/UI/Sprites/Inputs/ps.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0fddeed5c44084c3aa1e3cf741716c3e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation3_button_select.png b/UI/Sprites/Inputs/ps/playstation3_button_select.png new file mode 100644 index 0000000..36df2ec Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation3_button_select.png differ diff --git a/UI/Sprites/Inputs/ps/playstation3_button_select.png.meta b/UI/Sprites/Inputs/ps/playstation3_button_select.png.meta new file mode 100644 index 0000000..4fa1abc --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation3_button_select.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: ca3b497f2f5414b0c87a787180fae436 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation3_button_start.png b/UI/Sprites/Inputs/ps/playstation3_button_start.png new file mode 100644 index 0000000..a493758 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation3_button_start.png differ diff --git a/UI/Sprites/Inputs/ps/playstation3_button_start.png.meta b/UI/Sprites/Inputs/ps/playstation3_button_start.png.meta new file mode 100644 index 0000000..a38cf92 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation3_button_start.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 5cd4abbf147684265866c5de1c845ae9 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation4_button_options.png b/UI/Sprites/Inputs/ps/playstation4_button_options.png new file mode 100644 index 0000000..24fefab Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation4_button_options.png differ diff --git a/UI/Sprites/Inputs/ps/playstation4_button_options.png.meta b/UI/Sprites/Inputs/ps/playstation4_button_options.png.meta new file mode 100644 index 0000000..32e7311 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation4_button_options.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 6528351c401004a9e894873ae01b9033 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation4_button_share.png b/UI/Sprites/Inputs/ps/playstation4_button_share.png new file mode 100644 index 0000000..e3e44f4 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation4_button_share.png differ diff --git a/UI/Sprites/Inputs/ps/playstation4_button_share.png.meta b/UI/Sprites/Inputs/ps/playstation4_button_share.png.meta new file mode 100644 index 0000000..947d742 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation4_button_share.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: eda2edda039094a1b8fe9224e47905ee +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation4_touchpad.png b/UI/Sprites/Inputs/ps/playstation4_touchpad.png new file mode 100644 index 0000000..219a84b Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation4_touchpad.png differ diff --git a/UI/Sprites/Inputs/ps/playstation4_touchpad.png.meta b/UI/Sprites/Inputs/ps/playstation4_touchpad.png.meta new file mode 100644 index 0000000..03a81fc --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation4_touchpad.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 5549f762241fe43a997cea2c45e9b1b7 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation4_touchpad_touch.png b/UI/Sprites/Inputs/ps/playstation4_touchpad_touch.png new file mode 100644 index 0000000..7c80989 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation4_touchpad_touch.png differ diff --git a/UI/Sprites/Inputs/ps/playstation4_touchpad_touch.png.meta b/UI/Sprites/Inputs/ps/playstation4_touchpad_touch.png.meta new file mode 100644 index 0000000..ba14c45 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation4_touchpad_touch.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 72ac725333dcc48b4b745cce5f7e971d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation5_button_create.png b/UI/Sprites/Inputs/ps/playstation5_button_create.png new file mode 100644 index 0000000..396e2c9 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation5_button_create.png differ diff --git a/UI/Sprites/Inputs/ps/playstation5_button_create.png.meta b/UI/Sprites/Inputs/ps/playstation5_button_create.png.meta new file mode 100644 index 0000000..93164d5 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation5_button_create.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 52d01e644c61548bc82d56c0ebd52bdd +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation5_button_create_alternative.png b/UI/Sprites/Inputs/ps/playstation5_button_create_alternative.png new file mode 100644 index 0000000..7a3a106 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation5_button_create_alternative.png differ diff --git a/UI/Sprites/Inputs/ps/playstation5_button_create_alternative.png.meta b/UI/Sprites/Inputs/ps/playstation5_button_create_alternative.png.meta new file mode 100644 index 0000000..9a3f51f --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation5_button_create_alternative.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: f1e5ddbb7df1b485c825a0a612c3e55f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation5_button_mute.png b/UI/Sprites/Inputs/ps/playstation5_button_mute.png new file mode 100644 index 0000000..0cd9df6 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation5_button_mute.png differ diff --git a/UI/Sprites/Inputs/ps/playstation5_button_mute.png.meta b/UI/Sprites/Inputs/ps/playstation5_button_mute.png.meta new file mode 100644 index 0000000..623391c --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation5_button_mute.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 6d81e48ceeb88493d98c4b43a9e742b4 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation5_button_options.png b/UI/Sprites/Inputs/ps/playstation5_button_options.png new file mode 100644 index 0000000..82d8705 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation5_button_options.png differ diff --git a/UI/Sprites/Inputs/ps/playstation5_button_options.png.meta b/UI/Sprites/Inputs/ps/playstation5_button_options.png.meta new file mode 100644 index 0000000..f222b60 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation5_button_options.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 6db6944778ced4d57b5a09dc090b3f6e +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation5_button_options_alternative.png b/UI/Sprites/Inputs/ps/playstation5_button_options_alternative.png new file mode 100644 index 0000000..47d84ab Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation5_button_options_alternative.png differ diff --git a/UI/Sprites/Inputs/ps/playstation5_button_options_alternative.png.meta b/UI/Sprites/Inputs/ps/playstation5_button_options_alternative.png.meta new file mode 100644 index 0000000..2c33b1b --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation5_button_options_alternative.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 2b414a0409eb64ce4b1ddfd8871b4278 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation5_touchpad.png b/UI/Sprites/Inputs/ps/playstation5_touchpad.png new file mode 100644 index 0000000..70b03c8 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation5_touchpad.png differ diff --git a/UI/Sprites/Inputs/ps/playstation5_touchpad.png.meta b/UI/Sprites/Inputs/ps/playstation5_touchpad.png.meta new file mode 100644 index 0000000..e804670 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation5_touchpad.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 112c6483b3f174978b3a571e66ae4b98 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation5_touchpad_touch.png b/UI/Sprites/Inputs/ps/playstation5_touchpad_touch.png new file mode 100644 index 0000000..5c8d06d Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation5_touchpad_touch.png differ diff --git a/UI/Sprites/Inputs/ps/playstation5_touchpad_touch.png.meta b/UI/Sprites/Inputs/ps/playstation5_touchpad_touch.png.meta new file mode 100644 index 0000000..ecc18cc --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation5_touchpad_touch.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 65831aed6d791410b8d1b986a3fed2bb +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_button_analog.png b/UI/Sprites/Inputs/ps/playstation_button_analog.png new file mode 100644 index 0000000..84a01a5 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_button_analog.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_button_analog.png.meta b/UI/Sprites/Inputs/ps/playstation_button_analog.png.meta new file mode 100644 index 0000000..ec112c4 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_button_analog.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 092cf0cd69fff447e85d12aca1068b7a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_button_circle.png b/UI/Sprites/Inputs/ps/playstation_button_circle.png new file mode 100644 index 0000000..4729bb6 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_button_circle.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_button_circle.png.meta b/UI/Sprites/Inputs/ps/playstation_button_circle.png.meta new file mode 100644 index 0000000..c245c77 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_button_circle.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 92e816843a04f42738e8c0a93a3326b2 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_button_color_circle.png b/UI/Sprites/Inputs/ps/playstation_button_color_circle.png new file mode 100644 index 0000000..aae6894 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_button_color_circle.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_button_color_circle.png.meta b/UI/Sprites/Inputs/ps/playstation_button_color_circle.png.meta new file mode 100644 index 0000000..652df76 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_button_color_circle.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 5c24aa0cc4278446ca4db19e55f9083c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_button_color_cross.png b/UI/Sprites/Inputs/ps/playstation_button_color_cross.png new file mode 100644 index 0000000..602fc08 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_button_color_cross.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_button_color_cross.png.meta b/UI/Sprites/Inputs/ps/playstation_button_color_cross.png.meta new file mode 100644 index 0000000..51a6ec5 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_button_color_cross.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: a63ef82db96674ae4a1898cdd46ce26a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_button_color_square.png b/UI/Sprites/Inputs/ps/playstation_button_color_square.png new file mode 100644 index 0000000..72b8b0e Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_button_color_square.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_button_color_square.png.meta b/UI/Sprites/Inputs/ps/playstation_button_color_square.png.meta new file mode 100644 index 0000000..7f4e3f7 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_button_color_square.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 66b532ecdd7634acbb4174ec75b5c8a6 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_button_color_triangle.png b/UI/Sprites/Inputs/ps/playstation_button_color_triangle.png new file mode 100644 index 0000000..5b4b756 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_button_color_triangle.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_button_color_triangle.png.meta b/UI/Sprites/Inputs/ps/playstation_button_color_triangle.png.meta new file mode 100644 index 0000000..8a1edc4 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_button_color_triangle.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 9e9f12cf6cc56412e9a84a8208ca91a7 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_button_cross.png b/UI/Sprites/Inputs/ps/playstation_button_cross.png new file mode 100644 index 0000000..2dc8d21 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_button_cross.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_button_cross.png.meta b/UI/Sprites/Inputs/ps/playstation_button_cross.png.meta new file mode 100644 index 0000000..ee19641 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_button_cross.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: f391bcebbeb994e45beb6c66dde45ef9 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_button_l3.png b/UI/Sprites/Inputs/ps/playstation_button_l3.png new file mode 100644 index 0000000..92f805e Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_button_l3.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_button_l3.png.meta b/UI/Sprites/Inputs/ps/playstation_button_l3.png.meta new file mode 100644 index 0000000..51ec831 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_button_l3.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 685a873e5b5b144a6825fd0da3f8759d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_button_r3.png b/UI/Sprites/Inputs/ps/playstation_button_r3.png new file mode 100644 index 0000000..e00f1c8 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_button_r3.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_button_r3.png.meta b/UI/Sprites/Inputs/ps/playstation_button_r3.png.meta new file mode 100644 index 0000000..5e86d43 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_button_r3.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 2dbd1281f852648f7b0a110452b76c58 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_button_square.png b/UI/Sprites/Inputs/ps/playstation_button_square.png new file mode 100644 index 0000000..436bb0c Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_button_square.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_button_square.png.meta b/UI/Sprites/Inputs/ps/playstation_button_square.png.meta new file mode 100644 index 0000000..f357b4e --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_button_square.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: ba6ae275dbca64eeba7a3f3fbc9de025 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_button_triangle.png b/UI/Sprites/Inputs/ps/playstation_button_triangle.png new file mode 100644 index 0000000..8197d74 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_button_triangle.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_button_triangle.png.meta b/UI/Sprites/Inputs/ps/playstation_button_triangle.png.meta new file mode 100644 index 0000000..a4779d1 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_button_triangle.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: e227759323432409d8db20df750d0381 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_dpad.png b/UI/Sprites/Inputs/ps/playstation_dpad.png new file mode 100644 index 0000000..5c3ab21 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_dpad.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_dpad.png.meta b/UI/Sprites/Inputs/ps/playstation_dpad.png.meta new file mode 100644 index 0000000..d14f4ef --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_dpad.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 428ca613af8894f04bf11a613fecbab6 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_dpad_all.png b/UI/Sprites/Inputs/ps/playstation_dpad_all.png new file mode 100644 index 0000000..768fff0 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_dpad_all.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_dpad_all.png.meta b/UI/Sprites/Inputs/ps/playstation_dpad_all.png.meta new file mode 100644 index 0000000..87e434e --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_dpad_all.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 62d24d527f73a43068ee6a6f3d9b9aa5 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_dpad_down.png b/UI/Sprites/Inputs/ps/playstation_dpad_down.png new file mode 100644 index 0000000..50932c2 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_dpad_down.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_dpad_down.png.meta b/UI/Sprites/Inputs/ps/playstation_dpad_down.png.meta new file mode 100644 index 0000000..66b14df --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_dpad_down.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 9e20e0b8e38384bf5afa58fc93e08617 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_dpad_horizontal.png b/UI/Sprites/Inputs/ps/playstation_dpad_horizontal.png new file mode 100644 index 0000000..c2fb3b4 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_dpad_horizontal.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_dpad_horizontal.png.meta b/UI/Sprites/Inputs/ps/playstation_dpad_horizontal.png.meta new file mode 100644 index 0000000..6a5e346 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_dpad_horizontal.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 550234684e35e49ecb2a93cf301aa206 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_dpad_left.png b/UI/Sprites/Inputs/ps/playstation_dpad_left.png new file mode 100644 index 0000000..8956837 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_dpad_left.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_dpad_left.png.meta b/UI/Sprites/Inputs/ps/playstation_dpad_left.png.meta new file mode 100644 index 0000000..8122a27 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_dpad_left.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 1a974402e967a4e0093e83bc225f3601 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_dpad_none.png b/UI/Sprites/Inputs/ps/playstation_dpad_none.png new file mode 100644 index 0000000..9749e1b Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_dpad_none.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_dpad_none.png.meta b/UI/Sprites/Inputs/ps/playstation_dpad_none.png.meta new file mode 100644 index 0000000..d8fac3b --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_dpad_none.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 1977e50d432d143bcadc3a8e0094714e +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_dpad_right.png b/UI/Sprites/Inputs/ps/playstation_dpad_right.png new file mode 100644 index 0000000..1b8928b Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_dpad_right.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_dpad_right.png.meta b/UI/Sprites/Inputs/ps/playstation_dpad_right.png.meta new file mode 100644 index 0000000..aebf5ca --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_dpad_right.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 1574cd2c9a8814315aef810a0888e380 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_dpad_up.png b/UI/Sprites/Inputs/ps/playstation_dpad_up.png new file mode 100644 index 0000000..f298d13 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_dpad_up.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_dpad_up.png.meta b/UI/Sprites/Inputs/ps/playstation_dpad_up.png.meta new file mode 100644 index 0000000..df41b84 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_dpad_up.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: c5cfe383d16cf46da9dd6356b03f380f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_dpad_vertical.png b/UI/Sprites/Inputs/ps/playstation_dpad_vertical.png new file mode 100644 index 0000000..d6c1d28 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_dpad_vertical.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_dpad_vertical.png.meta b/UI/Sprites/Inputs/ps/playstation_dpad_vertical.png.meta new file mode 100644 index 0000000..3f482f7 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_dpad_vertical.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 728450495de4e48fdb2368111988ef8b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_stick_l.png b/UI/Sprites/Inputs/ps/playstation_stick_l.png new file mode 100644 index 0000000..e04bbf3 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_stick_l.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_stick_l.png.meta b/UI/Sprites/Inputs/ps/playstation_stick_l.png.meta new file mode 100644 index 0000000..b97ebf9 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_stick_l.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 941bb5d82d6cb49049c9f679c3441277 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_stick_l_down.png b/UI/Sprites/Inputs/ps/playstation_stick_l_down.png new file mode 100644 index 0000000..184733d Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_stick_l_down.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_stick_l_down.png.meta b/UI/Sprites/Inputs/ps/playstation_stick_l_down.png.meta new file mode 100644 index 0000000..0a40e4c --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_stick_l_down.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: a439c6e639894431cb18de6e35d368cf +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_stick_l_horizontal.png b/UI/Sprites/Inputs/ps/playstation_stick_l_horizontal.png new file mode 100644 index 0000000..7d3ea53 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_stick_l_horizontal.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_stick_l_horizontal.png.meta b/UI/Sprites/Inputs/ps/playstation_stick_l_horizontal.png.meta new file mode 100644 index 0000000..1750214 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_stick_l_horizontal.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 6b17a135d20954bfb8ac53f606f75b71 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_stick_l_left.png b/UI/Sprites/Inputs/ps/playstation_stick_l_left.png new file mode 100644 index 0000000..0fa8948 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_stick_l_left.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_stick_l_left.png.meta b/UI/Sprites/Inputs/ps/playstation_stick_l_left.png.meta new file mode 100644 index 0000000..af0d1cb --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_stick_l_left.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 6bad3af56e1ba4a4c9ffaad751bc94c3 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_stick_l_press.png b/UI/Sprites/Inputs/ps/playstation_stick_l_press.png new file mode 100644 index 0000000..9f998e6 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_stick_l_press.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_stick_l_press.png.meta b/UI/Sprites/Inputs/ps/playstation_stick_l_press.png.meta new file mode 100644 index 0000000..4fb4660 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_stick_l_press.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 2c4eec2e6828c4162a55869d1ec64990 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_stick_l_right.png b/UI/Sprites/Inputs/ps/playstation_stick_l_right.png new file mode 100644 index 0000000..53df6eb Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_stick_l_right.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_stick_l_right.png.meta b/UI/Sprites/Inputs/ps/playstation_stick_l_right.png.meta new file mode 100644 index 0000000..273a27d --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_stick_l_right.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 51c87fd373b064381a6b70dcb80617ea +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_stick_l_up.png b/UI/Sprites/Inputs/ps/playstation_stick_l_up.png new file mode 100644 index 0000000..297a435 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_stick_l_up.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_stick_l_up.png.meta b/UI/Sprites/Inputs/ps/playstation_stick_l_up.png.meta new file mode 100644 index 0000000..9d7eb0c --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_stick_l_up.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 7dd0ee6e5729449adacabafe393e1a1f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_stick_l_vertical.png b/UI/Sprites/Inputs/ps/playstation_stick_l_vertical.png new file mode 100644 index 0000000..b727722 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_stick_l_vertical.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_stick_l_vertical.png.meta b/UI/Sprites/Inputs/ps/playstation_stick_l_vertical.png.meta new file mode 100644 index 0000000..65819d7 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_stick_l_vertical.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: d176cce5af52f4db08c8d7a912155fba +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_stick_r.png b/UI/Sprites/Inputs/ps/playstation_stick_r.png new file mode 100644 index 0000000..bdeaf51 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_stick_r.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_stick_r.png.meta b/UI/Sprites/Inputs/ps/playstation_stick_r.png.meta new file mode 100644 index 0000000..9ad28c5 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_stick_r.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 6212fd00267f0483b8441af097227a9b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_stick_r_down.png b/UI/Sprites/Inputs/ps/playstation_stick_r_down.png new file mode 100644 index 0000000..0e6e24a Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_stick_r_down.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_stick_r_down.png.meta b/UI/Sprites/Inputs/ps/playstation_stick_r_down.png.meta new file mode 100644 index 0000000..5fb9c7b --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_stick_r_down.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: b38d7b8f39e414f0789f56197932fdba +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_stick_r_horizontal.png b/UI/Sprites/Inputs/ps/playstation_stick_r_horizontal.png new file mode 100644 index 0000000..7bf0547 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_stick_r_horizontal.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_stick_r_horizontal.png.meta b/UI/Sprites/Inputs/ps/playstation_stick_r_horizontal.png.meta new file mode 100644 index 0000000..3078e99 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_stick_r_horizontal.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 3508f0c2adf6c4f35b68cb726ed6a326 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_stick_r_left.png b/UI/Sprites/Inputs/ps/playstation_stick_r_left.png new file mode 100644 index 0000000..86418ac Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_stick_r_left.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_stick_r_left.png.meta b/UI/Sprites/Inputs/ps/playstation_stick_r_left.png.meta new file mode 100644 index 0000000..3674934 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_stick_r_left.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 0b2434f3aa40c49638873498ab7289cd +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_stick_r_press.png b/UI/Sprites/Inputs/ps/playstation_stick_r_press.png new file mode 100644 index 0000000..83f148f Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_stick_r_press.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_stick_r_press.png.meta b/UI/Sprites/Inputs/ps/playstation_stick_r_press.png.meta new file mode 100644 index 0000000..fbba84b --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_stick_r_press.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 532c69198106040aa8ec19d3e67e169b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_stick_r_right.png b/UI/Sprites/Inputs/ps/playstation_stick_r_right.png new file mode 100644 index 0000000..43814dc Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_stick_r_right.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_stick_r_right.png.meta b/UI/Sprites/Inputs/ps/playstation_stick_r_right.png.meta new file mode 100644 index 0000000..24d3a33 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_stick_r_right.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 246a6f80ed12c4e5c8344ce0687da1be +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_stick_r_up.png b/UI/Sprites/Inputs/ps/playstation_stick_r_up.png new file mode 100644 index 0000000..5d8541f Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_stick_r_up.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_stick_r_up.png.meta b/UI/Sprites/Inputs/ps/playstation_stick_r_up.png.meta new file mode 100644 index 0000000..10ceaa0 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_stick_r_up.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: f6d308baba125482da17a949563d8af4 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_stick_r_vertical.png b/UI/Sprites/Inputs/ps/playstation_stick_r_vertical.png new file mode 100644 index 0000000..95d07d3 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_stick_r_vertical.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_stick_r_vertical.png.meta b/UI/Sprites/Inputs/ps/playstation_stick_r_vertical.png.meta new file mode 100644 index 0000000..f19eb5b --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_stick_r_vertical.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 1fd11193cfa3047c8b271bf5d2066131 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_stick_side_l.png b/UI/Sprites/Inputs/ps/playstation_stick_side_l.png new file mode 100644 index 0000000..7a5dfbc Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_stick_side_l.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_stick_side_l.png.meta b/UI/Sprites/Inputs/ps/playstation_stick_side_l.png.meta new file mode 100644 index 0000000..0831d48 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_stick_side_l.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: e138959452d134addafea5b515f9c00b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_stick_side_r.png b/UI/Sprites/Inputs/ps/playstation_stick_side_r.png new file mode 100644 index 0000000..bc83a48 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_stick_side_r.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_stick_side_r.png.meta b/UI/Sprites/Inputs/ps/playstation_stick_side_r.png.meta new file mode 100644 index 0000000..e5e0f8f --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_stick_side_r.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 4590cd9eac273473abb544bef13bdb41 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_stick_top_l.png b/UI/Sprites/Inputs/ps/playstation_stick_top_l.png new file mode 100644 index 0000000..c64c00f Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_stick_top_l.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_stick_top_l.png.meta b/UI/Sprites/Inputs/ps/playstation_stick_top_l.png.meta new file mode 100644 index 0000000..73a4e7c --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_stick_top_l.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 82a275e9424664e74bd7f345b044a526 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_stick_top_r.png b/UI/Sprites/Inputs/ps/playstation_stick_top_r.png new file mode 100644 index 0000000..da1adb3 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_stick_top_r.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_stick_top_r.png.meta b/UI/Sprites/Inputs/ps/playstation_stick_top_r.png.meta new file mode 100644 index 0000000..5b3c56b --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_stick_top_r.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 54bdb9152656b4ca18eda138df16f23a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_trigger_l1.png b/UI/Sprites/Inputs/ps/playstation_trigger_l1.png new file mode 100644 index 0000000..931dfb2 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_trigger_l1.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_trigger_l1.png.meta b/UI/Sprites/Inputs/ps/playstation_trigger_l1.png.meta new file mode 100644 index 0000000..eb7e7af --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_trigger_l1.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 7135d63f3c317436191c43b36993d70b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_trigger_l1_alternative.png b/UI/Sprites/Inputs/ps/playstation_trigger_l1_alternative.png new file mode 100644 index 0000000..b737fca Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_trigger_l1_alternative.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_trigger_l1_alternative.png.meta b/UI/Sprites/Inputs/ps/playstation_trigger_l1_alternative.png.meta new file mode 100644 index 0000000..ead22fd --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_trigger_l1_alternative.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: b9abb0f5fff0f4602a226fd1eda8e36f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_trigger_l2.png b/UI/Sprites/Inputs/ps/playstation_trigger_l2.png new file mode 100644 index 0000000..1afff3f Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_trigger_l2.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_trigger_l2.png.meta b/UI/Sprites/Inputs/ps/playstation_trigger_l2.png.meta new file mode 100644 index 0000000..63aec29 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_trigger_l2.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 57c57e0a2211e43d1ac6b5990a38c6db +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_trigger_l2_alternative.png b/UI/Sprites/Inputs/ps/playstation_trigger_l2_alternative.png new file mode 100644 index 0000000..428f8b0 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_trigger_l2_alternative.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_trigger_l2_alternative.png.meta b/UI/Sprites/Inputs/ps/playstation_trigger_l2_alternative.png.meta new file mode 100644 index 0000000..32ad8bf --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_trigger_l2_alternative.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 07f2d952a1db8491ea279420dfe85d16 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_trigger_r1.png b/UI/Sprites/Inputs/ps/playstation_trigger_r1.png new file mode 100644 index 0000000..4e91c3a Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_trigger_r1.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_trigger_r1.png.meta b/UI/Sprites/Inputs/ps/playstation_trigger_r1.png.meta new file mode 100644 index 0000000..e5155ed --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_trigger_r1.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 325f9ebf532fa4c47ac845bc356456db +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_trigger_r1_alternative.png b/UI/Sprites/Inputs/ps/playstation_trigger_r1_alternative.png new file mode 100644 index 0000000..c8fef14 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_trigger_r1_alternative.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_trigger_r1_alternative.png.meta b/UI/Sprites/Inputs/ps/playstation_trigger_r1_alternative.png.meta new file mode 100644 index 0000000..97bd3f4 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_trigger_r1_alternative.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: a61138765f9dd481a8609ecb0d55cfde +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_trigger_r2.png b/UI/Sprites/Inputs/ps/playstation_trigger_r2.png new file mode 100644 index 0000000..b13a0c1 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_trigger_r2.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_trigger_r2.png.meta b/UI/Sprites/Inputs/ps/playstation_trigger_r2.png.meta new file mode 100644 index 0000000..e19f7c1 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_trigger_r2.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: f68720b2effbb4d90b921076bcbd547c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/ps/playstation_trigger_r2_alternative.png b/UI/Sprites/Inputs/ps/playstation_trigger_r2_alternative.png new file mode 100644 index 0000000..d8125f9 Binary files /dev/null and b/UI/Sprites/Inputs/ps/playstation_trigger_r2_alternative.png differ diff --git a/UI/Sprites/Inputs/ps/playstation_trigger_r2_alternative.png.meta b/UI/Sprites/Inputs/ps/playstation_trigger_r2_alternative.png.meta new file mode 100644 index 0000000..682f7c8 --- /dev/null +++ b/UI/Sprites/Inputs/ps/playstation_trigger_r2_alternative.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: eefc5368b619046149b34fabd6d1a0b2 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch.meta b/UI/Sprites/Inputs/switch.meta new file mode 100644 index 0000000..0b3a963 --- /dev/null +++ b/UI/Sprites/Inputs/switch.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 897f8fcafc0594d6496837d30032b1c8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/controller_switch_joycon_down.png b/UI/Sprites/Inputs/switch/controller_switch_joycon_down.png new file mode 100644 index 0000000..a65a521 Binary files /dev/null and b/UI/Sprites/Inputs/switch/controller_switch_joycon_down.png differ diff --git a/UI/Sprites/Inputs/switch/controller_switch_joycon_down.png.meta b/UI/Sprites/Inputs/switch/controller_switch_joycon_down.png.meta new file mode 100644 index 0000000..1890879 --- /dev/null +++ b/UI/Sprites/Inputs/switch/controller_switch_joycon_down.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: b4db4980df82e47d8bb449675fdd6096 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/controller_switch_joycon_up.png b/UI/Sprites/Inputs/switch/controller_switch_joycon_up.png new file mode 100644 index 0000000..924c6d5 Binary files /dev/null and b/UI/Sprites/Inputs/switch/controller_switch_joycon_up.png differ diff --git a/UI/Sprites/Inputs/switch/controller_switch_joycon_up.png.meta b/UI/Sprites/Inputs/switch/controller_switch_joycon_up.png.meta new file mode 100644 index 0000000..bd63e16 --- /dev/null +++ b/UI/Sprites/Inputs/switch/controller_switch_joycon_up.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 6f5aebe5f0fb74fcd9ccfcd4d2242a15 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_button_a.png b/UI/Sprites/Inputs/switch/switch_button_a.png new file mode 100644 index 0000000..281f3e6 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_button_a.png differ diff --git a/UI/Sprites/Inputs/switch/switch_button_a.png.meta b/UI/Sprites/Inputs/switch/switch_button_a.png.meta new file mode 100644 index 0000000..98d7e25 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_button_a.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 1e8139e12c78c4ab6b302856ba8f180b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_button_b.png b/UI/Sprites/Inputs/switch/switch_button_b.png new file mode 100644 index 0000000..91175bb Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_button_b.png differ diff --git a/UI/Sprites/Inputs/switch/switch_button_b.png.meta b/UI/Sprites/Inputs/switch/switch_button_b.png.meta new file mode 100644 index 0000000..e3d2af4 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_button_b.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 6a1755ed1bd044b71866a595125ab0be +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_button_home.png b/UI/Sprites/Inputs/switch/switch_button_home.png new file mode 100644 index 0000000..3087f31 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_button_home.png differ diff --git a/UI/Sprites/Inputs/switch/switch_button_home.png.meta b/UI/Sprites/Inputs/switch/switch_button_home.png.meta new file mode 100644 index 0000000..7d0291c --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_button_home.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: f1d0717bc54024d6f982d71d32e29c95 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_button_l.png b/UI/Sprites/Inputs/switch/switch_button_l.png new file mode 100644 index 0000000..3fad117 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_button_l.png differ diff --git a/UI/Sprites/Inputs/switch/switch_button_l.png.meta b/UI/Sprites/Inputs/switch/switch_button_l.png.meta new file mode 100644 index 0000000..cb73837 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_button_l.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 759506ef9ef784e8598fd62f095020b5 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_button_minus.png b/UI/Sprites/Inputs/switch/switch_button_minus.png new file mode 100644 index 0000000..31b5c64 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_button_minus.png differ diff --git a/UI/Sprites/Inputs/switch/switch_button_minus.png.meta b/UI/Sprites/Inputs/switch/switch_button_minus.png.meta new file mode 100644 index 0000000..1a773dc --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_button_minus.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: a50a9b6fc221d42af958f635017012b5 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_button_plus.png b/UI/Sprites/Inputs/switch/switch_button_plus.png new file mode 100644 index 0000000..c4476c0 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_button_plus.png differ diff --git a/UI/Sprites/Inputs/switch/switch_button_plus.png.meta b/UI/Sprites/Inputs/switch/switch_button_plus.png.meta new file mode 100644 index 0000000..76fc004 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_button_plus.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 379f872a66a2041f6b08b40f5914e8f4 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_button_r.png b/UI/Sprites/Inputs/switch/switch_button_r.png new file mode 100644 index 0000000..892b7ce Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_button_r.png differ diff --git a/UI/Sprites/Inputs/switch/switch_button_r.png.meta b/UI/Sprites/Inputs/switch/switch_button_r.png.meta new file mode 100644 index 0000000..2afa99d --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_button_r.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 02f543f081dad4c8ca8b49705f05fdb9 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_button_sl.png b/UI/Sprites/Inputs/switch/switch_button_sl.png new file mode 100644 index 0000000..d306696 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_button_sl.png differ diff --git a/UI/Sprites/Inputs/switch/switch_button_sl.png.meta b/UI/Sprites/Inputs/switch/switch_button_sl.png.meta new file mode 100644 index 0000000..bafebea --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_button_sl.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 5776c14cc721a40ddb594f47222476b4 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_button_sr.png b/UI/Sprites/Inputs/switch/switch_button_sr.png new file mode 100644 index 0000000..92cd4a0 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_button_sr.png differ diff --git a/UI/Sprites/Inputs/switch/switch_button_sr.png.meta b/UI/Sprites/Inputs/switch/switch_button_sr.png.meta new file mode 100644 index 0000000..14e502f --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_button_sr.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: d61c8d50e991146a7ab95c610f425bc4 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_button_sync.png b/UI/Sprites/Inputs/switch/switch_button_sync.png new file mode 100644 index 0000000..623ea1b Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_button_sync.png differ diff --git a/UI/Sprites/Inputs/switch/switch_button_sync.png.meta b/UI/Sprites/Inputs/switch/switch_button_sync.png.meta new file mode 100644 index 0000000..309131e --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_button_sync.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 3d04ad4856fd34a258fff55f0e622d10 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_button_x.png b/UI/Sprites/Inputs/switch/switch_button_x.png new file mode 100644 index 0000000..b29ede3 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_button_x.png differ diff --git a/UI/Sprites/Inputs/switch/switch_button_x.png.meta b/UI/Sprites/Inputs/switch/switch_button_x.png.meta new file mode 100644 index 0000000..1d20717 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_button_x.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 0e46257482145463280c846debfaadf5 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_button_y.png b/UI/Sprites/Inputs/switch/switch_button_y.png new file mode 100644 index 0000000..737632d Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_button_y.png differ diff --git a/UI/Sprites/Inputs/switch/switch_button_y.png.meta b/UI/Sprites/Inputs/switch/switch_button_y.png.meta new file mode 100644 index 0000000..4e0ee88 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_button_y.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: ecfabc2b84d474890b15b48ee8de258f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_button_zl.png b/UI/Sprites/Inputs/switch/switch_button_zl.png new file mode 100644 index 0000000..4d8a4f6 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_button_zl.png differ diff --git a/UI/Sprites/Inputs/switch/switch_button_zl.png.meta b/UI/Sprites/Inputs/switch/switch_button_zl.png.meta new file mode 100644 index 0000000..0db2483 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_button_zl.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 76ac3ff5dd1364b3db56dea9c2628205 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_button_zr.png b/UI/Sprites/Inputs/switch/switch_button_zr.png new file mode 100644 index 0000000..9e3d274 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_button_zr.png differ diff --git a/UI/Sprites/Inputs/switch/switch_button_zr.png.meta b/UI/Sprites/Inputs/switch/switch_button_zr.png.meta new file mode 100644 index 0000000..bf43749 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_button_zr.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 9df260c86039d4e42ad197d04452142a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_buttons.png b/UI/Sprites/Inputs/switch/switch_buttons.png new file mode 100644 index 0000000..aad580c Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_buttons.png differ diff --git a/UI/Sprites/Inputs/switch/switch_buttons.png.meta b/UI/Sprites/Inputs/switch/switch_buttons.png.meta new file mode 100644 index 0000000..823f853 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_buttons.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: ee9da5e041b504d48b992e2ff9428654 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_buttons_all.png b/UI/Sprites/Inputs/switch/switch_buttons_all.png new file mode 100644 index 0000000..479ac4e Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_buttons_all.png differ diff --git a/UI/Sprites/Inputs/switch/switch_buttons_all.png.meta b/UI/Sprites/Inputs/switch/switch_buttons_all.png.meta new file mode 100644 index 0000000..6e06c50 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_buttons_all.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: ee0a7ab4023324dce8b78332b49506a9 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_buttons_down.png b/UI/Sprites/Inputs/switch/switch_buttons_down.png new file mode 100644 index 0000000..eb974e8 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_buttons_down.png differ diff --git a/UI/Sprites/Inputs/switch/switch_buttons_down.png.meta b/UI/Sprites/Inputs/switch/switch_buttons_down.png.meta new file mode 100644 index 0000000..8a33b82 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_buttons_down.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 4b1e73bb139bf46778c0cf26ee314772 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_buttons_horizontal.png b/UI/Sprites/Inputs/switch/switch_buttons_horizontal.png new file mode 100644 index 0000000..a37b470 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_buttons_horizontal.png differ diff --git a/UI/Sprites/Inputs/switch/switch_buttons_horizontal.png.meta b/UI/Sprites/Inputs/switch/switch_buttons_horizontal.png.meta new file mode 100644 index 0000000..1ec662a --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_buttons_horizontal.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: a4cbec277acbd40f69550174cda08d1a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_buttons_left.png b/UI/Sprites/Inputs/switch/switch_buttons_left.png new file mode 100644 index 0000000..e432ac1 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_buttons_left.png differ diff --git a/UI/Sprites/Inputs/switch/switch_buttons_left.png.meta b/UI/Sprites/Inputs/switch/switch_buttons_left.png.meta new file mode 100644 index 0000000..4c55e3f --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_buttons_left.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 109d1c4cbec104d9f9b050b91d774b8f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_buttons_none.png b/UI/Sprites/Inputs/switch/switch_buttons_none.png new file mode 100644 index 0000000..b0a8d02 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_buttons_none.png differ diff --git a/UI/Sprites/Inputs/switch/switch_buttons_none.png.meta b/UI/Sprites/Inputs/switch/switch_buttons_none.png.meta new file mode 100644 index 0000000..7090a1f --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_buttons_none.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 9963949419be840739e73b7044b1e90d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_buttons_right.png b/UI/Sprites/Inputs/switch/switch_buttons_right.png new file mode 100644 index 0000000..30d91f1 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_buttons_right.png differ diff --git a/UI/Sprites/Inputs/switch/switch_buttons_right.png.meta b/UI/Sprites/Inputs/switch/switch_buttons_right.png.meta new file mode 100644 index 0000000..fe51479 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_buttons_right.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 7a6a1fa4eb05c4bfc9db9a846a5d89ef +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_buttons_up.png b/UI/Sprites/Inputs/switch/switch_buttons_up.png new file mode 100644 index 0000000..b31d7ce Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_buttons_up.png differ diff --git a/UI/Sprites/Inputs/switch/switch_buttons_up.png.meta b/UI/Sprites/Inputs/switch/switch_buttons_up.png.meta new file mode 100644 index 0000000..0626358 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_buttons_up.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 59c292b9684ef4c6894f568f06bd501c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_buttons_vertical.png b/UI/Sprites/Inputs/switch/switch_buttons_vertical.png new file mode 100644 index 0000000..6eee738 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_buttons_vertical.png differ diff --git a/UI/Sprites/Inputs/switch/switch_buttons_vertical.png.meta b/UI/Sprites/Inputs/switch/switch_buttons_vertical.png.meta new file mode 100644 index 0000000..4634b8b --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_buttons_vertical.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: e2c245a4ad59b4b8d89a5c34d763becd +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_down.png b/UI/Sprites/Inputs/switch/switch_down.png new file mode 100644 index 0000000..43de8c5 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_down.png differ diff --git a/UI/Sprites/Inputs/switch/switch_down.png.meta b/UI/Sprites/Inputs/switch/switch_down.png.meta new file mode 100644 index 0000000..a8861c7 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_down.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 44a1caf5a9dd14bdeb3e137a6237e0a0 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_dpad.png b/UI/Sprites/Inputs/switch/switch_dpad.png new file mode 100644 index 0000000..be1775a Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_dpad.png differ diff --git a/UI/Sprites/Inputs/switch/switch_dpad.png.meta b/UI/Sprites/Inputs/switch/switch_dpad.png.meta new file mode 100644 index 0000000..2248bc8 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_dpad.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: a10048513d63d488ebc206b0a9c12a0a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_dpad_all.png b/UI/Sprites/Inputs/switch/switch_dpad_all.png new file mode 100644 index 0000000..88ce076 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_dpad_all.png differ diff --git a/UI/Sprites/Inputs/switch/switch_dpad_all.png.meta b/UI/Sprites/Inputs/switch/switch_dpad_all.png.meta new file mode 100644 index 0000000..b6f7dc0 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_dpad_all.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 60506f13919c34037bed0ec4d4b180b0 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_dpad_down.png b/UI/Sprites/Inputs/switch/switch_dpad_down.png new file mode 100644 index 0000000..7ef6641 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_dpad_down.png differ diff --git a/UI/Sprites/Inputs/switch/switch_dpad_down.png.meta b/UI/Sprites/Inputs/switch/switch_dpad_down.png.meta new file mode 100644 index 0000000..ab47c16 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_dpad_down.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 0b9836b26253b4e52960b7d935994bf4 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_dpad_horizontal.png b/UI/Sprites/Inputs/switch/switch_dpad_horizontal.png new file mode 100644 index 0000000..423914a Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_dpad_horizontal.png differ diff --git a/UI/Sprites/Inputs/switch/switch_dpad_horizontal.png.meta b/UI/Sprites/Inputs/switch/switch_dpad_horizontal.png.meta new file mode 100644 index 0000000..cd4a3b3 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_dpad_horizontal.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 23680aecb263249bcb657bdab5a981c6 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_dpad_left.png b/UI/Sprites/Inputs/switch/switch_dpad_left.png new file mode 100644 index 0000000..013e178 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_dpad_left.png differ diff --git a/UI/Sprites/Inputs/switch/switch_dpad_left.png.meta b/UI/Sprites/Inputs/switch/switch_dpad_left.png.meta new file mode 100644 index 0000000..b926493 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_dpad_left.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 394ce3ced2a7d46f3b904a54fcb6476e +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_dpad_none.png b/UI/Sprites/Inputs/switch/switch_dpad_none.png new file mode 100644 index 0000000..240e747 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_dpad_none.png differ diff --git a/UI/Sprites/Inputs/switch/switch_dpad_none.png.meta b/UI/Sprites/Inputs/switch/switch_dpad_none.png.meta new file mode 100644 index 0000000..1b52ae8 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_dpad_none.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: b584cc37b5b87417887760b439ece209 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_dpad_right.png b/UI/Sprites/Inputs/switch/switch_dpad_right.png new file mode 100644 index 0000000..aa51d80 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_dpad_right.png differ diff --git a/UI/Sprites/Inputs/switch/switch_dpad_right.png.meta b/UI/Sprites/Inputs/switch/switch_dpad_right.png.meta new file mode 100644 index 0000000..f0b3ced --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_dpad_right.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: a9204925729c74c1d8d4ec575708616a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_dpad_up.png b/UI/Sprites/Inputs/switch/switch_dpad_up.png new file mode 100644 index 0000000..d102f56 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_dpad_up.png differ diff --git a/UI/Sprites/Inputs/switch/switch_dpad_up.png.meta b/UI/Sprites/Inputs/switch/switch_dpad_up.png.meta new file mode 100644 index 0000000..aa0cf72 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_dpad_up.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 6b9df005bc36144fdbf8cae9536cf0cc +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_dpad_vertical.png b/UI/Sprites/Inputs/switch/switch_dpad_vertical.png new file mode 100644 index 0000000..9157703 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_dpad_vertical.png differ diff --git a/UI/Sprites/Inputs/switch/switch_dpad_vertical.png.meta b/UI/Sprites/Inputs/switch/switch_dpad_vertical.png.meta new file mode 100644 index 0000000..6917617 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_dpad_vertical.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 16923fcbe415b4584bcacd497fcd8378 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_joycon.png b/UI/Sprites/Inputs/switch/switch_joycon.png new file mode 100644 index 0000000..a1841e0 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_joycon.png differ diff --git a/UI/Sprites/Inputs/switch/switch_joycon.png.meta b/UI/Sprites/Inputs/switch/switch_joycon.png.meta new file mode 100644 index 0000000..10317fa --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_joycon.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 1b38f9dbb03ed4393b710cd973381b66 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_joycon_left.png b/UI/Sprites/Inputs/switch/switch_joycon_left.png new file mode 100644 index 0000000..d5bc1bc Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_joycon_left.png differ diff --git a/UI/Sprites/Inputs/switch/switch_joycon_left.png.meta b/UI/Sprites/Inputs/switch/switch_joycon_left.png.meta new file mode 100644 index 0000000..de12cb4 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_joycon_left.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: e6a2416af4c3a4dd3b14512d951a432a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_joycon_left_diagonal.png b/UI/Sprites/Inputs/switch/switch_joycon_left_diagonal.png new file mode 100644 index 0000000..d1d3fd9 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_joycon_left_diagonal.png differ diff --git a/UI/Sprites/Inputs/switch/switch_joycon_left_diagonal.png.meta b/UI/Sprites/Inputs/switch/switch_joycon_left_diagonal.png.meta new file mode 100644 index 0000000..f6b2338 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_joycon_left_diagonal.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: ec5a855e1f3cd496da8445062e0ae544 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_joycon_left_horizontal.png b/UI/Sprites/Inputs/switch/switch_joycon_left_horizontal.png new file mode 100644 index 0000000..1d6861d Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_joycon_left_horizontal.png differ diff --git a/UI/Sprites/Inputs/switch/switch_joycon_left_horizontal.png.meta b/UI/Sprites/Inputs/switch/switch_joycon_left_horizontal.png.meta new file mode 100644 index 0000000..fe6f13c --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_joycon_left_horizontal.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 12316b57822354064b350aa56ef45f18 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_joycon_left_rotate.png b/UI/Sprites/Inputs/switch/switch_joycon_left_rotate.png new file mode 100644 index 0000000..81c3ac4 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_joycon_left_rotate.png differ diff --git a/UI/Sprites/Inputs/switch/switch_joycon_left_rotate.png.meta b/UI/Sprites/Inputs/switch/switch_joycon_left_rotate.png.meta new file mode 100644 index 0000000..1616858 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_joycon_left_rotate.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 56d20db66d6c44855b734c1d9438206e +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_joycon_left_vertical.png b/UI/Sprites/Inputs/switch/switch_joycon_left_vertical.png new file mode 100644 index 0000000..5c23094 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_joycon_left_vertical.png differ diff --git a/UI/Sprites/Inputs/switch/switch_joycon_left_vertical.png.meta b/UI/Sprites/Inputs/switch/switch_joycon_left_vertical.png.meta new file mode 100644 index 0000000..04f83c2 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_joycon_left_vertical.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: e3e196a0f199443e2816b2475ff34b42 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_joycon_right.png b/UI/Sprites/Inputs/switch/switch_joycon_right.png new file mode 100644 index 0000000..ae66c06 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_joycon_right.png differ diff --git a/UI/Sprites/Inputs/switch/switch_joycon_right.png.meta b/UI/Sprites/Inputs/switch/switch_joycon_right.png.meta new file mode 100644 index 0000000..7950b82 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_joycon_right.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: e148593cf09724da6b94b091781b236d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_joycon_right_diagonal.png b/UI/Sprites/Inputs/switch/switch_joycon_right_diagonal.png new file mode 100644 index 0000000..e886c4b Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_joycon_right_diagonal.png differ diff --git a/UI/Sprites/Inputs/switch/switch_joycon_right_diagonal.png.meta b/UI/Sprites/Inputs/switch/switch_joycon_right_diagonal.png.meta new file mode 100644 index 0000000..54c3848 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_joycon_right_diagonal.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 76baa789390cb4241995bad1d49dcbff +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_joycon_right_horizontal.png b/UI/Sprites/Inputs/switch/switch_joycon_right_horizontal.png new file mode 100644 index 0000000..f379059 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_joycon_right_horizontal.png differ diff --git a/UI/Sprites/Inputs/switch/switch_joycon_right_horizontal.png.meta b/UI/Sprites/Inputs/switch/switch_joycon_right_horizontal.png.meta new file mode 100644 index 0000000..86912d6 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_joycon_right_horizontal.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 627c9e19f42ee49bf80b9d2a7255aa13 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_joycon_right_rotate.png b/UI/Sprites/Inputs/switch/switch_joycon_right_rotate.png new file mode 100644 index 0000000..2e6c3ae Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_joycon_right_rotate.png differ diff --git a/UI/Sprites/Inputs/switch/switch_joycon_right_rotate.png.meta b/UI/Sprites/Inputs/switch/switch_joycon_right_rotate.png.meta new file mode 100644 index 0000000..00baab4 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_joycon_right_rotate.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: f9f8e9f4f5b9e458495a6c22f84e8fc7 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_joycon_right_vertical.png b/UI/Sprites/Inputs/switch/switch_joycon_right_vertical.png new file mode 100644 index 0000000..be0e90d Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_joycon_right_vertical.png differ diff --git a/UI/Sprites/Inputs/switch/switch_joycon_right_vertical.png.meta b/UI/Sprites/Inputs/switch/switch_joycon_right_vertical.png.meta new file mode 100644 index 0000000..b135d8a --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_joycon_right_vertical.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 0e5b09b622cb84f33a3a243ad5fa76fe +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_left.png b/UI/Sprites/Inputs/switch/switch_left.png new file mode 100644 index 0000000..c8e972c Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_left.png differ diff --git a/UI/Sprites/Inputs/switch/switch_left.png.meta b/UI/Sprites/Inputs/switch/switch_left.png.meta new file mode 100644 index 0000000..8cedd68 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_left.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 9ea9a8f8259464f078c2ce036edbad01 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_right.png b/UI/Sprites/Inputs/switch/switch_right.png new file mode 100644 index 0000000..304a73e Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_right.png differ diff --git a/UI/Sprites/Inputs/switch/switch_right.png.meta b/UI/Sprites/Inputs/switch/switch_right.png.meta new file mode 100644 index 0000000..ce59a5a --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_right.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: e3fc38dc26acc446ebe1f73bcd242748 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_stick_l.png b/UI/Sprites/Inputs/switch/switch_stick_l.png new file mode 100644 index 0000000..e04bbf3 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_stick_l.png differ diff --git a/UI/Sprites/Inputs/switch/switch_stick_l.png.meta b/UI/Sprites/Inputs/switch/switch_stick_l.png.meta new file mode 100644 index 0000000..abac1b5 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_stick_l.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 36123284662c24ff786788cd2af85c94 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_stick_l_down.png b/UI/Sprites/Inputs/switch/switch_stick_l_down.png new file mode 100644 index 0000000..184733d Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_stick_l_down.png differ diff --git a/UI/Sprites/Inputs/switch/switch_stick_l_down.png.meta b/UI/Sprites/Inputs/switch/switch_stick_l_down.png.meta new file mode 100644 index 0000000..a73623f --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_stick_l_down.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 4fe7086e9c0db4c8fb969e26d56b2896 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_stick_l_horizontal.png b/UI/Sprites/Inputs/switch/switch_stick_l_horizontal.png new file mode 100644 index 0000000..7d3ea53 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_stick_l_horizontal.png differ diff --git a/UI/Sprites/Inputs/switch/switch_stick_l_horizontal.png.meta b/UI/Sprites/Inputs/switch/switch_stick_l_horizontal.png.meta new file mode 100644 index 0000000..20163d1 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_stick_l_horizontal.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: f770ac983bd7f4ffc876a59e1a2d0c62 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_stick_l_left.png b/UI/Sprites/Inputs/switch/switch_stick_l_left.png new file mode 100644 index 0000000..0fa8948 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_stick_l_left.png differ diff --git a/UI/Sprites/Inputs/switch/switch_stick_l_left.png.meta b/UI/Sprites/Inputs/switch/switch_stick_l_left.png.meta new file mode 100644 index 0000000..a91f61e --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_stick_l_left.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 888ed971f8eb64d07a782e69827a6839 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_stick_l_press.png b/UI/Sprites/Inputs/switch/switch_stick_l_press.png new file mode 100644 index 0000000..9f998e6 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_stick_l_press.png differ diff --git a/UI/Sprites/Inputs/switch/switch_stick_l_press.png.meta b/UI/Sprites/Inputs/switch/switch_stick_l_press.png.meta new file mode 100644 index 0000000..ccb6bbc --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_stick_l_press.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: af2ab828379d24791aaafdc43e95d7a1 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_stick_l_right.png b/UI/Sprites/Inputs/switch/switch_stick_l_right.png new file mode 100644 index 0000000..53df6eb Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_stick_l_right.png differ diff --git a/UI/Sprites/Inputs/switch/switch_stick_l_right.png.meta b/UI/Sprites/Inputs/switch/switch_stick_l_right.png.meta new file mode 100644 index 0000000..383ec36 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_stick_l_right.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 86347c235744442c3b9b43aff1babac8 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_stick_l_up.png b/UI/Sprites/Inputs/switch/switch_stick_l_up.png new file mode 100644 index 0000000..297a435 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_stick_l_up.png differ diff --git a/UI/Sprites/Inputs/switch/switch_stick_l_up.png.meta b/UI/Sprites/Inputs/switch/switch_stick_l_up.png.meta new file mode 100644 index 0000000..8361216 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_stick_l_up.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: cede018c3a3cb45398479d762311d3e7 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_stick_l_vertical.png b/UI/Sprites/Inputs/switch/switch_stick_l_vertical.png new file mode 100644 index 0000000..b727722 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_stick_l_vertical.png differ diff --git a/UI/Sprites/Inputs/switch/switch_stick_l_vertical.png.meta b/UI/Sprites/Inputs/switch/switch_stick_l_vertical.png.meta new file mode 100644 index 0000000..8ce43aa --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_stick_l_vertical.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: d18ea3d73fcdc4c1f9595ce3f3e6a888 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_stick_r.png b/UI/Sprites/Inputs/switch/switch_stick_r.png new file mode 100644 index 0000000..bdeaf51 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_stick_r.png differ diff --git a/UI/Sprites/Inputs/switch/switch_stick_r.png.meta b/UI/Sprites/Inputs/switch/switch_stick_r.png.meta new file mode 100644 index 0000000..2c1ac9d --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_stick_r.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: d637c4b9c3b4d460781b7e9194d631c2 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_stick_r_down.png b/UI/Sprites/Inputs/switch/switch_stick_r_down.png new file mode 100644 index 0000000..0e6e24a Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_stick_r_down.png differ diff --git a/UI/Sprites/Inputs/switch/switch_stick_r_down.png.meta b/UI/Sprites/Inputs/switch/switch_stick_r_down.png.meta new file mode 100644 index 0000000..397b23a --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_stick_r_down.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 768083c2c0d5140809ea5a57bc50e49c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_stick_r_horizontal.png b/UI/Sprites/Inputs/switch/switch_stick_r_horizontal.png new file mode 100644 index 0000000..7bf0547 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_stick_r_horizontal.png differ diff --git a/UI/Sprites/Inputs/switch/switch_stick_r_horizontal.png.meta b/UI/Sprites/Inputs/switch/switch_stick_r_horizontal.png.meta new file mode 100644 index 0000000..5913439 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_stick_r_horizontal.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 77f26d2e11b28486fb0c7c7654cd0312 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_stick_r_left.png b/UI/Sprites/Inputs/switch/switch_stick_r_left.png new file mode 100644 index 0000000..86418ac Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_stick_r_left.png differ diff --git a/UI/Sprites/Inputs/switch/switch_stick_r_left.png.meta b/UI/Sprites/Inputs/switch/switch_stick_r_left.png.meta new file mode 100644 index 0000000..d621ee9 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_stick_r_left.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: e7bc756e019ba42e780f5fcfe990baa7 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_stick_r_press.png b/UI/Sprites/Inputs/switch/switch_stick_r_press.png new file mode 100644 index 0000000..83f148f Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_stick_r_press.png differ diff --git a/UI/Sprites/Inputs/switch/switch_stick_r_press.png.meta b/UI/Sprites/Inputs/switch/switch_stick_r_press.png.meta new file mode 100644 index 0000000..6893c51 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_stick_r_press.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: b1807420a1e1745b29f4a545c03b6906 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_stick_r_right.png b/UI/Sprites/Inputs/switch/switch_stick_r_right.png new file mode 100644 index 0000000..43814dc Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_stick_r_right.png differ diff --git a/UI/Sprites/Inputs/switch/switch_stick_r_right.png.meta b/UI/Sprites/Inputs/switch/switch_stick_r_right.png.meta new file mode 100644 index 0000000..3705f78 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_stick_r_right.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 83e6f97ba07df487daa28de644f5acfd +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_stick_r_up.png b/UI/Sprites/Inputs/switch/switch_stick_r_up.png new file mode 100644 index 0000000..5d8541f Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_stick_r_up.png differ diff --git a/UI/Sprites/Inputs/switch/switch_stick_r_up.png.meta b/UI/Sprites/Inputs/switch/switch_stick_r_up.png.meta new file mode 100644 index 0000000..2c8af6f --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_stick_r_up.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 3f27fd15a030a4aa7ae8406da826d682 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_stick_r_vertical.png b/UI/Sprites/Inputs/switch/switch_stick_r_vertical.png new file mode 100644 index 0000000..95d07d3 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_stick_r_vertical.png differ diff --git a/UI/Sprites/Inputs/switch/switch_stick_r_vertical.png.meta b/UI/Sprites/Inputs/switch/switch_stick_r_vertical.png.meta new file mode 100644 index 0000000..459b040 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_stick_r_vertical.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 370be3138b77a4a82a989c363f136807 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_stick_side_l.png b/UI/Sprites/Inputs/switch/switch_stick_side_l.png new file mode 100644 index 0000000..ef5bdb2 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_stick_side_l.png differ diff --git a/UI/Sprites/Inputs/switch/switch_stick_side_l.png.meta b/UI/Sprites/Inputs/switch/switch_stick_side_l.png.meta new file mode 100644 index 0000000..e794c24 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_stick_side_l.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: d4da2e6eda80344fc948aab83de58ca5 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_stick_side_r.png b/UI/Sprites/Inputs/switch/switch_stick_side_r.png new file mode 100644 index 0000000..1481761 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_stick_side_r.png differ diff --git a/UI/Sprites/Inputs/switch/switch_stick_side_r.png.meta b/UI/Sprites/Inputs/switch/switch_stick_side_r.png.meta new file mode 100644 index 0000000..3531fdb --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_stick_side_r.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: fe7ddb2543f7d4e5aa5c71dac85e46d2 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_stick_top_l.png b/UI/Sprites/Inputs/switch/switch_stick_top_l.png new file mode 100644 index 0000000..c64c00f Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_stick_top_l.png differ diff --git a/UI/Sprites/Inputs/switch/switch_stick_top_l.png.meta b/UI/Sprites/Inputs/switch/switch_stick_top_l.png.meta new file mode 100644 index 0000000..a869cc8 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_stick_top_l.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 8841d6129930b4a25a0f29de8a931e08 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_stick_top_r.png b/UI/Sprites/Inputs/switch/switch_stick_top_r.png new file mode 100644 index 0000000..da1adb3 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_stick_top_r.png differ diff --git a/UI/Sprites/Inputs/switch/switch_stick_top_r.png.meta b/UI/Sprites/Inputs/switch/switch_stick_top_r.png.meta new file mode 100644 index 0000000..4f933d2 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_stick_top_r.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: abb5c263221d648f2a02956d04e72e75 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/switch/switch_up.png b/UI/Sprites/Inputs/switch/switch_up.png new file mode 100644 index 0000000..86129c7 Binary files /dev/null and b/UI/Sprites/Inputs/switch/switch_up.png differ diff --git a/UI/Sprites/Inputs/switch/switch_up.png.meta b/UI/Sprites/Inputs/switch/switch_up.png.meta new file mode 100644 index 0000000..076b8a9 --- /dev/null +++ b/UI/Sprites/Inputs/switch/switch_up.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 02b2485a8b7a049d48cf75549cfc74a3 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox.meta b/UI/Sprites/Inputs/xbox.meta new file mode 100644 index 0000000..193858a --- /dev/null +++ b/UI/Sprites/Inputs/xbox.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: da1a7531061174d8eb3936aa1fb2829e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_button_a.png b/UI/Sprites/Inputs/xbox/xbox_button_a.png new file mode 100644 index 0000000..281f3e6 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_button_a.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_button_a.png.meta b/UI/Sprites/Inputs/xbox/xbox_button_a.png.meta new file mode 100644 index 0000000..f19192a --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_button_a.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: f5a666dc0e8784f2cb25586afc44061f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_button_b.png b/UI/Sprites/Inputs/xbox/xbox_button_b.png new file mode 100644 index 0000000..91175bb Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_button_b.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_button_b.png.meta b/UI/Sprites/Inputs/xbox/xbox_button_b.png.meta new file mode 100644 index 0000000..2891c06 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_button_b.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: ee49bbd7f30e04ce9bae488f5a6cc936 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_button_back.png b/UI/Sprites/Inputs/xbox/xbox_button_back.png new file mode 100644 index 0000000..6946e42 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_button_back.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_button_back.png.meta b/UI/Sprites/Inputs/xbox/xbox_button_back.png.meta new file mode 100644 index 0000000..9878095 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_button_back.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 01f2f4c978443478b971ac5281e891db +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_button_back_icon.png b/UI/Sprites/Inputs/xbox/xbox_button_back_icon.png new file mode 100644 index 0000000..a587c29 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_button_back_icon.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_button_back_icon.png.meta b/UI/Sprites/Inputs/xbox/xbox_button_back_icon.png.meta new file mode 100644 index 0000000..d312559 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_button_back_icon.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 97142304f58a74e16acad212b505c8b2 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_button_color_a.png b/UI/Sprites/Inputs/xbox/xbox_button_color_a.png new file mode 100644 index 0000000..e7ed3fe Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_button_color_a.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_button_color_a.png.meta b/UI/Sprites/Inputs/xbox/xbox_button_color_a.png.meta new file mode 100644 index 0000000..a31e8c3 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_button_color_a.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 180bbc18939104151885db93c50659d5 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_button_color_b.png b/UI/Sprites/Inputs/xbox/xbox_button_color_b.png new file mode 100644 index 0000000..9545aa5 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_button_color_b.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_button_color_b.png.meta b/UI/Sprites/Inputs/xbox/xbox_button_color_b.png.meta new file mode 100644 index 0000000..1dfd52f --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_button_color_b.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 9d61683d857eb41a98981e6d0242d402 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_button_color_x.png b/UI/Sprites/Inputs/xbox/xbox_button_color_x.png new file mode 100644 index 0000000..368fa45 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_button_color_x.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_button_color_x.png.meta b/UI/Sprites/Inputs/xbox/xbox_button_color_x.png.meta new file mode 100644 index 0000000..58152bb --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_button_color_x.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 2b3bfe94f5f8345af80bbeafa9498f3a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_button_color_y.png b/UI/Sprites/Inputs/xbox/xbox_button_color_y.png new file mode 100644 index 0000000..96230e0 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_button_color_y.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_button_color_y.png.meta b/UI/Sprites/Inputs/xbox/xbox_button_color_y.png.meta new file mode 100644 index 0000000..be46f75 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_button_color_y.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: c329bc34cc25842b58eb041028114a11 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_button_menu.png b/UI/Sprites/Inputs/xbox/xbox_button_menu.png new file mode 100644 index 0000000..f6f1ce2 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_button_menu.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_button_menu.png.meta b/UI/Sprites/Inputs/xbox/xbox_button_menu.png.meta new file mode 100644 index 0000000..f141674 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_button_menu.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: a8a97539cf5174b8b970f2aafac39fe0 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_button_share.png b/UI/Sprites/Inputs/xbox/xbox_button_share.png new file mode 100644 index 0000000..5284bc0 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_button_share.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_button_share.png.meta b/UI/Sprites/Inputs/xbox/xbox_button_share.png.meta new file mode 100644 index 0000000..0515d62 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_button_share.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: e4472e2f4fdcc490486bd880ece432f7 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_button_start.png b/UI/Sprites/Inputs/xbox/xbox_button_start.png new file mode 100644 index 0000000..6f95425 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_button_start.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_button_start.png.meta b/UI/Sprites/Inputs/xbox/xbox_button_start.png.meta new file mode 100644 index 0000000..4a92e02 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_button_start.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 701ecf33dfd804fec86f5ca72be25e16 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_button_start_icon.png b/UI/Sprites/Inputs/xbox/xbox_button_start_icon.png new file mode 100644 index 0000000..fdc83c1 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_button_start_icon.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_button_start_icon.png.meta b/UI/Sprites/Inputs/xbox/xbox_button_start_icon.png.meta new file mode 100644 index 0000000..267850f --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_button_start_icon.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 446e10c90fc28488fbc8c977a3550468 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_button_view.png b/UI/Sprites/Inputs/xbox/xbox_button_view.png new file mode 100644 index 0000000..4c11c26 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_button_view.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_button_view.png.meta b/UI/Sprites/Inputs/xbox/xbox_button_view.png.meta new file mode 100644 index 0000000..ae8b564 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_button_view.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 0b7434fe30da54eb5bb4c1106aa677a2 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_button_x.png b/UI/Sprites/Inputs/xbox/xbox_button_x.png new file mode 100644 index 0000000..b29ede3 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_button_x.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_button_x.png.meta b/UI/Sprites/Inputs/xbox/xbox_button_x.png.meta new file mode 100644 index 0000000..185f830 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_button_x.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 5086baea7dd0242b3a99fc40bf588e46 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_button_y.png b/UI/Sprites/Inputs/xbox/xbox_button_y.png new file mode 100644 index 0000000..737632d Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_button_y.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_button_y.png.meta b/UI/Sprites/Inputs/xbox/xbox_button_y.png.meta new file mode 100644 index 0000000..65088ff --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_button_y.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 1caae6afb26174549b785c24b8cdc632 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_dpad.png b/UI/Sprites/Inputs/xbox/xbox_dpad.png new file mode 100644 index 0000000..673d29e Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_dpad.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_dpad.png.meta b/UI/Sprites/Inputs/xbox/xbox_dpad.png.meta new file mode 100644 index 0000000..bd35bb5 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_dpad.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 27470961a1ac84f4bbf3ec4c4e409461 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_dpad_all.png b/UI/Sprites/Inputs/xbox/xbox_dpad_all.png new file mode 100644 index 0000000..067af38 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_dpad_all.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_dpad_all.png.meta b/UI/Sprites/Inputs/xbox/xbox_dpad_all.png.meta new file mode 100644 index 0000000..cd06868 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_dpad_all.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 138157171bc5a4d7bbb793e009eb2b2d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_dpad_down.png b/UI/Sprites/Inputs/xbox/xbox_dpad_down.png new file mode 100644 index 0000000..7b60efa Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_dpad_down.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_dpad_down.png.meta b/UI/Sprites/Inputs/xbox/xbox_dpad_down.png.meta new file mode 100644 index 0000000..0cea655 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_dpad_down.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 1681c31ea6ffa44a799aeeff92b7bcc7 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_dpad_horizontal.png b/UI/Sprites/Inputs/xbox/xbox_dpad_horizontal.png new file mode 100644 index 0000000..0f31165 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_dpad_horizontal.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_dpad_horizontal.png.meta b/UI/Sprites/Inputs/xbox/xbox_dpad_horizontal.png.meta new file mode 100644 index 0000000..2e9ad0f --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_dpad_horizontal.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 521ea7d59d8cd45d5880ca98072f161b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_dpad_left.png b/UI/Sprites/Inputs/xbox/xbox_dpad_left.png new file mode 100644 index 0000000..8af6091 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_dpad_left.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_dpad_left.png.meta b/UI/Sprites/Inputs/xbox/xbox_dpad_left.png.meta new file mode 100644 index 0000000..31b6d89 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_dpad_left.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 853386fe55bdf4df58ab7cbcf3f97628 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_dpad_none.png b/UI/Sprites/Inputs/xbox/xbox_dpad_none.png new file mode 100644 index 0000000..fd41289 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_dpad_none.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_dpad_none.png.meta b/UI/Sprites/Inputs/xbox/xbox_dpad_none.png.meta new file mode 100644 index 0000000..f477d1b --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_dpad_none.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 528a30f94021d4271997d79c011e4e2f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_dpad_right.png b/UI/Sprites/Inputs/xbox/xbox_dpad_right.png new file mode 100644 index 0000000..71b7a3b Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_dpad_right.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_dpad_right.png.meta b/UI/Sprites/Inputs/xbox/xbox_dpad_right.png.meta new file mode 100644 index 0000000..ceecb33 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_dpad_right.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 144ac9a607d26479baa77f5cd4be8af3 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_dpad_up.png b/UI/Sprites/Inputs/xbox/xbox_dpad_up.png new file mode 100644 index 0000000..80f3d2f Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_dpad_up.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_dpad_up.png.meta b/UI/Sprites/Inputs/xbox/xbox_dpad_up.png.meta new file mode 100644 index 0000000..8710f94 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_dpad_up.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 253afedeb60e6466d83767cb09ba25b6 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_dpad_vertical.png b/UI/Sprites/Inputs/xbox/xbox_dpad_vertical.png new file mode 100644 index 0000000..282394c Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_dpad_vertical.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_dpad_vertical.png.meta b/UI/Sprites/Inputs/xbox/xbox_dpad_vertical.png.meta new file mode 100644 index 0000000..feddb2d --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_dpad_vertical.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 1fe4204ebacbf4dc2a10c50078e4acec +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_guide.png b/UI/Sprites/Inputs/xbox/xbox_guide.png new file mode 100644 index 0000000..f5d5614 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_guide.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_guide.png.meta b/UI/Sprites/Inputs/xbox/xbox_guide.png.meta new file mode 100644 index 0000000..4dc4542 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_guide.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: c605e268c456440cf95c4a1d01d0a6ab +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_lb.png b/UI/Sprites/Inputs/xbox/xbox_lb.png new file mode 100644 index 0000000..17f6fb0 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_lb.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_lb.png.meta b/UI/Sprites/Inputs/xbox/xbox_lb.png.meta new file mode 100644 index 0000000..7158a5e --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_lb.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 6d6fccddc4c34407a9918f8aa3468bf0 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_ls.png b/UI/Sprites/Inputs/xbox/xbox_ls.png new file mode 100644 index 0000000..9caf5ab Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_ls.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_ls.png.meta b/UI/Sprites/Inputs/xbox/xbox_ls.png.meta new file mode 100644 index 0000000..683ca6a --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_ls.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: d201f1d2106d147b9baf674375932de4 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_lt.png b/UI/Sprites/Inputs/xbox/xbox_lt.png new file mode 100644 index 0000000..f649d87 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_lt.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_lt.png.meta b/UI/Sprites/Inputs/xbox/xbox_lt.png.meta new file mode 100644 index 0000000..8d95e82 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_lt.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: a8f715328aa9045b69cac6a125e31ad7 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_rb.png b/UI/Sprites/Inputs/xbox/xbox_rb.png new file mode 100644 index 0000000..db42583 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_rb.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_rb.png.meta b/UI/Sprites/Inputs/xbox/xbox_rb.png.meta new file mode 100644 index 0000000..301074f --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_rb.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 32a20cf535d69415c9d19f758b1a0fb1 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_rs.png b/UI/Sprites/Inputs/xbox/xbox_rs.png new file mode 100644 index 0000000..4a73ab8 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_rs.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_rs.png.meta b/UI/Sprites/Inputs/xbox/xbox_rs.png.meta new file mode 100644 index 0000000..2d3c768 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_rs.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 4e7633b862b1b46b48aadb3d29cb24e2 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_rt.png b/UI/Sprites/Inputs/xbox/xbox_rt.png new file mode 100644 index 0000000..0c49d7d Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_rt.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_rt.png.meta b/UI/Sprites/Inputs/xbox/xbox_rt.png.meta new file mode 100644 index 0000000..0540724 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_rt.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 68b4653b26efa4680bfb3c9284ed282f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_l.png b/UI/Sprites/Inputs/xbox/xbox_stick_l.png new file mode 100644 index 0000000..e04bbf3 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_stick_l.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_l.png.meta b/UI/Sprites/Inputs/xbox/xbox_stick_l.png.meta new file mode 100644 index 0000000..3dcf81a --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_stick_l.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 0101cce94ed1942fa889ee5560888317 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_l_down.png b/UI/Sprites/Inputs/xbox/xbox_stick_l_down.png new file mode 100644 index 0000000..184733d Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_stick_l_down.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_l_down.png.meta b/UI/Sprites/Inputs/xbox/xbox_stick_l_down.png.meta new file mode 100644 index 0000000..592915b --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_stick_l_down.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 1ffcfa43d993f4242b6a95528517ad3e +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_l_horizontal.png b/UI/Sprites/Inputs/xbox/xbox_stick_l_horizontal.png new file mode 100644 index 0000000..7d3ea53 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_stick_l_horizontal.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_l_horizontal.png.meta b/UI/Sprites/Inputs/xbox/xbox_stick_l_horizontal.png.meta new file mode 100644 index 0000000..a5ca40e --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_stick_l_horizontal.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 91024ce0cc7aa4c58b095ca32ee29b10 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_l_left.png b/UI/Sprites/Inputs/xbox/xbox_stick_l_left.png new file mode 100644 index 0000000..0fa8948 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_stick_l_left.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_l_left.png.meta b/UI/Sprites/Inputs/xbox/xbox_stick_l_left.png.meta new file mode 100644 index 0000000..2906fa1 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_stick_l_left.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: ff02b06558c9342ae9f2ea91382bab94 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_l_press.png b/UI/Sprites/Inputs/xbox/xbox_stick_l_press.png new file mode 100644 index 0000000..9f998e6 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_stick_l_press.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_l_press.png.meta b/UI/Sprites/Inputs/xbox/xbox_stick_l_press.png.meta new file mode 100644 index 0000000..664e342 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_stick_l_press.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 8a370c03ddf85427cbb24f2520724c9d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_l_right.png b/UI/Sprites/Inputs/xbox/xbox_stick_l_right.png new file mode 100644 index 0000000..53df6eb Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_stick_l_right.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_l_right.png.meta b/UI/Sprites/Inputs/xbox/xbox_stick_l_right.png.meta new file mode 100644 index 0000000..8a51acc --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_stick_l_right.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 988fae23529db4ed9be9e943f12b92e5 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_l_up.png b/UI/Sprites/Inputs/xbox/xbox_stick_l_up.png new file mode 100644 index 0000000..297a435 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_stick_l_up.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_l_up.png.meta b/UI/Sprites/Inputs/xbox/xbox_stick_l_up.png.meta new file mode 100644 index 0000000..329b4a8 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_stick_l_up.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: c9b4b12d2854f47b495f4c0c38b6a113 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_l_vertical.png b/UI/Sprites/Inputs/xbox/xbox_stick_l_vertical.png new file mode 100644 index 0000000..b727722 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_stick_l_vertical.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_l_vertical.png.meta b/UI/Sprites/Inputs/xbox/xbox_stick_l_vertical.png.meta new file mode 100644 index 0000000..756cf75 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_stick_l_vertical.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: b8558b6d72f68459f8a5ee9be96643e0 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_r.png b/UI/Sprites/Inputs/xbox/xbox_stick_r.png new file mode 100644 index 0000000..bdeaf51 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_stick_r.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_r.png.meta b/UI/Sprites/Inputs/xbox/xbox_stick_r.png.meta new file mode 100644 index 0000000..aeaba03 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_stick_r.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: fbd11575ff1714bf0872fb11aa0104a5 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_r_down.png b/UI/Sprites/Inputs/xbox/xbox_stick_r_down.png new file mode 100644 index 0000000..0e6e24a Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_stick_r_down.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_r_down.png.meta b/UI/Sprites/Inputs/xbox/xbox_stick_r_down.png.meta new file mode 100644 index 0000000..0f5c0bf --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_stick_r_down.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: ff7906ec9f133484a91215c240aedd41 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_r_horizontal.png b/UI/Sprites/Inputs/xbox/xbox_stick_r_horizontal.png new file mode 100644 index 0000000..7bf0547 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_stick_r_horizontal.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_r_horizontal.png.meta b/UI/Sprites/Inputs/xbox/xbox_stick_r_horizontal.png.meta new file mode 100644 index 0000000..35adcf3 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_stick_r_horizontal.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 8e7d551a3719c40bda0fccf701706bb4 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_r_left.png b/UI/Sprites/Inputs/xbox/xbox_stick_r_left.png new file mode 100644 index 0000000..86418ac Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_stick_r_left.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_r_left.png.meta b/UI/Sprites/Inputs/xbox/xbox_stick_r_left.png.meta new file mode 100644 index 0000000..de7f4c1 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_stick_r_left.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 0c57727aa403245fc9da5dc753cf570f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_r_press.png b/UI/Sprites/Inputs/xbox/xbox_stick_r_press.png new file mode 100644 index 0000000..83f148f Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_stick_r_press.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_r_press.png.meta b/UI/Sprites/Inputs/xbox/xbox_stick_r_press.png.meta new file mode 100644 index 0000000..6ecd174 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_stick_r_press.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 2ffd3f919eda44a368d59da3edc21291 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_r_right.png b/UI/Sprites/Inputs/xbox/xbox_stick_r_right.png new file mode 100644 index 0000000..43814dc Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_stick_r_right.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_r_right.png.meta b/UI/Sprites/Inputs/xbox/xbox_stick_r_right.png.meta new file mode 100644 index 0000000..8b364f7 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_stick_r_right.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 7cba21bef48874f44a8e114ad711031e +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_r_up.png b/UI/Sprites/Inputs/xbox/xbox_stick_r_up.png new file mode 100644 index 0000000..5d8541f Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_stick_r_up.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_r_up.png.meta b/UI/Sprites/Inputs/xbox/xbox_stick_r_up.png.meta new file mode 100644 index 0000000..461f315 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_stick_r_up.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 57363fe0189d24426abf9b99fe1a3bb6 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_r_vertical.png b/UI/Sprites/Inputs/xbox/xbox_stick_r_vertical.png new file mode 100644 index 0000000..95d07d3 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_stick_r_vertical.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_r_vertical.png.meta b/UI/Sprites/Inputs/xbox/xbox_stick_r_vertical.png.meta new file mode 100644 index 0000000..f7c6b7a --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_stick_r_vertical.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 81031b312eb7f4232b9a70b03b060752 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_side_l.png b/UI/Sprites/Inputs/xbox/xbox_stick_side_l.png new file mode 100644 index 0000000..ef5bdb2 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_stick_side_l.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_side_l.png.meta b/UI/Sprites/Inputs/xbox/xbox_stick_side_l.png.meta new file mode 100644 index 0000000..72c0a6d --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_stick_side_l.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 240ac135e3bfb4176bc5a4829c0d143f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_side_r.png b/UI/Sprites/Inputs/xbox/xbox_stick_side_r.png new file mode 100644 index 0000000..1481761 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_stick_side_r.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_side_r.png.meta b/UI/Sprites/Inputs/xbox/xbox_stick_side_r.png.meta new file mode 100644 index 0000000..d85e443 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_stick_side_r.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 22ae1fcc160c24821ae6507cf7c8a8ff +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_top_l.png b/UI/Sprites/Inputs/xbox/xbox_stick_top_l.png new file mode 100644 index 0000000..c64c00f Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_stick_top_l.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_top_l.png.meta b/UI/Sprites/Inputs/xbox/xbox_stick_top_l.png.meta new file mode 100644 index 0000000..ea58a21 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_stick_top_l.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: cf8be7371280b4d0383cffd2d21ba133 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_top_r.png b/UI/Sprites/Inputs/xbox/xbox_stick_top_r.png new file mode 100644 index 0000000..da1adb3 Binary files /dev/null and b/UI/Sprites/Inputs/xbox/xbox_stick_top_r.png differ diff --git a/UI/Sprites/Inputs/xbox/xbox_stick_top_r.png.meta b/UI/Sprites/Inputs/xbox/xbox_stick_top_r.png.meta new file mode 100644 index 0000000..d5553f6 --- /dev/null +++ b/UI/Sprites/Inputs/xbox/xbox_stick_top_r.png.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 204708e1473254a78a7be99b9895d434 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/Playstation/Key=R3.png b/UI/Sprites/Playstation/Key=R3.png new file mode 100644 index 0000000..1da3ff3 Binary files /dev/null and b/UI/Sprites/Playstation/Key=R3.png differ diff --git a/UI/Sprites/Playstation/Key=R3.png.meta b/UI/Sprites/Playstation/Key=R3.png.meta new file mode 100644 index 0000000..933b64e --- /dev/null +++ b/UI/Sprites/Playstation/Key=R3.png.meta @@ -0,0 +1,121 @@ +fileFormatVersion: 2 +guid: 5c09ef3aae3ff0b4a8cb1ce3e11afc72 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/gallery_pip_active.png b/UI/Sprites/gallery_pip_active.png new file mode 100644 index 0000000..5ee4283 Binary files /dev/null and b/UI/Sprites/gallery_pip_active.png differ diff --git a/UI/Sprites/gallery_pip_active.png.meta b/UI/Sprites/gallery_pip_active.png.meta new file mode 100644 index 0000000..0e56ad7 --- /dev/null +++ b/UI/Sprites/gallery_pip_active.png.meta @@ -0,0 +1,145 @@ +fileFormatVersion: 2 +guid: 7f5e355cf70967a49904c720dc55582f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/gradient_10x100.png b/UI/Sprites/gradient_10x100.png new file mode 100644 index 0000000..835a4f7 Binary files /dev/null and b/UI/Sprites/gradient_10x100.png differ diff --git a/UI/Sprites/gradient_10x100.png.meta b/UI/Sprites/gradient_10x100.png.meta new file mode 100644 index 0000000..59d9d4b --- /dev/null +++ b/UI/Sprites/gradient_10x100.png.meta @@ -0,0 +1,169 @@ +fileFormatVersion: 2 +guid: 27a1938d849736a4eb512a5040adabba +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/modio-logo-bluedark.png b/UI/Sprites/modio-logo-bluedark.png new file mode 100644 index 0000000..9ada4b0 Binary files /dev/null and b/UI/Sprites/modio-logo-bluedark.png differ diff --git a/UI/Sprites/modio-logo-bluedark.png.meta b/UI/Sprites/modio-logo-bluedark.png.meta new file mode 100644 index 0000000..06a940f --- /dev/null +++ b/UI/Sprites/modio-logo-bluedark.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: 6c3930fabe617a44cbd5a27687250bf1 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/square_1px.png b/UI/Sprites/square_1px.png new file mode 100644 index 0000000..1fdd319 Binary files /dev/null and b/UI/Sprites/square_1px.png differ diff --git a/UI/Sprites/square_1px.png.meta b/UI/Sprites/square_1px.png.meta new file mode 100644 index 0000000..3045521 --- /dev/null +++ b/UI/Sprites/square_1px.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: dd97d5aa235464c44806842d7e07ac48 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 2, y: 2, z: 2, w: 2} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Sprites/square_2px.png b/UI/Sprites/square_2px.png new file mode 100644 index 0000000..52f915c Binary files /dev/null and b/UI/Sprites/square_2px.png differ diff --git a/UI/Sprites/square_2px.png.meta b/UI/Sprites/square_2px.png.meta new file mode 100644 index 0000000..67b1f62 --- /dev/null +++ b/UI/Sprites/square_2px.png.meta @@ -0,0 +1,193 @@ +fileFormatVersion: 2 +guid: cb9447911c1290045b0daff1383063e2 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 3, y: 3, z: 3, w: 3} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS5 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PS4 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/Translations/TranslationManager.cs b/UI/Translations/TranslationManager.cs index cb81bd8..4e8b088 100644 --- a/UI/Translations/TranslationManager.cs +++ b/UI/Translations/TranslationManager.cs @@ -1,13 +1,14 @@ using UnityEngine; using System.Collections.Generic; -using System.Collections; using System.IO; using TMPro; using System.Linq; using System; +using ModIO; using ModIO.Util; using Plugins.mod.io.UI.Translations; using ModIOBrowser.Implementation; +using Logger = ModIO.Implementation.Logger; #if UNITY_EDITOR using UnityEditor; #endif @@ -230,7 +231,7 @@ public static string Get(Dictionary translations, string key, pa return ReplaceParameters(translation, values); } - Debug.LogWarning($"Unable to find translation for key: \"{key}\""); + Logger.Log(LogLevel.Verbose, $"Unable to find translation for key: \"{key}\""); return "" + key + ""; } @@ -245,7 +246,7 @@ public static string ReplaceParameters(string text, string[] values) try { - while(indexOfClammer != -1) + while(indexOfClammer != -1 && i < values.Length) { int indexOfEndClammer = text.IndexOf('}') + 1; string replacedString = text.Substring(indexOfClammer, indexOfEndClammer - indexOfClammer); @@ -325,7 +326,7 @@ public class DebugUntranslatedStrings public override string ToString() => $"[{item.name}] {item.text}\n{item.transform.FullPath()}"; } - + public void TrackDownUntranslatedStringsRuntime() { untranslatedStringsRuntime = Utility.FindEverythingInScene().Select(x => diff --git a/UI/Utility/Glyphs.cs b/UI/Utility/Glyphs.cs index 730a5de..d0415bf 100644 --- a/UI/Utility/Glyphs.cs +++ b/UI/Utility/Glyphs.cs @@ -13,7 +13,8 @@ class MessageGlyphUpdate : ISimpleMessage { } class Glyphs : SelfInstancingMonoSingleton { private ColorScheme colorScheme; - public GlyphPlatforms PlatformType { get; internal set; } + static GlyphPlatforms _platformType; + public GlyphPlatforms PlatformType { get => _platformType; internal set => _platformType = value; } public Color glyphColorFallback; public Sprite fallbackSprite; @@ -24,7 +25,7 @@ class Glyphs : SelfInstancingMonoSingleton private void Start() { colorScheme = SharedUi.colorScheme; - if(this.PlatformType == default) + if(this.PlatformType == default && SharedUi.settings != null) ChangeGlyphs(SharedUi.settings.GlyphPlatform); } diff --git a/UI/gradient_10x100.png b/UI/gradient_10x100.png new file mode 100644 index 0000000..835a4f7 Binary files /dev/null and b/UI/gradient_10x100.png differ diff --git a/UI/gradient_10x100.png.meta b/UI/gradient_10x100.png.meta new file mode 100644 index 0000000..c102e42 --- /dev/null +++ b/UI/gradient_10x100.png.meta @@ -0,0 +1,169 @@ +fileFormatVersion: 2 +guid: 6afe64dcc59ae194fada669621a13fd9 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: GameCoreScarlett + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Nintendo Switch + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UI/modio.UI.asmdef b/UI/modio.UI.asmdef index ea1910a..2e1355a 100644 --- a/UI/modio.UI.asmdef +++ b/UI/modio.UI.asmdef @@ -5,9 +5,13 @@ "modio.UnityPlugin", "Unity.TextMeshPro", "Unity.GameCore", - "NintendoSDK", "Unity.PSN.PS5.Runtime", - "Unity.InputSystem" + "Unity.InputSystem", + "AppleAuth", + "AppleAuth.Editor", + "GoogleSignIn", + "google.play.games", + "NintendoSDK2020" ], "includePlatforms": [], "excludePlatforms": [], diff --git a/modio.UnityPlugin.asmdef b/modio.UnityPlugin.asmdef index 38c8aea..5a73f51 100644 --- a/modio.UnityPlugin.asmdef +++ b/modio.UnityPlugin.asmdef @@ -2,9 +2,16 @@ "name": "modio.UnityPlugin", "rootNamespace": "", "references": [ - "NintendoSDK", "Unity.PSN.PS5.Runtime", - "Unity.GameCore" + "Unity.GameCore", + "Google.Play.Games", + "Apple.GameKit", + "Unity.Services.Core", + "UnityEngine.Purchasing", + "Unity.Services.Core.Environments", + "UnityEngine.Purchasing.Stores", + "NintendoSDK2020" + ], "includePlatforms": [], "excludePlatforms": [],